1. Trong quản lý bộ nhớ theo phân đoạn (Segmentation), địa chỉ logic bao gồm những phần nào?
A. Số trang (page number) và độ lệch (offset).
B. Số khối (block number) và độ lệch (offset).
C. Số đoạn (segment number) và độ lệch (offset).
D. Số frame (frame number) và số trang (page number).
2. Trong thuật toán Round Robin, việc lựa chọn `time quantum′ quá nhỏ sẽ dẫn đến vấn đề gì?
A. Tăng thời gian chờ trung bình.
B. Giảm số lần chuyển đổi ngữ cảnh (context switch).
C. Tăng chi phí chuyển đổi ngữ cảnh, giảm hiệu quả sử dụng CPU.
D. Dẫn đến tình trạng đói (starvation).
3. Hệ thống tệp (File System) chịu trách nhiệm chính về điều gì?
A. Quản lý việc cấp phát CPU cho các tiến trình.
B. Tổ chức, lưu trữ và truy xuất dữ liệu trên các thiết bị lưu trữ (đĩa cứng, SSD).
C. Quản lý việc sử dụng bộ nhớ RAM.
D. Xử lý tín hiệu từ bàn phím và chuột.
4. Khối điều khiển tiến trình (PCB - Process Control Block) lưu trữ thông tin gì?
A. Mã nguồn của tiến trình.
B. Dữ liệu đầu vào và đầu ra của tiến trình.
C. Trạng thái tiến trình, bộ đếm chương trình, thông tin thanh ghi, thông tin quản lý bộ nhớ.
D. Lịch sử sử dụng CPU của tiến trình.
5. Mục đích chính của các cơ chế đồng bộ hóa (synchronization) trong hệ điều hành là gì?
A. Tăng tốc độ thực thi của từng tiến trình riêng lẻ.
B. Đảm bảo rằng các tiến trình∕luồng truy cập tài nguyên chia sẻ một cách an toàn, tránh tình trạng tranh chấp dữ liệu.
C. Phân bổ bộ nhớ cho các tiến trình.
D. Ngăn chặn hoàn toàn khả năng xảy ra deadlock.
6. Thuật toán lập lịch CPU nào có nhược điểm là 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. Shortest-Job-First (SJF)
C. Priority Scheduling
D. Round Robin (RR)
7. Nếu một hệ thống sử dụng thuật toán lập lịch SJF không độc quyền (non-preemptive), điều gì xảy ra khi một tiến trình mới với thời gian thực thi ngắn hơn tiến trình đang chạy đến hàng đợi Ready?
A. Tiến trình mới sẽ ngay lập tức được cấp CPU.
B. Tiến trình đang chạy sẽ tiếp tục thực thi cho đến khi hoàn thành I∕O hoặc kết thúc.
C. Hệ điều hành sẽ yêu cầu người dùng quyết định.
D. Hệ thống sẽ rơi vào trạng thái deadlock.
8. Chức năng cốt lõi nào sau đây là trách nhiệm chính của hệ điều hành?
A. Thiết kế giao diện người dùng ứng dụng
B. Quản lý tài nguyên phần cứng và phần mềm
C. Viết mã nguồn cho phần mềm ứng dụng
D. Sản xuất linh kiện máy tính
9. Đâu là sự khác biệt cơ bản nhất giữa tiến trình (process) và chương trình (program)?
A. Tiến trình là mã nguồn, chương trình là file thực thi.
B. Tiến trình là phiên bản đang chạy của chương trình, chương trình là tập tin tĩnh trên đĩa.
C. Tiến trình chỉ có một luồng, chương trình có thể có nhiều luồng.
D. Tiến trình thuộc về hệ điều hành, chương trình thuộc về người dùng.
10. Thuật toán thay thế page nào thường mang lại hiệu suất tốt nhất trong lý thuyết (nhưng khó thực hiện trên thực tế)?
A. First-In, First-Out (FIFO)
B. Least Recently Used (LRU)
C. Optimal (OPT)
D. Most Recently Used (MRU)
11. Lớp nào trong hệ thống I∕O ẩn đi sự khác biệt chi tiết giữa các thiết bị phần cứng khác nhau, cung cấp một giao diện chuẩn cho hệ điều hành?
A. Hardware Controller
B. Device Driver
C. Kernel I∕O Subsystem
D. User-level I∕O Library
12. Nhược điểm chính của phương pháp cấp phát tệp liên tục (Contiguous Allocation) là gì?
A. Truy cập ngẫu nhiên chậm.
B. Khó khăn khi tệp cần mở rộng kích thước.
C. Phân mảnh nội bộ lớn.
D. Không hỗ trợ truy cập tuần tự.
13. Mục đích của bộ đệm (buffering) trong hệ thống I∕O là gì?
A. Đồng bộ hóa tốc độ giữa CPU và thiết bị I∕O chậm hơn.
B. Giảm số lần truy cập đĩa.
C. Cả A và B đều đúng.
D. Chỉ B đúng.
14. Phương pháp cấp phát tệp nào sử dụng một `bảng chỉ mục′ (index block) cho mỗi tệp để lưu trữ các con trỏ tới các khối dữ liệu của tệp?
A. Contiguous Allocation
B. Linked Allocation
C. Indexed Allocation
D. FAT Allocation
15. Kỹ thuật phân trang (Paging) trong quản lý bộ nhớ nhằm mục đích gì?
A. Cấp phát bộ nhớ liên tục cho các tiến trình.
B. Giải quyết vấn đề phân mảnh ngoại vi (external fragmentation).
C. Tăng tốc độ truy cập bộ nhớ cache.
D. Bảo vệ bộ nhớ giữa các tiến trình.
16. Chuyển đổi ngữ cảnh (Context Switching) là quá trình gì?
A. Sao chép toàn bộ bộ nhớ của một tiến trình sang tiến trình khác.
B. Lưu trạng thái của tiến trình hiện tại và nạp trạng thái của tiến trình khác để CPU có thể tiếp tục thực thi.
C. Di chuyển dữ liệu giữa bộ nhớ chính và bộ nhớ thứ cấp.
D. Thay đổi quyền truy cập file của một tiến trình.
17. Đâu là điểm khác biệt chính giữa địa chỉ logic (logical address) và địa chỉ vật lý (physical address)?
A. Địa chỉ logic được tạo bởi CPU, địa chỉ vật lý được tạo bởi thiết bị I∕O.
B. Địa chỉ logic là địa chỉ mà tiến trình nhìn thấy, địa chỉ vật lý là địa chỉ thực trong RAM.
C. Địa chỉ logic chỉ tồn tại trên đĩa, địa chỉ vật lý chỉ tồn tại trong RAM.
D. Địa chỉ logic được sử dụng trong hệ thống 32-bit, địa chỉ vật lý trong hệ thống 64-bit.
18. Hiện tượng Race Condition (Tình trạng tranh chấp) xảy ra khi nào?
A. Hai tiến trình cố gắng truy cập vào các file khác nhau cùng lúc.
B. Kết quả của việc thực thi phụ thuộc vào thứ tự tương đối mà các tiến trình truy cập vào dữ liệu chia sẻ.
C. Một tiến trình độc quyền sử dụng tài nguyên mà không giải phóng.
D. CPU chuyển đổi ngữ cảnh giữa các tiến trình quá nhanh.
19. Thuật toán lập lịch nào ưu tiên các tiến trình yêu cầu thời gian CPU ngắn nhất?
A. FCFS
B. SJF
C. Priority
D. Round Robin
20. Hiện tượng `thrashing′ trong hệ thống bộ nhớ ảo xảy ra khi nào?
A. CPU dành quá nhiều thời gian cho việc thực thi các lệnh của ứng dụng.
B. Hệ thống dành quá nhiều thời gian cho việc hoán đổi page (swapping) và quá ít thời gian cho việc thực thi công việc hữu ích.
C. Bộ nhớ cache bị đầy liên tục.
D. Tất cả các tiến trình đều ở trạng thái chờ I∕O.
21. Trạng thái nào của tiến trình cho biết nó đang chờ một sự kiện nào đó (ví dụ: hoàn thành I∕O)?
A. Running
B. Ready
C. Waiting
D. Terminated
22. Khái niệm bộ nhớ ảo (Virtual Memory) cho phép điều gì?
A. Tăng dung lượng bộ nhớ vật lý của hệ thống.
B. Chạy các chương trình có kích thước lớn hơn bộ nhớ vật lý có sẵn.
C. Giảm thời gian truy cập bộ nhớ.
D. Ngăn chặn truy cập bất hợp pháp vào bộ nhớ.
23. Cơ chế bảo vệ (Protection) trong hệ điều hành nhằm mục đích gì?
A. Ngăn chặn truy cập trái phép vào hệ thống từ bên ngoài (ví dụ: hacker).
B. Kiểm soát quyền truy cập của các tiến trình∕người dùng vào tài nguyên hệ thống.
C. Mã hóa dữ liệu lưu trữ trên đĩa.
D. Phát hiện và loại bỏ virus máy tính.
24. Phương pháp nào để xử lý deadlock cố gắng đảm bảo rằng hệ thống sẽ không bao giờ đi vào trạng thái deadlock?
A. Deadlock Prevention (Ngăn chặn)
B. Deadlock Avoidance (Tránh)
C. Deadlock Detection (Phát hiện)
D. Deadlock Recovery (Phục hồi)
25. Semaphore là một công cụ đồng bộ hóa có thể được sử dụng để giải quyết vấn đề gì?
A. Đảm bảo chỉ một tiến trình truy cập vào vùng găng (critical section) tại một thời điểm.
B. Giải quyết vấn đề thứ tự thực thi giữa các tiến trình.
C. Cả A và B đều đúng.
D. Chỉ A đúng.
26. Lợi ích chính của việc sử dụng luồng (thread) trong một tiến trình là gì?
A. Mỗi luồng có không gian địa chỉ bộ nhớ riêng biệt.
B. Chia sẻ tài nguyên (bộ nhớ, file) giữa các luồng dễ dàng và hiệu quả hơn.
C. Tăng cường bảo mật giữa các phần khác nhau của tiến trình.
D. Ngăn chặn tình trạng tranh chấp dữ liệu.
27. Mục đích chính của System Call (Gọi hệ thống) là gì?
A. Cho phép chương trình người dùng truy cập trực tiếp vào phần cứng.
B. Cung cấp giao diện để chương trình người dùng yêu cầu dịch vụ từ hệ điều hành.
C. Thực thi các phép tính toán phức tạp.
D. Quản lý bộ nhớ cache của CPU.
28. Đ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 deadlock?
A. Mutual Exclusion (Độc quyền tài nguyên)
B. Hold and Wait (Giữ và Chờ)
C. Resource Preemption (Giải phóng tài nguyên)
D. Circular Wait (Chờ vòng tròn)
29. Ưu điểm chính của kiến trúc Microkernel so với Monolithic Kernel là gì?
A. Tốc độ thực thi nhanh hơn do tất cả dịch vụ nằm trong không gian kernel.
B. Độ tin cậy và khả năng mở rộng cao hơn do hầu hết dịch vụ chạy ở không gian người dùng.
C. Kích thước kernel lớn hơn.
D. Việc thêm dịch vụ mới dễ dàng hơn.
30. Trong quản lý bộ nhớ, phân mảnh nội bộ (Internal Fragmentation) là gì?
A. Không gian trống nằm giữa các khối bộ nhớ đã cấp phát.
B. Không gian trống bên trong một khối bộ nhớ đã cấp phát nhưng không được sử dụng bởi tiến trình.
C. Không gian trống trên đĩa cứng.
D. Không gian trống trong bộ nhớ cache.