1. Hệ điều hành (Operating System - OS) có vai trò chính yếu nào trong hệ thống máy tính?
A. Quản lý và điều phối tài nguyên phần cứng và phần mềm.
B. Cung cấp giao diện người dùng duy nhất để truy cập Internet.
C. Tăng tốc độ xử lý của bộ vi xử lý trung tâm (CPU).
D. Bảo vệ máy tính khỏi virus và phần mềm độc hại.
2. Tiến trình (Process) trong hệ điều hành là gì?
A. Một đoạn mã chương trình tĩnh được lưu trữ trên ổ cứng.
B. Một phiên bản đang chạy của một chương trình, bao gồm mã lệnh, dữ liệu và trạng thái thực thi.
C. Một thiết bị phần cứng giúp tăng tốc độ xử lý của máy tính.
D. Một loại virus máy tính có khả năng tự nhân bản và lây lan.
3. Khi một tiến trình chuyển từ trạng thái "Chờ" (Waiting) sang trạng thái "Sẵn sàng" (Ready), điều gì đã xảy ra?
A. Tiến trình đã hoàn thành việc thực thi.
B. Tiến trình đã nhận được sự kiện hoặc tài nguyên mà nó đang chờ đợi.
C. Tiến trình bị hệ điều hành tạm dừng để nhường CPU cho tiến trình khác.
D. Tiến trình gặp lỗi và bị hủy bỏ.
4. Trong quản lý bộ nhớ, kỹ thuật "phân trang" (paging) giúp giải quyết vấn đề nào?
A. Tăng tốc độ truy cập bộ nhớ cache.
B. Giảm thiểu hiện tượng phân mảnh bộ nhớ ngoài (external fragmentation).
C. Cho phép tiến trình có kích thước lớn hơn bộ nhớ vật lý.
D. Đảm bảo tính toàn vẹn dữ liệu trong bộ nhớ.
5. Thuật toán lập lịch CPU "Round Robin" hoạt động theo nguyên tắc nào?
A. Ưu tiên tiến trình có thời gian thực thi ngắn nhất.
B. Ưu tiên tiến trình có độ ưu tiên cao nhất.
C. Mỗi tiến trình được cấp một lượng thời gian CPU cố định (time quantum) theo vòng tròn.
D. Tiến trình nào đến trước được phục vụ trước.
6. Trong ngữ cảnh hệ điều hành, "đoạn mã lệnh hệ thống" (system call) là gì?
A. Một hàm thư viện do người dùng tự định nghĩa.
B. Một yêu cầu từ chương trình người dùng đến hệ điều hành để thực hiện các tác vụ đặc quyền.
C. Một lỗi xảy ra trong quá trình thực thi chương trình.
D. Một đoạn mã chương trình tự động chạy khi khởi động máy tính.
7. Hãy chọn phát biểu đúng về sự khác biệt giữa "tiến trình" (process) và "luồng" (thread) trong hệ điều hành.
A. Tiến trình chia sẻ không gian bộ nhớ, luồng thì không.
B. Luồng là đơn vị cơ bản để cấp phát tài nguyên, tiến trình là đơn vị thực thi.
C. Tiến trình là đơn vị cơ bản để cấp phát tài nguyên, luồng là đơn vị thực thi trong tiến trình.
D. Tiến trình và luồng là hai khái niệm hoàn toàn đồng nhất và có thể thay thế cho nhau.
8. Trong quản lý file, "inode" (index node) được sử dụng để làm gì?
A. Lưu trữ nội dung của file.
B. Lưu trữ siêu dữ liệu (metadata) về file như quyền truy cập, kích thước, thời gian tạo, vị trí dữ liệu trên đĩa.
C. Quản lý bộ nhớ cache cho các file thường xuyên được truy cập.
D. Mã hóa và giải mã nội dung của file để bảo mật.
9. Tình huống nào sau đây có thể dẫn đến "bế tắc" (deadlock) trong hệ điều hành?
A. Hai tiến trình cùng truy cập vào một file để đọc dữ liệu.
B. Một tiến trình yêu cầu nhiều tài nguyên cùng một lúc.
C. Hai tiến trình cùng giữ một tài nguyên và yêu cầu tài nguyên mà tiến trình kia đang giữ.
D. Một tiến trình giải phóng tài nguyên sau khi sử dụng xong.
10. Ứng dụng nào sau đây minh họa rõ nhất cho khái niệm "hệ điều hành thời gian thực" (real-time operating system)?
A. Phần mềm soạn thảo văn bản Microsoft Word.
B. Hệ thống điều khiển phanh ABS trên ô tô.
C. Trình duyệt web Google Chrome.
D. Phần mềm chơi game trực tuyến.
11. Phương pháp "DMA" (Direct Memory Access) trong quản lý thiết bị I/O giúp cải thiện hiệu suất hệ thống như thế nào?
A. Tăng tốc độ xử lý của CPU khi thực hiện các thao tác I/O.
B. Cho phép CPU trực tiếp quản lý và điều khiển các thiết bị I/O.
C. Cho phép thiết bị I/O truyền dữ liệu trực tiếp đến hoặc từ bộ nhớ chính mà không cần CPU can thiệp.
D. Giảm thiểu mức tiêu thụ điện năng của các thiết bị I/O.
12. Trong hệ thống file phân cấp (hierarchical file system), cấu trúc thư mục hình cây mang lại lợi ích chính nào?
A. Tăng tốc độ truy cập file.
B. Giảm dung lượng lưu trữ cần thiết cho file.
C. Tổ chức file một cách logic và dễ quản lý, cho phép người dùng dễ dàng tìm kiếm và truy cập file.
D. Bảo vệ file khỏi sự truy cập trái phép.
13. Cơ chế "bộ nhớ ảo" (virtual memory) hoạt động dựa trên nguyên tắc nào?
A. Sử dụng bộ nhớ cache tốc độ cao để lưu trữ dữ liệu thường xuyên truy cập.
B. Mở rộng bộ nhớ RAM vật lý bằng cách sử dụng một phần ổ cứng làm bộ nhớ phụ.
C. Nén dữ liệu trong bộ nhớ RAM để tăng dung lượng bộ nhớ khả dụng.
D. Chia bộ nhớ RAM thành các vùng nhỏ và cấp phát động cho các tiến trình.
14. Trong bảo mật hệ thống, "kiểm soát truy cập" (access control) có vai trò gì?
A. Phát hiện và loại bỏ virus máy tính.
B. Ngăn chặn người dùng trái phép truy cập vào tài nguyên hệ thống và dữ liệu.
C. Mã hóa dữ liệu để bảo vệ tính bí mật.
D. Giám sát hoạt động của người dùng trên hệ thống.
15. Xét về hiệu năng, thuật toán lập lịch "SJF" (Shortest Job First) có ưu điểm gì so với "FIFO" (First-In, First-Out)?
A. SJF dễ cài đặt và triển khai hơn FIFO.
B. SJF đảm bảo tính công bằng hơn FIFO.
C. SJF giảm thiểu thời gian chờ trung bình và thời gian hoàn thành trung bình của các tiến trình.
D. SJF ít bị hiện tượng "convoy effect" hơn FIFO.
16. Chức năng chính của hệ điều hành là gì?
A. Quản lý phần cứng và phần mềm máy tính
B. Chạy các ứng dụng văn phòng
C. Duyệt web và gửi email
D. Chơi game và giải trí
17. Tiến trình (Process) là gì trong hệ điều hành?
A. Một chương trình đang được lưu trữ trên ổ cứng
B. Một chương trình đang được thực thi và có tài nguyên riêng
C. Một đoạn mã lệnh tĩnh
D. Một thư viện chứa các hàm hệ thống
18. Trong quản lý bộ nhớ, kỹ thuật phân trang (Paging) giúp giải quyết vấn đề gì?
A. Tăng tốc độ truy cập bộ nhớ cache
B. Cho phép tiến trình lớn hơn bộ nhớ vật lý
C. Giảm thiểu phân mảnh ngoại vi
D. Bảo vệ dữ liệu khỏi bị truy cập trái phép
19. Thuật toán lập lịch CPU "Round Robin" phù hợp nhất với loại hệ thống nào?
A. Hệ thống thời gian thực (Real-time system)
B. Hệ thống bó (Batch system)
C. Hệ thống chia sẻ thời gian (Time-sharing system)
D. Hệ thống nhúng (Embedded system)
20. Điểm khác biệt chính giữa "tiến trình" (Process) và "luồng" (Thread) là gì?
A. Tiến trình chia sẻ bộ nhớ, luồng thì không
B. Tiến trình là đơn vị thực thi nhỏ hơn luồng
C. 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ó
D. Luồng có thể chạy độc lập trên các CPU khác nhau, tiến trình thì không
21. Mutex và Semaphore là cơ chế đồng bộ hóa được sử dụng để giải quyết vấn đề gì?
A. Phân mảnh bộ nhớ
B. Tranh chấp tài nguyên (Race condition)
C. Rò rỉ bộ nhớ
D. Deadlock trong hệ thống
22. Trong ngữ cảnh hệ điều hành, "Deadlock" (bế tắc) xảy ra khi nào?
A. Khi một tiến trình bị lỗi và dừng hoạt động
B. Khi nhiều tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên mà chúng đang giữ
C. Khi bộ nhớ vật lý bị đầy
D. Khi CPU quá tải
23. Phương pháp nào sau đây KHÔNG phải là cơ chế xử lý Deadlock?
A. Ngăn chặn (Prevention)
B. Phát hiện và phục hồi (Detection and Recovery)
C. Tránh né (Avoidance)
D. Đánh giá hiệu năng (Performance evaluation)
24. Hệ thống tập tin (File system) có vai trò gì trong hệ điều hành?
A. Quản lý kết nối mạng
B. Quản lý bộ nhớ ảo
C. Tổ chức và quản lý dữ liệu trên thiết bị lưu trữ
D. Điều khiển thiết bị nhập/xuất
25. "Bộ nhớ ảo" (Virtual memory) được hiện thực hóa bằng sự kết hợp của những thành phần nào?
A. RAM và CPU cache
B. RAM và ổ cứng
C. CPU và ổ cứng
D. ROM và RAM
26. Trong bảo mật hệ điều hành, "cơ chế xác thực" (Authentication) dùng để làm gì?
A. Mã hóa dữ liệu
B. Kiểm tra danh tính người dùng hoặc tiến trình
C. Ngăn chặn virus và malware
D. Kiểm soát quyền truy cập tài nguyên
27. Loại hệ điều hành nào phù hợp nhất cho các thiết bị di động như điện thoại thông minh?
A. Hệ điều hành thời gian thực (Real-time OS)
B. Hệ điều hành đa nhiệm (Multitasking OS)
C. Hệ điều hành bó (Batch OS)
D. Hệ điều hành đơn nhiệm (Single-tasking OS)
28. Ưu điểm chính của việc sử dụng hệ thống tập tin "nhật ký" (Journaling File System) là gì?
A. Tăng tốc độ truy cập dữ liệu
B. Giảm phân mảnh tập tin
C. Cải thiện khả năng phục hồi dữ liệu sau sự cố hệ thống
D. Tiết kiệm không gian lưu trữ
29. Cơ chế "ngắt" (Interrupt) trong hệ điều hành được sử dụng để làm gì?
A. Tăng tốc độ xử lý của CPU
B. Cho phép thiết bị ngoại vi yêu cầu sự chú ý của CPU
C. Quản lý bộ nhớ cache
D. Lập lịch tiến trình
30. So sánh thuật toán lập lịch "First-Come, First-Served" (FCFS) và "Shortest Job First" (SJF). SJF thường có ưu điểm gì hơn FCFS?
A. Đơn giản và dễ cài đặt hơn
B. Công bằng hơn với các tiến trình dài
C. Thời gian chờ trung bình ngắn hơn
D. Ít bị starvation hơn
31. Vai trò chính của hệ điều hành (Operating System - OS) trong một hệ thống máy tính là gì?
A. Cung cấp giao diện đồ họa người dùng (GUI) đẹp mắt.
B. Quản lý và điều phối tài nguyên phần cứng và phần mềm, cung cấp môi trường để chạy ứng dụng.
C. Tăng tốc độ xử lý của bộ vi xử lý (CPU).
D. Bảo vệ máy tính khỏi virus và phần mềm độc hại.
32. Thành phần nào của hệ điều hành chịu trách nhiệm quản lý bộ nhớ chính (RAM) và bộ nhớ ảo?
A. Bộ quản lý tiến trình (Process Manager).
B. Bộ quản lý bộ nhớ (Memory Manager).
C. Bộ quản lý tập tin (File Manager).
D. Bộ quản lý thiết bị (Device Manager).
33. Khi một tiến trình chuyển từ trạng thái "Đang chạy" (Running) sang trạng thái "Chờ" (Waiting), nguyên nhân phổ biến nhất là gì?
A. Tiến trình đã hoàn thành tất cả các lệnh.
B. Tiến trình được cấp phát CPU nhiều hơn các tiến trình khác.
C. Tiến trình đang chờ một sự kiện nào đó xảy ra, ví dụ như hoàn thành thao tác I/O hoặc nhận dữ liệu từ tiến trình khác.
D. Tiến trình bị hệ điều hành tạm dừng để nhường CPU cho tiến trình có độ ưu tiên cao hơn.
34. Thuật ngữ "đa nhiệm" (multitasking) trong hệ điều hành đề cập đến khả năng nào?
A. Khả năng chạy nhiều chương trình trên nhiều CPU cùng một lúc.
B. Khả năng chạy nhiều chương trình trên một CPU bằng cách chia sẻ thời gian CPU.
C. Khả năng chạy một chương trình duy nhất với nhiều luồng thực thi.
D. Khả năng kết nối nhiều máy tính thành một hệ thống phân tán.
35. Trong quản lý tiến trình, giải thuật lập lịch "FIFO" (First-In, First-Out) còn được gọi là gì?
A. Lập lịch ưu tiên (Priority Scheduling).
B. Lập lịch vòng tròn (Round Robin Scheduling).
C. Lập lịch theo lượt (Shortest Job First Scheduling).
D. Lập lịch đến trước phục vụ trước (First-Come, First-Served Scheduling).
36. Khi bạn mở nhiều tab trình duyệt web, hệ điều hành đang áp dụng khái niệm nào để quản lý các tab này?
A. Bộ nhớ đệm (Cache Memory).
B. Bộ nhớ ảo (Virtual Memory).
C. Tiến trình và luồng (Processes and Threads).
D. Ngắt (Interrupts).
37. Điều gì xảy ra khi một chương trình người dùng (user program) muốn thực hiện một thao tác đặc quyền, ví dụ như truy cập trực tiếp vào phần cứng?
A. Chương trình người dùng có thể truy cập trực tiếp phần cứng mà không cần sự can thiệp của hệ điều hành.
B. Chương trình người dùng phải gửi yêu cầu đến hệ điều hành thông qua lời gọi hệ thống (system call).
C. Hệ điều hành tự động cấp quyền truy cập phần cứng cho chương trình người dùng.
D. Chương trình người dùng sẽ bị treo (crash) vì vi phạm quyền truy cập.
38. Sự khác biệt chính giữa bộ nhớ phân trang (paging) và bộ nhớ phân đoạn (segmentation) trong quản lý bộ nhớ là gì?
A. Phân trang chia bộ nhớ thành các khối có kích thước cố định, phân đoạn chia thành các khối có kích thước thay đổi.
B. Phân trang sử dụng bảng trang, phân đoạn sử dụng bảng đoạn.
C. Phân trang nhanh hơn phân đoạn trong việc truy cập bộ nhớ.
D. Cả 1 và 2 đều đúng.
39. Trong ngữ cảnh hệ điều hành, "deadlock" (bế tắc) xảy ra khi nào?
A. Khi một tiến trình chiếm giữ tất cả tài nguyên của hệ thống.
B. Khi hai hoặc nhiều tiến trình cùng chờ đợi lẫn nhau để giải phóng tài nguyên mà tiến trình kia đang giữ.
C. Khi hệ thống bộ nhớ bị đầy và không thể cấp phát thêm bộ nhớ.
D. Khi CPU quá tải và không thể xử lý tất cả các tiến trình.
40. Cơ chế "ngắt" (interrupt) trong hệ điều hành được sử dụng để làm gì?
A. Tăng tốc độ xử lý của CPU.
B. Cho phép hệ điều hành xử lý các sự kiện bất đồng bộ (asynchronous events) như thao tác I/O hoàn thành hoặc lỗi phần cứng.
C. Quản lý bộ nhớ ảo.
D. Lập lịch các tiến trình.
41. Hệ điều hành thời gian thực (Real-time OS - RTOS) được thiết kế chủ yếu cho các ứng dụng nào?
A. Ứng dụng văn phòng và duyệt web.
B. Hệ thống điều khiển công nghiệp, robot, và các hệ thống nhúng yêu cầu phản hồi nhanh và đúng thời gian.
C. Máy chủ cơ sở dữ liệu lớn.
D. Hệ thống chơi game đồ họa cao.
42. Trong quản lý tập tin, "inode" (index node) được sử dụng để làm gì?
A. Lưu trữ nội dung của tập tin.
B. Lưu trữ siêu dữ liệu (metadata) của tập tin, như quyền truy cập, kích thước, thời gian sửa đổi, và vị trí dữ liệu trên đĩa.
C. Đặt tên cho tập tin.
D. Mã hóa tập tin.
43. Tại sao hệ điều hành cần có cơ chế đồng bộ hóa (synchronization) giữa các tiến trình?
A. Để tăng tốc độ thực thi của các tiến trình.
B. Để đảm bảo các tiến trình có thể chia sẻ tài nguyên một cách an toàn và tránh tình trạng tranh chấp dữ liệu (race condition).
C. Để giảm dung lượng bộ nhớ sử dụng bởi các tiến trình.
D. Để đơn giản hóa việc lập trình đa tiến trình.
44. Hệ điều hành nào sau đây là một ví dụ về hệ điều hành mã nguồn mở (open-source)?
A. Microsoft Windows.
B. macOS.
C. Linux.
D. iOS.
45. Trong bảo mật hệ điều hành, "ACL" (Access Control List) được sử dụng để làm gì?
A. Mã hóa dữ liệu.
B. Kiểm soát truy cập đến các tài nguyên hệ thống bằng cách xác định quyền của người dùng hoặc nhóm người dùng.
C. Phát hiện và loại bỏ virus.
D. Quản lý mật khẩu người dùng.
46. Thành phần cốt lõi của hệ điều hành, chịu trách nhiệm quản lý tài nguyên hệ thống và cung cấp các dịch vụ cơ bản cho ứng dụng được gọi là gì?
A. Shell
B. Kernel
C. Compiler
D. Driver
47. Trong một hệ điều hành đa chương trình (multiprogramming), tại sao việc lập lịch trình CPU (process scheduling) là cần thiết?
A. Để giảm thiểu nguy cơ virus xâm nhập vào hệ thống.
B. Để tối đa hóa thời gian phản hồi của người dùng.
C. Để đảm bảo mỗi tiến trình đều được sử dụng CPU một cách công bằng và hiệu quả, tăng hiệu suất tổng thể của hệ thống.
D. Để đơn giản hóa giao diện người dùng của hệ điều hành.
48. Khi bạn mở nhiều ứng dụng trên máy tính và thấy chúng có vẻ như chạy đồng thời, tính năng nào của hệ điều hành cho phép điều này xảy ra?
A. Quản lý bộ nhớ ảo (Virtual Memory Management)
B. Đa nhiệm (Multitasking) / Chia sẻ thời gian (Time-sharing)
C. Quản lý hệ thống tập tin (File System Management)
D. Quản lý thiết bị ngoại vi (Device Management)
49. Sự khác biệt chính giữa thuật toán lập lịch ưu tiên (priority scheduling) và thuật toán lập lịch vòng quay (round robin scheduling) là gì?
A. Ưu tiên dựa trên thời gian thực thi, vòng quay dựa trên mức độ quan trọng.
B. Ưu tiên gán mức độ ưu tiên cho tiến trình, vòng quay chia đều thời gian CPU cho tất cả tiến trình.
C. Ưu tiên luôn đảm bảo tiến trình quan trọng nhất được chạy trước, vòng quay luôn đảm bảo tính công bằng tuyệt đối.
D. Ưu tiên chỉ phù hợp cho hệ thống đơn nhiệm, vòng quay chỉ phù hợp cho hệ thống đa nhiệm.
50. Trong trường hợp máy tính bị mất điện đột ngột khi đang ghi dữ liệu vào ổ cứng, cơ chế nào của hệ điều hành giúp đảm bảo tính toàn vẹn dữ liệu và khả năng phục hồi hệ thống?
A. Cơ chế bộ nhớ đệm (Cache)
B. Cơ chế hoán đổi (Swapping)
C. Cơ chế nhật ký (Journaling) của hệ thống tập tin
D. Cơ chế phân trang (Paging)