1. Microkernel (vi nhân) có ưu điểm gì so với monolithic kernel (nhân nguyên khối)?
A. Tính ổn định và bảo trì tốt hơn do giảm thiểu mã trong không gian kernel
B. Hiệu suất cao hơn
C. Dễ dàng mở rộng chức năng
D. Tiết kiệm bộ nhớ
2. Chế độ 'kernel mode' (chế độ hạt nhân) và 'user mode' (chế độ người dùng) dùng để làm gì?
A. Phân biệt quyền hạn truy cập tài nguyên hệ thống, bảo vệ hệ điều hành
B. Tăng tốc độ xử lý của CPU
C. Quản lý bộ nhớ ảo
D. Hỗ trợ đa nhiệm
3. Firewall (tường lửa) trong hệ điều hành có chức năng chính là gì?
A. Kiểm soát và lọc lưu lượng mạng ra vào hệ thống dựa trên các quy tắc bảo mật
B. Tăng tốc độ kết nối mạng
C. Quét virus và malware
D. Mã hóa dữ liệu mạng
4. Swap space (không gian trao đổi) được sử dụng trong bộ nhớ ảo để làm gì?
A. Lưu trữ các trang nhớ ít được sử dụng từ RAM sang đĩa cứng để giải phóng RAM
B. Tăng tốc độ truy cập bộ nhớ
C. Bảo vệ dữ liệu trong bộ nhớ
D. Chia sẻ bộ nhớ giữa các tiến trình
5. Hệ thống tập tin (File system) có chức năng chính là gì?
A. Tổ chức và quản lý dữ liệu trên bộ nhớ thứ cấp (ví dụ: ổ cứng)
B. Kết nối mạng các máy tính
C. Quản lý bộ nhớ RAM
D. Hiển thị giao diện đồ họa
6. Chức năng chính của hệ điều hành là gì?
A. Quản lý phần cứng và tài nguyên hệ thống
B. Biên dịch mã nguồn thành mã máy
C. Thiết kế giao diện người dùng
D. Kết nối mạng internet
7. Bộ nhớ cache (Cache memory) hoạt động dựa trên nguyên lý nào để tăng tốc độ truy cập dữ liệu?
A. Tính cục bộ (locality) của tham chiếu bộ nhớ
B. Nguyên lý FIFO (First-In, First-Out)
C. Nguyên lý LIFO (Last-In, First-Out)
D. Nguyên lý ngẫu nhiên
8. DMA (Direct Memory Access) được sử dụng để làm gì?
A. 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
B. Tăng tốc độ xử lý của CPU
C. Quản lý bộ nhớ cache
D. Bảo vệ dữ liệu trong bộ nhớ
9. Bộ nhớ ảo (Virtual Memory) được sử dụng để làm gì?
A. Mở rộng không gian địa chỉ bộ nhớ RAM bằng cách sử dụng một phần đĩa cứng
B. Tăng tốc độ truy cập bộ nhớ
C. Bảo vệ dữ liệu trong bộ nhớ
D. Giảm điện năng tiêu thụ của bộ nhớ
10. Nhược điểm chính của thuật toán lập lịch 'Shortest Job First' (SJF) là gì?
A. Khó ước tính được thời gian thực thi của tiến trình
B. Phức tạp trong cài đặt
C. Dễ gây ra tình trạng 'đói tài nguyên' cho tiến trình dài
D. Không hiệu quả với hệ thống đa nhiệm
11. Cơ chế ủy quyền (Authorization) trong bảo mật hệ thống hoạt động như thế nào?
A. Xác định quyền hạn truy cập của người dùng hoặc tiến trình sau khi đã xác thực
B. Mã hóa dữ liệu khi truyền qua mạng
C. Ngăn chặn virus và malware
D. Sao lưu dữ liệu
12. Tiến trình (Process) trong hệ điều hành là gì?
A. Một chương trình đang được thực thi
B. Một đoạn mã tĩnh trên đĩa cứng
C. Một thiết bị phần cứng
D. Một thư viện liên kết động
13. Hệ điều hành thời gian thực (Real-time operating system - RTOS) được thiết kế cho các ứng dụng nào?
A. Ứng dụng yêu cầu phản hồi nhanh và có tính quyết định về thời gian (ví dụ: điều khiển công nghiệp, hệ thống nhúng)
B. Ứng dụng văn phòng
C. Ứng dụng game
D. Ứng dụng web
14. System call (lời gọi hệ thống) là gì?
A. Cơ chế để ứng dụng người dùng yêu cầu dịch vụ từ hệ điều hành
B. Một hàm thư viện chuẩn trong ngôn ngữ lập trình
C. Một lệnh của CPU
D. Một giao thức mạng
15. Semaphore (tín hiệu) tổng quát hơn Mutex ở điểm nào?
A. Cho phép nhiều hơn một luồng truy cập tài nguyên chung (với số lượng giới hạn)
B. Chỉ dùng cho đồng bộ hóa tiến trình, không dùng cho luồng
C. Đơn giản hơn Mutex trong sử dụng
D. Không gây ra tình trạng 'đợi chờ vô hạn'
16. Bộ nhớ đệm (Buffer) được sử dụng để làm gì trong hoạt động I/O?
A. Giảm sự khác biệt tốc độ giữa CPU và thiết bị I/O
B. Tăng tốc độ truy cập bộ nhớ chính
C. Bảo vệ dữ liệu khỏi bị mất
D. Quản lý bộ nhớ ảo
17. Đâu là mục tiêu chính của bảo mật hệ điều hành?
A. Bảo vệ dữ liệu và tài nguyên hệ thống khỏi truy cập trái phép và các mối đe dọa
B. Tăng tốc độ hệ thống
C. Cải thiện giao diện người dùng
D. Giảm điện năng tiêu thụ
18. Đa nhiệm (Multitasking) trong hệ điều hành cho phép điều gì?
A. Chạy đồng thời nhiều chương trình bằng cách chia sẻ thời gian CPU
B. Tăng tốc độ xử lý của CPU
C. Mở rộng dung lượng bộ nhớ RAM
D. Cải thiện chất lượng đồ họa
19. Điều kiện 'mutual exclusion' (loại trừ lẫn nhau) là một trong bốn điều kiện cần thiết để xảy ra deadlock. Nó có nghĩa là gì?
A. Ít nhất một tài nguyên phải được cấp phát độc quyền, không chia sẻ
B. Các tiến trình phải loại trừ lẫn nhau về mặt thời gian
C. Các tiến trình không được phép giao tiếp với nhau
D. Tài nguyên phải được chia sẻ giữa các tiến trình
20. Spooling (Simultaneous Peripheral Operations On-Line) thường được sử dụng trong hệ thống nào?
A. Hệ thống in ấn
B. Hệ thống quản lý bộ nhớ
C. Hệ thống mạng
D. Hệ thống bảo mật
21. Điều gì xảy ra khi một tiến trình bị 'đoạn trang' (page fault)?
A. Hệ điều hành phải truy xuất trang nhớ từ đĩa cứng vào RAM
B. Tiến trình bị kết thúc ngay lập tức
C. CPU chuyển sang thực thi tiến trình khác
D. Xảy ra lỗi phần cứng bộ nhớ
22. Deadlock (bế tắc) xảy ra khi nào?
A. 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ữ
B. Một tiến trình cố gắng truy cập bộ nhớ không hợp lệ
C. Hệ thống bị quá tải
D. Xảy ra lỗi phần cứng
23. Interrupt (ngắt) là cơ chế để làm gì trong hệ điều hành?
A. Báo hiệu cho CPU về một sự kiện cần xử lý ngay lập tức (ví dụ: hoàn thành I/O)
B. Tạm dừng một tiến trình đang chạy
C. Khởi động lại hệ thống
D. Phân chia thời gian CPU cho các tiến trình
24. Cơ chế xác thực (Authentication) trong bảo mật hệ thống dùng để làm gì?
A. Xác minh danh tính của người dùng hoặc tiến trình
B. Mã hóa dữ liệu
C. Kiểm soát truy cập tài nguyên
D. Phát hiện xâm nhập
25. Thuật toán lập lịch 'First-Come, First-Served' (FCFS) có ưu điểm gì?
A. Đơn giản, dễ cài đặt
B. Tối ưu thời gian phản hồi trung bình
C. Ngăn chặn tình trạng 'đói tài nguyên'
D. Ưu tiên các tiến trình quan trọng
26. Booting (khởi động) hệ điều hành là quá trình gì?
A. Tải và chạy hệ điều hành từ bộ nhớ thứ cấp (ví dụ: ổ cứng) vào RAM
B. Tắt máy tính
C. Cài đặt hệ điều hành
D. Nâng cấp hệ điều hành
27. Mutex (loại trừ lẫn nhau) được sử dụng để giải quyết vấn đề gì trong lập trình đa luồng?
A. Tránh xung đột khi nhiều luồng cùng truy cập tài nguyên chung
B. Tăng tốc độ thực thi của chương trình
C. Phân chia công việc cho các luồng
D. Quản lý bộ nhớ cho các luồng
28. Điểm khác biệt chính giữa 'tiến trình' và 'luồng' (thread) là gì?
A. 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 chứa nó
B. Tiến trình nhanh hơn luồng
C. Luồng có thể chạy độc lập, tiến trình thì không
D. Tiến trình chỉ dùng cho hệ thống đơn nhiệm, luồng dùng cho đa nhiệm
29. Lập lịch CPU (CPU Scheduling) nhằm mục đích chính là gì?
A. Quyết định tiến trình nào được cấp phát CPU và trong bao lâu
B. Tăng tốc độ xung nhịp CPU
C. Phân bổ bộ nhớ cho các tiến trình
D. Quản lý các thiết bị ngoại vi
30. Cấu trúc thư mục phân cấp (hierarchical directory structure) có ưu điểm gì so với cấu trúc thư mục phẳng?
A. Dễ dàng tổ chức và quản lý lượng lớn tập tin, tránh trùng tên
B. Tăng tốc độ truy cập tập tin
C. Tiết kiệm không gian lưu trữ
D. Đơn giản hóa việc lập trình