1. Thuật toán lập lịch CPU nào sau đây ưu tiên các tiến trình đã chờ trong hàng đợi Ready lâu nhất?
A. Shortest Remaining Time First (SRTF)
B. Highest Response Ratio Next (HRRN)
C. Round Robin (RR)
D. First-Come, First-Served (FCFS)
2. Chức năng cốt lõi nhất của hệ điều hành, đóng vai trò trung gian giữa phần cứng và phần mềm ứng dụng, là gì?
A. Quản lý người dùng
B. Quản lý tài nguyên (CPU, bộ nhớ, I∕O)
C. Cung cấp giao diện đồ họa
D. Thực thi các ứng dụng văn phòng
3. Trong quản lý bộ nhớ, hiện tượng phân mảnh ngoài (external fragmentation) xảy ra khi nào?
A. Các vùng nhớ trống nhỏ nằm rải rác trong bộ nhớ, không đủ lớn để cấp phát cho một tiến trình mới, mặc dù tổng dung lượng trống là đủ.
B. Một phần nhỏ của vùng nhớ được cấp phát cho tiến trình không được sử dụng.
C. Bộ nhớ ảo lớn hơn bộ nhớ vật lý.
D. Dữ liệu bị mất khi hoán đổi giữa RAM và ổ đĩa.
4. Khi một lỗi trang (page fault) xảy ra, hệ điều hành cần thực hiện hành động gì?
A. Kết thúc tiến trình gây ra lỗi trang.
B. Tải trang bị thiếu từ bộ nhớ phụ (ổ đĩa) vào bộ nhớ vật lý.
C. Cấp phát thêm bộ nhớ vật lý cho tiến trình.
D. Bỏ qua lỗi và tiếp tục thực thi.
5. Thuật toán thay thế trang nào sau đây được coi là tối ưu (Optimal) nhưng không thể triển khai trên thực tế vì nó đòi hỏi kiến thức về tương lai?
A. First-In, First-Out (FIFO)
B. Least Recently Used (LRU)
C. Most Recently Used (MRU)
D. Optimal (OPT)
6. Trong hệ thống file, phương pháp cấp phát file nào dễ bị phân mảnh ngoài (external fragmentation) nhất?
A. Cấp phát liên kết (Linked allocation)
B. Cấp phát chỉ mục (Indexed allocation)
C. Cấp phát liên tục (Contiguous allocation)
D. Cấp phát theo cây (Tree allocation)
7. Kỹ thuật quản lý bộ nhớ nào chia bộ nhớ vật lý thành các khung (frames) có kích thước cố định và bộ nhớ logic thành các trang (pages) có cùng kích thước?
A. Phân đoạn (Segmentation)
B. Phân trang (Paging)
C. Phân vùng động (Dynamic Partitioning)
D. Overlay (Che phủ)
8. Cơ chế đồng bộ hóa nào sau đây là một biến số (integer variable) được truy cập thông qua hai thao tác nguyên tố (atomic operations): wait() và signal()?
A. Mutex lock
B. Monitor
C. Semaphore
D. Spinlock
9. Trong kỹ thuật phân trang theo yêu cầu (Demand Paging), tỷ lệ lỗi trang (page fault rate) cao có thể chỉ ra điều gì?
A. Hệ thống có đủ bộ nhớ vật lý.
B. Thuật toán thay thế trang đang hoạt động hiệu quả.
C. Tiến trình đang truy cập các trang nằm rải rác (locality of reference kém) hoặc bộ nhớ vật lý không đủ.
D. CPU đang được sử dụng hiệu quả.
10. Trong vấn đề Nhà sản xuất - Người tiêu dùng (Producer-Consumer Problem), nếu bộ đệm đầy, điều gì xảy ra với tiến trình Nhà sản xuất khi sử dụng semaphore để đồng bộ hóa?
A. Tiến trình Nhà sản xuất sẽ tiếp tục thêm mục vào bộ đệm.
B. Tiến trình Nhà sản xuất sẽ bị khóa (block) cho đến khi có chỗ trống trong bộ đệm.
C. Tiến trình Nhà sản xuất sẽ kết thúc.
D. Tiến trình Nhà sản xuất sẽ báo lỗi.
11. Sự khác biệt cơ bản giữa kiến trúc Microkernel và Monolithic kernel là gì?
A. Microkernel nhỏ hơn và chỉ chứa các chức năng thiết yếu nhất trong không gian hạt nhân, còn lại chạy ở không gian người dùng.
B. Monolithic kernel cung cấp khả năng bảo mật tốt hơn Microkernel.
C. Microkernel có hiệu suất cao hơn Monolithic kernel.
D. Monolithic kernel dễ mở rộng hơn Microkernel.
12. Trong lập lịch Round Robin, việc chọn quantum thời gian (time quantum) quá nhỏ có thể dẫn đến hậu quả gì?
A. Tăng thời gian chờ trung bình của các tiến trình.
B. Giảm số lần chuyển đổi ngữ cảnh.
C. Tăng chi phí chuyển đổi ngữ cảnh (context switching), làm giảm hiệu suất tổng thể.
D. Đảm bảo tất cả các tiến trình hoàn thành nhanh hơn.
13. Thuật toán lập lịch CPU nào sau đây có thể dẫn đến tình trạng `đói′ (starvation) cho các tiến trình có độ ưu tiên thấp?
A. First-Come, First-Served (FCFS)
B. Round Robin (RR)
C. Priority Scheduling (Lập lịch theo độ ưu tiên)
D. Shortest Job First (SJF - không độc quyền)
14. Trong quản lý bế tắc, phương pháp `Ngăn chặn bế tắc′ (Deadlock Prevention) hoạt động dựa trên nguyên tắc nào?
A. Cho phép bế tắc xảy ra và sau đó phát hiện và phục hồi.
B. Đảm bảo rằng ít nhất một trong bốn điều kiện cần thiết cho bế tắc không thể xảy ra.
C. Kiểm tra trạng thái hệ thống để tránh đi vào trạng thái không an toàn.
D. Kết thúc các tiến trình bị bế tắc.
15. Điều gì xảy ra khi một tiến trình cố gắng truy cập vào một địa chỉ bộ nhớ logic không hợp lệ hoặc không được cấp phát cho nó?
A. Hệ điều hành sẽ cấp phát bộ nhớ cho địa chỉ đó.
B. Hệ điều hành sẽ gây ra lỗi phân đoạn (segmentation fault) hoặc lỗi bảo vệ bộ nhớ.
C. Tiến trình sẽ tự động sửa lỗi.
D. Dữ liệu tại địa chỉ đó sẽ được trả về giá trị mặc định.
16. Trong các trạng thái của tiến trình (process), trạng thái nào biểu thị tiến trình đang chờ một sự kiện (ví dụ: hoàn thành I∕O, nhận tín hiệu) để tiếp tục thực thi?
A. Running (Đang chạy)
B. Ready (Sẵn sàng)
C. Waiting∕Blocked (Chờ∕Bị khóa)
D. Terminated (Kết thúc)
17. Trong hệ thống file, cấu trúc thư mục dạng cây (tree-structured directories) mang lại lợi ích gì?
A. Chỉ cho phép một người dùng duy nhất truy cập hệ thống.
B. Giúp tổ chức file một cách phân cấp và có hệ thống.
C. Giảm dung lượng lưu trữ cần thiết cho các file.
D. Ngăn chặn việc tạo các thư mục con.
18. Vấn đề tranh chấp (Race Condition) xảy ra khi nào trong môi trường đa tiến trình∕đa luồng?
A. Khi hai tiến trình cố gắng truy cập các thiết bị I∕O khác nhau cùng lúc.
B. Khi kết quả của việc thực thi phụ thuộc vào thứ tự không xác định mà các tiến trình∕luồng truy cập và thao tác trên dữ liệu chia sẻ.
C. Khi một tiến trình sử dụng toàn bộ tài nguyên CPU.
D. Khi bộ nhớ vật lý không đủ cho tất cả các tiến trình.
19. Vai trò chính của bộ nhớ ảo (Virtual Memory) là gì?
A. Tăng tốc độ truy cập bộ nhớ vật lý.
B. Cho phép các tiến trình sử dụng không gian địa chỉ logic lớn hơn bộ nhớ vật lý có sẵn.
C. Giảm thiểu số lượng tiến trình có thể chạy đồng thời.
D. Cung cấp một lớp bảo vệ chống virus.
20. Kiến trúc hạt nhân (kernel) nào sau đây tích hợp hầu hết các chức năng của hệ điều hành (quản lý tiến trình, bộ nhớ, hệ thống file, driver thiết bị) vào một không gian địa chỉ duy nhất?
A. Microkernel
B. Monolithic kernel
C. Hybrid kernel
D. Exokernel
21. Ưu điểm chính của việc sử dụng luồng (thread) so với tiến trình (process) trong cùng một ứng dụng là gì?
A. Mỗi luồng có không gian địa chỉ bộ nhớ riêng biệt, tăng cường bảo mật.
B. Việc tạo và chuyển đổi ngữ cảnh giữa các luồng nhanh hơn nhiều so với tiến trình.
C. Các luồng trong cùng một tiến trình không thể chia sẻ dữ liệu.
D. Luồng yêu cầu nhiều tài nguyên hệ thống hơn tiến trình.
22. Trong quản lý I∕O, DMA (Direct Memory Access) giúp cải thiện hiệu suất bằng cách nào?
A. Giảm số lượng ngắt mà CPU phải xử lý trong quá trình truyền dữ liệu I∕O.
B. Cho phép CPU truy cập trực tiếp các thiết bị I∕O.
C. Tăng tốc độ của thiết bị I∕O.
D. Giảm kích thước của bộ đệm I∕O.
23. Tại sao thuật toán lập lịch SJF (Shortest Job First) độc quyền lại được coi là tối ưu về thời gian chờ trung bình, nhưng khó triển khai trên thực tế?
A. Nó yêu cầu biết trước thời gian chạy tiếp theo của CPU burst cho mỗi tiến trình.
B. Nó dễ dẫn đến bế tắc.
C. Nó không hỗ trợ đa nhiệm.
D. Nó có chi phí chuyển đổi ngữ cảnh rất cao.
24. Một hệ thống thời gian thực (Real-time operating system - RTOS) khác biệt chủ yếu với HĐH thông thường ở điểm nào?
A. Nó có giao diện đồ họa đẹp hơn.
B. Nó ưu tiên tính đúng đắn của kết quả hơn thời gian phản hồi.
C. Nó có khả năng phản hồi các sự kiện trong một khoảng thời gian xác định, thường là rất ngắn.
D. Nó chỉ chạy một ứng dụng duy nhất tại một thời điểm.
25. Một System Call là gì?
A. Một lệnh trực tiếp được thực thi bởi phần cứng.
B. Một yêu cầu từ chương trình ứng dụng gửi đến hệ điều hành để thực hiện một dịch vụ.
C. Một tín hiệu được gửi giữa các tiến trình.
D. Một lỗi xảy ra trong quá trình thực thi chương trình.
26. Mục đích chính của bộ đệm (buffering) trong quản lý I∕O là gì?
A. Tăng tốc độ tính toán của CPU.
B. Giảm sự khác biệt về tốc độ giữa CPU và thiết bị I∕O.
C. Cung cấp giao diện người dùng thân thiện hơn.
D. Quản lý quyền truy cập file.
27. Điều kiện nào sau đây KHÔNG phải là một trong bốn điều kiện cần thiết để xảy ra tình trạng bế tắc (deadlock)?
A. Mutual Exclusion (Độc quyền tương hỗ)
B. Hold and Wait (Giữ và chờ)
C. Preemption (Chiếm quyền)
D. Circular Wait (Chờ vòng)
28. Tại sao việc bật∕tắt ngắt (interrupt disable∕enable) không phải là giải pháp đồng bộ hóa hiệu quả trong hệ thống đa xử lý?
A. Nó không hoạt động trên hệ thống đa xử lý.
B. Nó làm giảm hiệu suất hệ thống đáng kể vì ngăn chặn tất cả các ngắt.
C. Nó chỉ giải quyết được vấn đề độc quyền tương hỗ.
D. Nó có thể dẫn đến bế tắc.
29. Lợi ích chính của việc sử dụng bộ nhớ đệm (caching) trong hệ thống file là gì?
A. Tăng dung lượng lưu trữ của ổ đĩa.
B. Giảm số lần truy cập vật lý vào ổ đĩa chậm bằng cách lưu trữ dữ liệu thường dùng trong RAM.
C. Đảm bảo tính toàn vẹn dữ liệu tuyệt đối.
D. Cung cấp cơ chế mã hóa dữ liệu.
30. Khi sử dụng bộ nhớ ảo với phân trang, bảng trang (page table) của mỗi tiến trình chứa thông tin gì?
A. Danh sách các file mà tiến trình đang mở.
B. Trạng thái hiện tại của tiến trình (Running, Ready, Waiting).
C. Ánh xạ từ địa chỉ trang logic sang địa chỉ khung vật lý.
D. Độ ưu tiên của tiến trình.