1. Tiến trình (Process) trong hệ điều hành KHÔNG bao gồm thành phần nào dưới đây?
A. Mã chương trình (Program code)
B. Dữ liệu (Data)
C. Bộ đếm chương trình (Program counter)
D. Phần cứng vật lý (Physical hardware)
2. Thuật toán lập lịch CPU 'First-Come, First-Served (FCFS)' có nhược điểm lớn nhất nào?
A. Ưu tiên các tiến trình ngắn
B. Có thể gây ra hiệu ứng đoàn xe (convoy effect)
C. Khó cài đặt và triển khai
D. Đòi hỏi thông tin về thời gian thực thi của tiến trình
3. Cơ chế DMA (Direct Memory Access) giúp cải thiện hiệu suất I/O như thế nào?
A. Tăng tốc độ CPU
B. Cho phép CPU trực tiếp điều khiển thiết bị I/O
C. Cho phép thiết bị I/O truyền dữ liệu trực tiếp đến/từ bộ nhớ mà không cần CPU can thiệp
D. Giảm số lượng ngắt I/O
4. Sự 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 có khả năng đáp ứng thời gian nghiêm ngặt, hệ điều hành đa nhiệm ưu tiên 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 đặc biệt, hệ điều hành đa nhiệm chạy trên phần cứng phổ thông.
D. Hệ điều hành thời gian thực không hỗ trợ đa nhiệm, hệ điều hành đa nhiệm thì có.
5. Chức năng 'swapping' trong hệ điều hành bộ nhớ ảo liên quan đến việc di chuyển dữ liệu giữa:
A. CPU và bộ nhớ cache
B. Bộ nhớ chính (RAM) và bộ nhớ thứ cấp (ví dụ: ổ cứng)
C. Bộ nhớ cache và ổ cứng
D. Các thanh ghi CPU và bộ nhớ chính
6. Ưu điểm chính của kiến trúc microkernel so với kiến trúc monolithic kernel là gì?
A. Hiệu suất cao hơn
B. Kích thước kernel nhỏ hơn và dễ bảo trì, mở rộng
C. Khả năng tương thích phần cứng tốt hơn
D. Dễ dàng phát triển các driver thiết bị mới
7. Trong hệ thống phân tán, điều gì KHÔNG phải là một thách thức chính?
A. Đồng bộ hóa thời gian giữa các máy
B. Quản lý bộ nhớ cục bộ trên mỗi máy
C. Xử lý lỗi mạng và lỗi máy cục bộ
D. Đảm bảo tính nhất quán dữ liệu trên nhiều máy
8. Mục đích chính của việc sử dụng bộ nhớ cache trong hệ thống máy tính là gì?
A. Tăng dung lượng bộ nhớ chính
B. Giảm chi phí bộ nhớ
C. Tăng tốc độ truy cập dữ liệu thường xuyên sử dụng
D. Bảo vệ dữ liệu khỏi mất mát
9. Trong hệ thống file, inode được sử dụng để làm gì?
A. Lưu trữ nội dung của file
B. Lưu trữ metadata (thông tin mô tả) về file
C. Quản lý không gian đĩa trống
D. Mã hóa dữ liệu file
10. Câu lệnh 'ls -l' trong Linux dùng để làm gì?
A. Sao chép file
B. Liệt kê nội dung thư mục ở định dạng chi tiết
C. Xóa file
D. Tạo thư mục mới
11. Mutex và Semaphore là các cơ chế đồng bộ hóa trong hệ điều hành. Điểm khác biệt chính giữa Mutex và Semaphore là gì?
A. Mutex chỉ dành cho đồng bộ hóa trong cùng một tiến trình, Semaphore cho đa tiến trình.
B. Mutex là biến nhị phân (binary), Semaphore có thể là biến đếm (counting).
C. Mutex ngăn chặn hoàn toàn truy cập đồng thời, Semaphore chỉ giới hạn số lượng truy cập đồng thời.
D. Mutex hiệu quả hơn Semaphore trong việc bảo vệ vùng dữ liệu quan trọng.
12. Kernel trong hệ điều hành là gì?
A. Giao diện người dùng đồ họa (GUI)
B. Phần lõi của hệ điều hành, quản lý tài nguyên và cung cấp dịch vụ cơ bản
C. Tập hợp các ứng dụng hệ thống như trình duyệt web và trình soạn thảo văn bản
D. Bộ nhớ cache của CPU
13. Booting process (quá trình khởi động) của hệ điều hành bắt đầu từ giai đoạn nào?
A. Khi người dùng đăng nhập vào hệ thống
B. Khi hệ điều hành đã được tải hoàn toàn vào bộ nhớ
C. Khi máy tính được bật nguồn và BIOS/UEFI được kích hoạt
D. Khi trình quản lý cửa sổ (window manager) được khởi chạy
14. Trong quản lý tiến trình, 'context switching' (chuyển đổi ngữ cảnh) là gì?
A. Quá trình tạo ra một tiến trình mới
B. Quá trình kết thúc một tiến trình
C. Quá trình lưu và khôi phục trạng thái của một tiến trình để CPU chuyển sang thực thi tiến trình khác
D. Quá trình cấp phát bộ nhớ cho tiến trình
15. Nguyên nhân chính gây ra page fault (lỗi trang) trong hệ thống bộ nhớ ảo là gì?
A. CPU bị lỗi
B. Bộ nhớ vật lý bị hỏng
C. Tiến trình cố gắng truy cập một trang không có trong bộ nhớ vật lý
D. Ổ cứng bị đầy
16. System call (lời gọi hệ thống) là gì?
A. Một hàm thư viện do người dùng định nghĩa
B. Một lệnh đặc biệt để chương trình người dùng yêu cầu dịch vụ từ kernel
C. Một loại ngắt phần cứng
D. Một cơ chế quản lý bộ nhớ ảo
17. Cơ chế nào sau đây được sử dụng để bảo vệ hệ thống khỏi việc một tiến trình độc hại chiếm đoạt CPU vô thời hạn?
A. Bộ nhớ ảo
B. Bộ đếm thời gian (Timer)
C. System call
D. DMA
18. Điểm yếu chính của thuật toán lập lịch 'Shortest Job First (SJF)' là gì trong thực tế?
A. Khó cài đặt
B. Có thể gây ra starvation (đói tài nguyên) cho các tiến trình dài
C. Yêu cầu thời gian context switching lớn
D. Hiệu suất kém trong hệ thống tương tác
19. Trong ngữ cảnh hệ thống file, RAID (Redundant Array of Independent Disks) được sử dụng để làm gì?
A. Mã hóa dữ liệu file
B. Nén dữ liệu file
C. Tăng cường hiệu suất và/hoặc độ tin cậy lưu trữ dữ liệu
D. Quản lý quyền truy cập file
20. Cấu trúc dữ liệu nào thường được sử dụng để quản lý danh sách các tiến trình sẵn sàng (ready queue) trong hệ điều hành?
A. Mảng (Array)
B. Ngăn xếp (Stack)
C. Hàng đợi (Queue)
D. Cây nhị phân (Binary tree)
21. Trong ngữ cảnh bảo mật hệ điều hành, 'Principle of Least Privilege' (Nguyên tắc đặc quyền tối thiểu) có nghĩa là gì?
A. Mỗi người dùng nên có quyền truy cập đầy đủ vào tất cả tài nguyên.
B. Người dùng chỉ nên được cấp quyền truy cập tối thiểu cần thiết để thực hiện công việc của họ.
C. Quyền truy cập nên được cấp dựa trên vai trò của người dùng trong tổ chức.
D. Mọi truy cập vào hệ thống đều phải được ghi log.
22. Trong mô hình bảo mật của hệ điều hành, 'access control list' (ACL) được sử dụng để làm gì?
A. Mã hóa mật khẩu người dùng
B. 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
C. Phát hiện và ngăn chặn virus
D. Ghi log các sự kiện bảo mật
23. File system journaling (nhật ký hệ thống file) giúp cải thiện điều gì?
A. Tốc độ truy cập file
B. Bảo mật file
C. Độ tin cậy và khả năng phục hồi dữ liệu sau sự cố
D. Tiết kiệm không gian lưu trữ file
24. Thrashing trong hệ thống bộ nhớ ảo xảy ra khi nào?
A. Khi bộ nhớ vật lý đầy
B. Khi CPU quá tải
C. Khi hệ thống liên tục thực hiện swapping (trao đổi trang) với tần suất cao
D. Khi xảy ra lỗi trang (page fault) lần đầu tiên
25. Trong quản lý bộ nhớ, kỹ thuật phân trang (Paging) giải quyết vấn đề chính nào?
A. Phân mảnh ngoại vi (External fragmentation)
B. Phân mảnh nội vi (Internal fragmentation)
C. Thiếu bộ nhớ vật lý
D. Xung đột bộ nhớ cache
26. Deadlock (bế tắc) có thể xảy ra khi có đủ bốn điều kiện cần và đủ sau đồng thời. Điều kiện nào KHÔNG thuộc bốn điều kiện đó?
A. Loại trừ lẫn nhau (Mutual exclusion)
B. Chờ và giữ (Hold and wait)
C. Không cưỡng đoạt (No preemption)
D. Ưu tiên tiến trình (Process priority)
27. Bộ nhớ ảo (Virtual memory) mang lại lợi ích chính nào cho hệ thống?
A. Tăng tốc độ truy cập bộ nhớ
B. Cho phép chạy các chương trình lớn hơn bộ nhớ vật lý
C. Giảm phân mảnh bộ nhớ
D. Đơn giản hóa quản lý bộ nhớ cho lập trình viên
28. Phương pháp nào sau đây giúp giảm thiểu nguy cơ deadlock trong hệ thống?
A. Cho phép chờ và giữ tài nguyên
B. Cấp phát tất cả tài nguyên cần thiết cho tiến trình trước khi thực thi
C. Không cưỡng đoạt tài nguyên
D. Sử dụng semaphore
29. Hành động nào sau đây KHÔNG phải là chức năng chính của hệ điều hành?
A. Quản lý tài nguyên phần cứng (CPU, bộ nhớ, thiết bị I/O)
B. Cung cấp giao diện người dùng để tương tác với máy tính
C. Biên dịch mã nguồn chương trình thành mã máy
D. Kiểm soát và điều phối các hoạt động của phần mềm ứng dụng
30. Phương pháp nào sau đây KHÔNG phải là một thuật toán lập lịch CPU phổ biến?
A. Round Robin
B. Shortest Job First (SJF)
C. Priority Scheduling
D. Best-Fit