1. Điều kiện nào sau đây là cần thiết nhưng chưa đủ để xảy ra deadlock?
A. Loại trừ lẫn nhau (Mutual Exclusion)
B. Giữ và chờ (Hold and Wait)
C. Không chiếm giữ (No Preemption)
D. Tất cả các điều kiện trên đều cần thiết
2. Trong quản lý I∕O, kỹ thuật nào cho phép thiết bị I∕O truyền dữ liệu trực tiếp đến bộ nhớ chính mà không cần sự can thiệp liên tục của CPU?
A. Polling
B. Interrupt-driven I∕O
C. Direct Memory Access (DMA)
D. Spooling
3. Trong lập lịch CPU, thuật toán nào ưu tiên các tiến trình có thời gian thực thi ngắn nhất?
A. First-Come, First-Served (FCFS)
B. Shortest-Job-First (SJF)
C. Round Robin (RR)
D. Priority Scheduling
4. Ưu điểm chính của kỹ thuật phân trang (Paging) trong quản lý bộ nhớ là gì?
A. Giảm thiểu phân mảnh ngoài (External Fragmentation)
B. Tăng tốc độ truy cập bộ nhớ đĩa
C. Giảm thiểu phân mảnh trong (Internal Fragmentation)
D. Đơn giản hóa việc cấp phát bộ nhớ liên tục
5. Chức năng chính nào sau đây 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 cho người dùng
C. Biên dịch mã nguồn chương trình
D. Thực thi và quản lý các tiến trình
6. Thành phần nào của hệ điều hành chịu trách nhiệm phân phối thời gian CPU cho các tiến trình?
A. Bộ quản lý bộ nhớ
B. Bộ lập lịch CPU
C. Hệ thống quản lý file
D. Bộ quản lý I∕O
7. Kỹ thuật nào trong quản lý bộ nhớ liên quan đến việc chia chương trình thành các đơn vị logic có kích thước khác nhau?
A. Phân trang (Paging)
B. Phân đoạn (Segmentation)
C. Swapping
D. Phân vùng (Partitioning)
8. Trạng thái nào sau đây mô tả một tiến trình đang chờ một sự kiện (ví dụ: hoàn thành I∕O) để tiếp tục thực thi?
A. Ready
B. Running
C. Waiting (Blocked)
D. Terminated
9. Mục đích của việc sử dụng các lời gọi hệ thống (System Calls) là gì?
A. Để các chương trình ứng dụng truy cập trực tiếp phần cứng
B. Để cung cấp giao diện chuẩn cho các chương trình ứng dụng yêu cầu dịch vụ từ hệ điều hành
C. Để hệ điều hành giao tiếp với trình biên dịch
D. Để người dùng tương tác trực tiếp với kernel
10. Điều nào sau đây là một kỹ thuật phòng chống deadlock?
A. Cho phép tất cả 4 điều kiện deadlock xảy ra rồi phát hiện và phục hồi.
B. Đảm bảo rằng ít nhất một trong 4 điều kiện cần thiết cho deadlock không bao giờ xảy ra.
C. Sử dụng thuật toán Banker để kiểm tra trạng thái an toàn trước khi cấp phát tài nguyên.
D. Định kỳ kiểm tra xem có deadlock xảy ra không.
11. Khái niệm `vùng găng′ (Critical Section) trong đồng bộ hóa tiến trình đề cập đến điều gì?
A. Một đoạn mã chỉ có thể được thực thi bởi một tiến trình tại một thời điểm.
B. Một đoạn mã chứa các lời gọi hệ thống.
C. Một vùng bộ nhớ được chia sẻ bởi nhiều tiến trình.
D. Phần mã khởi tạo của một tiến trình.
12. Thuật toán thay thế trang LRU (Least Recently Used) hoạt động dựa trên nguyên tắc nào?
A. Thay thế trang đã ở trong bộ nhớ lâu nhất.
B. Thay thế trang sẽ không được sử dụng trong tương lai gần nhất.
C. Thay thế trang đã không được sử dụng trong khoảng thời gian dài nhất.
D. Thay thế trang được sử dụng ít nhất.
13. Phân mảnh trong (Internal Fragmentation) xảy ra khi nào trong quản lý bộ nhớ?
A. Có các khoảng trống bộ nhớ nhỏ nằm rải rác giữa các vùng bộ nhớ được cấp phát.
B. Kích thước của một vùng bộ nhớ được cấp phát lớn hơn kích thước thực tế mà tiến trình cần, và phần bộ nhớ thừa bên trong vùng đó không được sử dụng.
C. Toàn bộ tiến trình không thể được nạp vào bộ nhớ do không tìm được một vùng liên tục đủ lớn.
D. Bộ nhớ bị chia thành các phân đoạn có kích thước khác nhau.
14. Trong lập lịch CPU, thuật toán Round Robin (RR) hoạt động dựa trên nguyên tắc nào?
A. Tiến trình có thời gian burst ngắn nhất được ưu tiên.
B. Các tiến trình được cấp phát CPU theo thứ tự đến trước, phục vụ trước.
C. Mỗi tiến trình được cấp phát một lượng thời gian nhỏ (quantum) để thực thi, sau đó bị tạm dừng và chuyển sang cuối hàng đợi.
D. Tiến trình có mức độ ưu tiên cao nhất được thực thi trước.
15. Trong quản lý tệp, phương pháp cấp phát tệp nào lưu trữ các khối của một tệp ở các vị trí vật lý không nhất thiết phải liên tục và sử dụng con trỏ để liên kết các khối đó?
A. Cấp phát liên tục (Contiguous Allocation)
B. Cấp phát liên kết (Linked Allocation)
C. Cấp phát chỉ mục (Indexed Allocation)
D. Cấp phát theo bảng FAT
16. Điều gì mô tả đúng khái niệm `tính bền vững′ (Persistence) trong hệ thống tệp?
A. Dữ liệu trong tệp vẫn tồn tại sau khi tiến trình tạo ra nó kết thúc.
B. Hệ thống tệp có thể hoạt động liên tục mà không bị lỗi.
C. Tệp có thể được truy cập bởi nhiều người dùng cùng lúc.
D. Kích thước của tệp có thể thay đổi linh hoạt.
17. Trong bảo vệ hệ thống, cơ chế nào thường được sử dụng để xác định danh tính của người dùng hoặc tiến trình?
A. Ủy quyền (Authorization)
B. Kiểm tra (Auditing)
C. Xác thực (Authentication)
D. Mã hóa (Encryption)
18. Cơ chế nào được sử dụng để các tiến trình trao đổi dữ liệu hoặc đồng bộ hóa hoạt động của chúng?
A. System Calls
B. Interrupts
C. Inter-Process Communication (IPC)
D. Device Drivers
19. Trong các thuật toán thay thế trang, thuật toán nào được coi là tối ưu về mặt lý thuyết nhưng không thể triển khai trong thực tế?
A. FIFO (First-In, First-Out)
B. LRU (Least Recently Used)
C. Optimal (OPT)
D. MFU (Most Frequently Used)
20. Đâu là mục đích chính của việc đồng bộ hóa tiến trình (Process Synchronization)?
A. Tăng tốc độ thực thi của một tiến trình đơn lẻ
B. Đảm bảo thứ tự thực thi chính xác và tránh các điều kiện tranh chấp (race conditions) khi nhiều tiến trình truy cập tài nguyên chia sẻ
C. Giảm thiểu việc sử dụng CPU
D. Ngăn chặn deadlock xảy ra hoàn toàn
21. Mô hình hệ điều hành nào phù hợp nhất cho các ứng dụng yêu cầu thời gian phản hồi nghiêm ngặt và có giới hạn thời gian (deadline)?
A. Batch Operating System
B. Time-Sharing Operating System
C. Real-Time Operating System
D. Distributed Operating System
22. Đâu là nhược điểm chính của thuật toán lập lịch FCFS (First-Come, First-Served)?
A. Thời gian phản hồi không nhất quán
B. Dễ xảy ra hiệu ứng Convoy (Convoy Effect)
C. Khó cài đặt
D. Không hỗ trợ đa nhiệm
23. Sự khác biệt cơ bản giữa tiến trình (Process) và luồng (Thread) là gì?
A. Tiến trình có nhiều không gian địa chỉ, luồng chỉ có một.
B. Các luồng trong cùng một tiến trình chia sẻ không gian địa chỉ và tài nguyên.
C. Luồng là một đơn vị lập lịch độc lập, tiến trình thì không.
D. Tiến trình nhẹ hơn luồng khi tạo và chuyển đổi ngữ cảnh.
24. Điều gì xảy ra khi một tiến trình cố gắng truy cập một trang bộ nhớ chưa được nạp vào RAM trong hệ thống bộ nhớ ảo?
A. Lỗi bảo vệ bộ nhớ (Segmentation Fault)
B. Trang được nạp ngay lập tức mà không có sự can thiệp của hệ điều hành
C. Xảy ra lỗi trang (Page Fault) và hệ điều hành phải nạp trang từ đĩa
D. Tiến trình bị chấm dứt ngay lập tức
25. Ưu điểm chính của việc sử dụng luồng (Thread) thay vì tiến trình (Process) khi thực hiện các tác vụ song song trong cùng một ứng dụng là gì?
A. Bảo mật tốt hơn
B. Tạo và chuyển đổi ngữ cảnh nhanh hơn
C. Không gian địa chỉ riêng biệt
D. Độc lập hoàn toàn với nhau
26. Sự khác biệt giữa lập lịch độc quyền (Preemptive Scheduling) và không độc quyền (Non-preemptive Scheduling) là gì?
A. Độc quyền cho phép hệ điều hành tạm dừng tiến trình đang chạy, không độc quyền thì không.
B. Không độc quyền hiệu quả hơn độc quyền trong việc giảm thời gian chờ trung bình.
C. Độc quyền chỉ áp dụng cho các hệ thống thời gian thực.
D. Không độc quyền dễ cài đặt hơn độc quyền.
27. Điều gì là lợi ích chính của việc sử dụng Spooling trong quản lý I∕O?
A. Cho phép nhiều tiến trình cùng sử dụng một thiết bị I∕O độc quyền (như máy in) mà không cần chờ đợi lẫn nhau trực tiếp.
B. Tăng tốc độ truyền dữ liệu giữa CPU và thiết bị I∕O.
C. Giảm thiểu số lần xảy ra lỗi I∕O.
D. Đơn giản hóa việc lập trình thiết bị I∕O.
28. Kỹ thuật nào được sử dụng để tăng hiệu quả truy cập thiết bị I∕O bằng cách gom nhiều yêu cầu nhỏ thành một yêu cầu lớn?
A. Buffering
B. Spooling
C. Caching
D. Polling
29. Trong hệ thống tệp, cấu trúc thư mục dạng cây (tree-structured directory) có nhược điểm gì so với cấu trúc thư mục phẳng (single-level directory)?
A. Không cho phép phân quyền truy cập
B. Khó tìm kiếm tệp nếu không biết đường dẫn
C. Không thể tạo thư mục con
D. Giới hạn số lượng tệp trong hệ thống
30. Mục đích chính của bộ nhớ ảo (Virtual Memory) là gì?
A. Tăng tốc độ truy cập bộ nhớ RAM
B. Cho phép thực thi các tiến trình lớn hơn bộ nhớ vật lý có sẵn
C. Giảm thiểu số lần truy cập đĩa
D. Cung cấp một giao diện bộ nhớ đơn giản cho phần cứng