1. Chức năng chính của hệ điều hành là gì?
A. Quản lý phần cứng máy tính và cung cấp môi trường để chạy ứng dụng.
B. Chỉ chạy các ứng dụng văn phòng.
C. Chỉ kết nối với mạng Internet.
D. Soạn thảo văn bản và bảng tính.
2. Thành phần nào của hệ điều hành chịu trách nhiệm cấp phát và thu hồi bộ nhớ cho các tiến trình?
A. Bộ quản lý tiến trình (Process Manager)
B. Bộ quản lý bộ nhớ (Memory Manager)
C. Bộ quản lý tập tin (File Manager)
D. Bộ quản lý thiết bị (Device Manager)
3. Thuật toán lập lịch nào ưu tiên các tiến trình có thời gian thực hiện ngắn nhất và có thể dẫn đến tình trạng "đói" tài nguyên cho các tiến trình dài?
A. FIFO (First-In, First-Out)
B. Round Robin
C. SJF (Shortest Job First)
D. Priority Scheduling
4. Trong ngữ cảnh hệ điều hành, "tiến trình" (process) được hiểu là gì?
A. Một đoạn mã chương trình tĩnh được lưu trữ trên đĩa.
B. Một phiên bản đang chạy của một chương trình.
C. Một thiết bị phần cứng như CPU hoặc RAM.
D. Một loại virus máy tính.
5. Kỹ thuật bộ nhớ ảo (Virtual Memory) giúp giải quyết vấn đề gì?
A. Tăng tốc độ truy cập bộ nhớ vật lý.
B. Cho phép chạy các chương trình lớn hơn dung lượng bộ nhớ vật lý.
C. Giảm thiểu tình trạng phân mảnh bộ nhớ ngoài.
D. Bảo vệ bộ nhớ khỏi virus.
6. Hệ điều hành thời gian thực (Real-time Operating System - RTOS) thường được sử dụng trong các ứng dụng nào?
A. Máy tính cá nhân để bàn.
B. Điện thoại thông minh.
C. Hệ thống điều khiển công nghiệp và thiết bị nhúng.
D. Máy chủ web.
7. Điều gì xảy ra khi một tiến trình chuyển từ trạng thái "Đang chạy" (Running) sang trạng thái "Chờ" (Waiting)?
A. Tiến trình hoàn thành việc thực thi và kết thúc.
B. Tiến trình được cấp phát CPU để tiếp tục thực thi.
C. Tiến trình tạm dừng thực thi để chờ một sự kiện nào đó xảy ra (ví dụ: hoàn thành I/O).
D. Tiến trình bị hệ điều hành hủy bỏ do lỗi.
8. Loại cấu trúc hệ điều hành nào mà các dịch vụ hệ thống và nhân (kernel) được tích hợp chung vào một không gian địa chỉ lớn?
A. Microkernel
B. Monolithic Kernel
C. Layered Kernel
D. Hybrid Kernel
9. Trong quản lý bộ nhớ, "phân trang" (paging) là kỹ thuật để làm gì?
A. Chia bộ nhớ thành các đoạn có kích thước thay đổi.
B. Chia bộ nhớ thành các khung trang (page frame) và chương trình thành các trang (page) có kích thước cố định.
C. Tối ưu hóa việc sử dụng bộ nhớ cache.
D. Bảo vệ bộ nhớ bằng cách mã hóa dữ liệu.
10. Ví dụ nào sau đây thể hiện rõ nhất vai trò của hệ điều hành trong việc quản lý tài nguyên phần cứng?
A. Bạn có thể nghe nhạc trong khi duyệt web trên máy tính.
B. Bạn có thể soạn thảo văn bản bằng Microsoft Word.
C. Bạn có thể xem video trên YouTube.
D. Bạn có thể chơi game đồ họa cao.
11. Điểm khác biệt chính giữa hệ điều hành "chia sẻ thời gian" (Time-sharing) và hệ điều hành "theo lô" (Batch) là gì?
A. Hệ điều hành chia sẻ thời gian chỉ chạy một chương trình tại một thời điểm.
B. Hệ điều hành theo lô tương tác trực tiếp với người dùng, còn hệ điều hành chia sẻ thời gian thì không.
C. Hệ điều hành chia sẻ thời gian cho phép nhiều người dùng tương tác đồng thời, còn hệ điều hành theo lô xử lý các lô công việc tuần tự.
D. Hệ điều hành theo lô nhanh hơn hệ điều hành chia sẻ thời gian.
12. Trong hệ thống tập tin, "inode" được sử dụng để lưu trữ thông tin gì về một tập tin?
A. Nội dung của tập tin.
B. Tên của tập tin.
C. Siêu dữ liệu (metadata) của tập tin như quyền truy cập, kích thước, thời gian tạo, vị trí dữ liệu trên đĩa.
D. Đường dẫn đầy đủ đến tập tin.
13. Phương pháp bảo mật nào của hệ điều hành giúp kiểm soát quyền truy cập của người dùng và tiến trình vào các tài nguyên hệ thống?
A. Mã hóa dữ liệu (Data encryption)
B. Kiểm soát truy cập (Access control)
C. Tường lửa (Firewall)
D. Chống virus (Antivirus)
14. Hệ điều hành Android và iOS thuộc loại hệ điều hành nào?
A. Hệ điều hành nhúng (Embedded Operating System)
B. Hệ điều hành máy chủ (Server Operating System)
C. Hệ điều hành thời gian thực (Real-time Operating System)
D. Hệ điều hành phân tán (Distributed Operating System)
15. Trong ngữ cảnh quản lý tiến trình, "context switching" là gì?
A. Quá trình tạo ra một tiến trình mới.
B. Quá trình chuyển đổi CPU từ một tiến trình đang chạy sang một tiến trình khác.
C. Quá trình cấp phát bộ nhớ cho một tiến trình.
D. Quá trình giải phóng tài nguyên khi một tiến trình kết thúc.
16. Nguyên lý cốt lõi nào KHÔNG thuộc về hệ điều hành?
A. Quản lý tài nguyên phần cứng
B. Cung cấp giao diện người dùng
C. Quản lý các ứng dụng của người dùng
D. Phát triển và biên dịch mã nguồn chương trình
17. Trong ngữ cảnh quản lý bộ nhớ, "phân trang" (paging) giải quyết vấn đề nào sau đây?
A. Tăng tốc độ truy xuất dữ liệu từ ổ cứng
B. Cho phép các tiến trình chia sẻ bộ nhớ vật lý
C. Giảm thiểu hiện tượng phân mảnh bộ nhớ ngoài
D. Cung cấp bộ nhớ ảo lớn hơn bộ nhớ vật lý
18. Bạn đang sử dụng một phần mềm chỉnh sửa ảnh lớn trên máy tính cá nhân. Khi phần mềm này chậm chạp và máy tính có vẻ ì ạch, nguyên nhân có thể liên quan đến vấn đề nào trong hệ điều hành?
A. Lỗi hệ thống tập tin
B. Quá tải CPU hoặc bộ nhớ
C. Virus hoặc phần mềm độc hại
D. Xung đột phần cứng
19. Điểm khác biệt chính giữa "tiến trình" (process) và "luồng" (thread) trong hệ điều hành là gì?
A. Tiến trình là đơn vị thực thi nhỏ hơn luồng
B. Tiến trình chia sẻ không gian bộ nhớ, luồng thì không
C. Tiến trình có không gian bộ nhớ riêng, luồng chia sẻ không gian bộ nhớ của tiến trình cha
D. Luồng có thể chạy độc lập trên các CPU khác nhau, tiến trình thì không
20. Thuật toán lập lịch CPU "Round Robin" (RR) thường được sử dụng trong loại hệ điều hành nào?
A. Hệ điều hành thời gian thực (Real-time OS)
B. Hệ điều hành theo lô (Batch OS)
C. Hệ điều hành chia sẻ thời gian (Time-sharing OS)
D. Hệ điều hành nhúng (Embedded OS)
21. Trong quản lý bộ nhớ ảo, "thrashing" xảy ra khi nào?
A. Khi bộ nhớ vật lý gần đầy
B. Khi CPU quá tải
C. Khi hệ thống liên tục hoán đổi trang (page swapping) với ổ cứng
D. Khi có quá nhiều tiến trình đang chạy
22. Khi một tiến trình muốn truy cập vào một tài nguyên dùng chung (ví dụ: biến toàn cục), cơ chế đồng bộ hóa nào thường được sử dụng để đảm bảo tính toàn vẹn dữ liệu?
A. FIFO (First-In, First-Out)
B. Mutex (Mutual Exclusion)
C. SJF (Shortest Job First)
D. LIFO (Last-In, First-Out)
23. Hệ điều hành "thời gian thực" (Real-time OS) được thiết kế chủ yếu cho các ứng dụng nào?
A. Ứng dụng văn phòng và duyệt web
B. Ứng dụng chơi game và đa phương tiện
C. Ứng dụng điều khiển hệ thống và công nghiệp
D. Ứng dụng máy chủ và cơ sở dữ liệu
24. Trong ngữ cảnh hệ thống tập tin, "inode" (index node) chứa thông tin gì?
A. Dữ liệu của tập tin
B. Tên của tập tin
C. Metadata của tập tin (quyền truy cập, kích thước, thời gian sửa đổi...)
D. Đường dẫn (path) đến tập tin
25. Khi một tiến trình yêu cầu một tài nguyên nhưng tài nguyên đó đang được giữ bởi một tiến trình khác, và cả hai tiến trình đều chờ đợi lẫn nhau để giải phóng tài nguyên, tình huống này được gọi là gì?
A. Đoạn găng (Critical Section)
B. Bế tắc (Deadlock)
C. Đoạn tranh chấp (Race Condition)
D. Hoán đổi (Swapping)
26. Trong bảo mật hệ điều hành, "ACL" (Access Control List) được sử dụng để làm gì?
A. Kiểm soát truy cập vào tài nguyên hệ thống
B. Phát hiện và loại bỏ virus
C. Mã hóa dữ liệu trên ổ cứng
D. Quản lý mật khẩu người dùng
27. So sánh hệ điều hành "nguyên khối" (Monolithic Kernel) và "vi nhân" (Microkernel), ưu điểm chính của vi nhân là gì?
A. Hiệu suất cao hơn do ít lớp trung gian
B. Dễ dàng mở rộng và bảo trì do kiến trúc modular
C. Ít tài nguyên hệ thống hơn
D. Tương thích với nhiều loại phần cứng hơn
28. Hệ thống "ngắt" (interrupt) trong hệ điều hành đóng vai trò gì?
A. Tăng tốc độ xử lý của CPU
B. Cho phép hệ điều hành xử lý các sự kiện không đồng bộ
C. Quản lý bộ nhớ hiệu quả hơn
D. Bảo vệ hệ thống khỏi virus
29. Khi bạn khởi động máy tính, chương trình đầu tiên được thực thi thường là gì?
A. Trình quản lý tập tin (File Explorer/Finder)
B. Nhân hệ điều hành (Kernel)
C. Trình duyệt web (Web Browser)
D. Trình biên dịch (Compiler)
30. Trong ngữ cảnh quản lý I/O, "DMA" (Direct Memory Access) là kỹ thuật nào?
A. Truyền dữ liệu trực tiếp giữa bộ nhớ và thiết bị ngoại vi mà không cần CPU can thiệp
B. Chia sẻ bộ nhớ giữa CPU và GPU
C. Tăng tốc độ truy cập bộ nhớ cache
D. Giảm thiểu xung đột bộ nhớ
31. Thành phần nào của hệ điều hành chịu trách nhiệm quản lý và phân phối tài nguyên hệ thống (CPU, bộ nhớ, thiết bị ngoại vi) cho các chương trình ứng dụng?
A. Shell
B. Kernel
C. Trình biên dịch
D. Thư viện hệ thống
32. Tiến trình (Process) và luồng (Thread) khác nhau cơ bản ở điểm nào?
A. Tiến trình chia sẻ bộ nhớ, luồng thì không.
B. Tiến trình là đơn vị thực thi nhỏ hơn luồng.
C. Tiến trình có không gian địa chỉ riêng, luồng chia sẻ không gian địa chỉ của tiến trình cha.
D. Tiến trình chỉ thực thi tuần tự, luồng có thể thực thi song song.
33. Thuật toán lập lịch CPU "Round Robin" hoạt động theo nguyên tắc nào?
A. Ưu tiên tiến trình có thời gian thực thi ngắn nhất.
B. Mỗi tiến trình được cấp một lượng thời gian CPU cố định, sau đó chuyển sang tiến trình khác.
C. Ưu tiên tiến trình có độ ưu tiên cao hơn.
D. Tiến trình nào đến trước được phục vụ trước.
34. Trong quản lý bộ nhớ, kỹ thuật "phân trang" (paging) giúp giải quyết vấn đề gì?
A. Giảm thiểu phân mảnh ngoại vi.
B. Tăng tốc độ truy cập bộ nhớ.
C. Cho phép tiến trình lớn hơn kích thước bộ nhớ vật lý chạy được.
D. Đơn giản hóa việc quản lý bộ nhớ.
35. Nguyên tắc "locality of reference" (tính cục bộ tham chiếu) có ý nghĩa gì trong quản lý bộ nhớ cache và bộ nhớ ảo?
A. Giảm thiểu xung đột bộ nhớ.
B. Tăng khả năng dự đoán vị trí dữ liệu sẽ được truy cập tiếp theo.
C. Tối ưu hóa việc cấp phát bộ nhớ.
D. Đảm bảo tính toàn vẹn dữ liệu trong bộ nhớ.
36. Điểm khác biệt chính giữa hệ điều hành thời gian thực (Real-time OS) và hệ điều hành đa nhiệm thông thường là gì?
A. Hệ điều hành thời gian thực có giao diện đồ họa, hệ điều hành đa nhiệm thì không.
B. Hệ điều hành thời gian thực đảm bảo thời gian phản hồi cho các tác vụ quan trọng, hệ điều hành đa nhiệm tập trung vào hiệu suất tổng thể.
C. Hệ điều hành thời gian thực chỉ chạy trên phần cứng chuyên dụng.
D. Hệ điều hành thời gian thực không hỗ trợ đa nhiệm.
37. Trong ngữ cảnh hệ điều hành, "deadlock" (bế tắc) xảy ra khi nào?
A. Khi một tiến trình cố gắng truy cập vào vùng nhớ không được cấp phép.
B. Khi hai hoặc nhiều tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên mà chúng đang giữ.
C. Khi hệ thống quá tải và không thể xử lý thêm tiến trình.
D. Khi một tiến trình gặp lỗi và bị treo.
38. Cơ chế "semaphore" được sử dụng để giải quyết vấn đề gì trong lập trình đa luồng/đa tiến trình?
A. Ngăn chặn tràn bộ đệm.
B. Đảm bảo đồng bộ hóa và loại trừ lẫn nhau khi truy cập tài nguyên dùng chung.
C. Tăng tốc độ giao tiếp giữa các tiến trình.
D. Quản lý bộ nhớ hiệu quả hơn.
39. Hệ thống tập tin (File System) có vai trò chính gì trong hệ điều hành?
A. Quản lý bộ nhớ chính.
B. Quản lý các thiết bị nhập/xuất.
C. Tổ chức và quản lý dữ liệu trên bộ nhớ thứ cấp (ổ cứng, SSD...).
D. Cung cấp giao diện người dùng.
40. Khi một chương trình người dùng muốn thực hiện một tác vụ đặc quyền (ví dụ: truy cập trực tiếp phần cứng), nó cần phải sử dụng cơ chế nào của hệ điều hành?
A. Ngắt (Interrupt).
B. Lời gọi hệ thống (System call).
C. Thư viện liên kết động (Dynamic Link Library).
D. Bộ nhớ ảo (Virtual memory).
41. Trong bảo mật hệ điều hành, cơ chế "Access Control List" (ACL) được sử dụng để làm gì?
A. Mã hóa dữ liệu.
B. Xác thực người dùng.
C. Kiểm soát quyền truy cập của người dùng và tiến trình đến các tài nguyên hệ thống.
D. Phát hiện xâm nhập.
42. Hãy so sánh cơ chế "preemptive scheduling" (lập lịch độc quyền) và "non-preemptive scheduling" (lập lịch không độc quyền). Điểm khác biệt quan trọng nhất là gì?
A. Preemptive scheduling phức tạp hơn non-preemptive scheduling.
B. Trong preemptive scheduling, tiến trình đang chạy có thể bị hệ điều hành "cướp" CPU, còn non-preemptive thì không.
C. Non-preemptive scheduling hiệu quả hơn preemptive scheduling trong việc sử dụng CPU.
D. Preemptive scheduling chỉ dùng cho hệ thống đa nhiệm thời gian thực.
43. Ứng dụng của "virtualization" (ảo hóa) trong hệ điều hành là gì?
A. Tăng tốc độ xử lý của CPU.
B. Cho phép chạy nhiều hệ điều hành khác nhau trên cùng một phần cứng vật lý.
C. Cải thiện khả năng quản lý bộ nhớ.
D. Đơn giản hóa việc cài đặt phần mềm.
44. Trong quản lý bộ nhớ ảo, "page fault" (lỗi trang) xảy ra khi nào?
A. Khi bộ nhớ vật lý đầy.
B. Khi tiến trình cố gắng truy cập vào một trang không có trong bộ nhớ vật lý.
C. Khi xảy ra lỗi phần cứng bộ nhớ.
D. Khi tiến trình vượt quá giới hạn bộ nhớ được cấp phát.
45. Xét về hiệu năng, việc sử dụng nhiều luồng (threads) trong một tiến trình (process) có thể mang lại lợi ích gì so với việc sử dụng nhiều tiến trình độc lập?
A. Giảm thiểu rủi ro deadlock.
B. Tăng tính bảo mật của hệ thống.
C. Giảm chi phí chuyển đổi ngữ cảnh (context switching) và chia sẻ dữ liệu hiệu quả hơn.
D. Đơn giản hóa việc lập trình.
46. Chức năng chính của hệ điều hành là gì?
A. Cung cấp giao diện đồ họa người dùng đẹp mắt.
B. Quản lý và phân phối tài nguyên hệ thống một cách hiệu quả.
C. Tăng tốc độ xử lý của CPU.
D. Bảo vệ máy tính khỏi virus và phần mềm độc hại.
47. Trong một hệ thống đa nhiệm, khi một tiến trình đang chờ tài nguyên (ví dụ: dữ liệu từ ổ cứng), hệ điều hành sẽ thực hiện hành động nào sau đây để tối ưu hiệu suất?
A. Hệ điều hành sẽ tạm dừng toàn bộ hệ thống cho đến khi tiến trình đó nhận được tài nguyên.
B. Hệ điều hành sẽ hủy bỏ tiến trình đang chờ để giải phóng tài nguyên.
C. Hệ điều hành sẽ chuyển CPU sang tiến trình khác đang ở trạng thái sẵn sàng để thực thi.
D. Hệ điều hành sẽ khởi động lại máy tính để giải quyết tình trạng chờ tài nguyên.
48. Khi bạn mở một tập tin văn bản trên máy tính, hành động này liên quan trực tiếp đến thành phần nào của hệ điều hành?
A. Bộ lập lịch tiến trình (Process Scheduler)
B. Bộ quản lý bộ nhớ (Memory Manager)
C. Bộ quản lý tập tin (File System Manager)
D. Bộ quản lý thiết bị (Device Manager)
49. Điểm khác biệt chính giữa hệ điều hành thời gian thực (Real-time Operating System - RTOS) và hệ điều hành thông thường (General-purpose Operating System) là gì?
A. RTOS chỉ hỗ trợ giao diện dòng lệnh, trong khi hệ điều hành thông thường hỗ trợ giao diện đồ họa.
B. RTOS tập trung vào tính đúng thời gian và đáp ứng sự kiện trong khoảng thời gian giới hạn nghiêm ngặt, trong khi hệ điều hành thông thường ưu tiên hiệu suất trung bình.
C. RTOS có khả năng bảo mật cao hơn hệ điều hành thông thường.
D. RTOS chỉ chạy trên các thiết bị di động, còn hệ điều hành thông thường chạy trên máy tính để bàn.
50. Trong kiến trúc hệ điều hành, "system call" (lời gọi hệ thống) đóng vai trò như một cầu nối giữa:
A. Phần cứng máy tính và người dùng cuối.
B. Ứng dụng người dùng và nhân hệ điều hành (kernel).
C. Các tiến trình khác nhau đang chạy trên hệ thống.
D. Bộ nhớ chính (RAM) và bộ nhớ thứ cấp (ổ cứng).