1. Nguyên lý cơ bản nào sau đây KHÔNG phải là mục tiêu chính của hệ điều hành?
A. Quản lý tài nguyên hệ thống hiệu quả
B. Cung cấp giao diện người dùng thân thiện
C. Đảm bảo tính bảo mật và ổn định của hệ thống
D. Tối đa hóa lợi nhuận cho nhà sản xuất phần cứng
2. Trong quản lý tiến trình, trạng thái "Đang chờ" (Waiting) của một tiến trình thường xảy ra khi nào?
A. Tiến trình đang thực thi lệnh CPU
B. Tiến trình đã hoàn thành việc thực thi
C. Tiến trình đang chờ một sự kiện nào đó xảy ra (ví dụ: hoàn thành I/O)
D. Tiến trình vừa mới được tạo và sẵn sàng thực thi
3. Thuật toán lập lịch CPU "Round Robin" (RR) hoạt động dựa trên 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. Phân chia thời gian CPU thành các "quantum" và cấp phát lần lượt cho các tiến trình
D. Thực thi tiến trình đến khi hoàn thành, không bị gián đoạn
4. Cơ chế "Bộ nhớ ảo" (Virtual Memory) giải quyết vấn đề gì chính trong quản lý bộ nhớ?
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 dung lượng bộ nhớ vật lý
C. Giảm thiểu phân mảnh bộ nhớ ngoài
D. Đơn giản hóa việc quản lý bộ nhớ cache
5. Trong ngữ cảnh hệ điều hành, "System Call" (Lời gọi hệ thống) được sử dụng để làm gì?
A. Thực hiện các phép tính phức tạp trong không gian người dùng
B. Truy cập trực tiếp vào phần cứng máy tính
C. Yêu cầu dịch vụ từ kernel của hệ điều hành
D. Quản lý bộ nhớ cache của CPU
6. Tình huống "Deadlock" (Bế tắc) xảy ra khi nào trong hệ thống?
A. Khi có quá nhiều tiến trình cùng truy cập vào một tài nguyên
B. Khi một tiến trình bị lỗi và dừng hoạt động
C. 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à chúng đang giữ
D. Khi hệ thống bộ nhớ ảo bị đầy
7. Xét về bảo mật, cơ chế "Quyền truy cập" (Access Control) trong hệ điều hành nhằm mục đích gì?
A. Ngăn chặn virus và phần mềm độc hại xâm nhập hệ thống
B. Kiểm soát việc truy cập và sử dụng tài nguyên hệ thống của người dùng và tiến trình
C. Mã hóa dữ liệu trên ổ cứng để bảo vệ thông tin
D. Tăng tốc độ kết nối mạng
8. Trong quản lý bộ nhớ, kỹ thuật "Phân trang" (Paging) giúp giải quyết vấn đề gì so với kỹ thuật "Phân đoạn" (Segmentation)?
A. Giảm thiểu phân mảnh bộ nhớ trong
B. Giảm thiểu phân mảnh bộ nhớ ngoài
C. Tăng tốc độ truy cập bộ nhớ
D. Đơn giản hóa việc chia sẻ bộ nhớ giữa các tiến trình
9. Khi bạn mở nhiều ứng dụng trên điện thoại thông minh (smartphone) của mình, hệ điều hành sử dụng cơ chế nào để quản lý và chuyển đổi giữa các ứng dụng đó một cách mượt mà?
A. Đa nhiệm (Multitasking)
B. Bộ nhớ đệm (Caching)
C. Bộ nhớ ảo (Virtual Memory)
D. Quản lý file (File Management)
10. Trong hệ thống file, "inode" (index node) chứa thông tin gì quan trọng về file?
A. Nội dung của file
B. Tên của file
C. Metadata của file (ví dụ: quyền truy cập, kích thước, thời gian tạo)
D. Đường dẫn tuyệt đối đến file
11. Giả sử một tiến trình cần truy cập vào một file trên ổ cứng. Quá trình này thường được thực hiện thông qua thành phần nào của hệ điều hành?
A. Bộ lập lịch CPU (CPU Scheduler)
B. Hệ thống quản lý bộ nhớ (Memory Management System)
C. Hệ thống file (File System)
D. Trình quản lý thiết bị (Device Manager)
12. Loại hệ điều hành nào thường được sử dụng trong các hệ thống nhúng (embedded systems) như thiết bị điều khiển công nghiệp, ô tô tự lái?
A. Hệ điều hành thời gian thực (Real-time Operating System - RTOS)
B. Hệ điều hành đa người dùng (Multi-user Operating System)
C. Hệ điều hành phân tán (Distributed Operating System)
D. Hệ điều hành theo lô (Batch Operating System)
13. Trong ngữ cảnh 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 hủy bỏ một tiến trình đang chạy
C. Quá trình lưu lại trạng thái của một tiến trình và khôi phục trạng thái của một tiến trình khác để CPU có thể chuyển sang thực thi tiến trình khác
D. Quá trình phân bổ bộ nhớ cho một tiến trình
14. Ưu điểm chính của việc sử dụng "Luồng" (Threads) so với "Tiến trình" (Processes) trong lập trình đa nhiệm là gì?
A. Luồng có tính bảo mật cao hơn tiến trình
B. Luồng dễ dàng quản lý bộ nhớ hơn tiến trình
C. Luồng chia sẻ không gian địa chỉ bộ nhớ, giúp giao tiếp và chia sẻ dữ liệu giữa các luồng dễ dàng và hiệu quả hơn
D. Luồng có thể chạy trên nhiều CPU vật lý khác nhau
15. Trong hệ thống nhập/xuất (I/O), kỹ thuật "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 độ xử lý của CPU trong quá trình I/O
B. Cho phép thiết bị I/O trực tiếp truyền dữ liệu đến hoặc từ bộ nhớ chính mà không cần sự can thiệp liên tục của CPU
C. Giảm lượng điện năng tiêu thụ của thiết bị I/O
D. Đơn giản hóa việc lập trình điều khiển thiết bị I/O
16. Hệ điều hành (Operating System - OS) được định nghĩa chính xác nhất là gì?
A. Một chương trình ứng dụng phức tạp giúp người dùng soạn thảo văn bản và bảng tính.
B. Một phần mềm quản lý tài nguyên phần cứng và phần mềm của máy tính, cung cấp môi trường để chạy các ứng dụng.
C. Một thiết bị phần cứng trung tâm của máy tính, chịu trách nhiệm xử lý mọi tác vụ.
D. Một loại ngôn ngữ lập trình bậc cao dùng để phát triển các ứng dụng hệ thống.
17. Chức năng chính của bộ nhớ ảo (Virtual Memory) trong hệ điều hành là gì?
A. Tăng tốc độ truy xuất dữ liệu từ ổ cứng.
B. Mở rộng không gian bộ nhớ RAM khả dụng cho các tiến trình, cho phép chạy các chương trình lớn hơn dung lượng RAM vật lý.
C. Bảo vệ dữ liệu khỏi virus và phần mềm độc hại.
D. Quản lý bộ nhớ cache để tăng hiệu suất CPU.
18. Trong ngữ cảnh quản lý tiến trình, "Context Switching" (chuyển đổi ngữ cảnh) đề cập đến điều gì?
A. Việc chuyển đổi giữa các chế độ người dùng và chế độ kernel của hệ điều hành.
B. Quá trình hệ điều hành lưu và khôi phục trạng thái của một tiến trình để cho phép một tiến trình khác được thực thi.
C. Việc chuyển đổi giữa các loại bộ nhớ khác nhau (RAM, ổ cứng, cache).
D. Quá trình cài đặt và gỡ bỏ phần mềm trên hệ thống.
19. Thuật toán lập lịch CPU "First-Come, First-Served (FCFS)" có nhược điểm chính nào?
A. Ưu tiên các tiến trình có thời gian thực thi ngắn hơn.
B. Có thể dẫn đến "Convoy effect", khi một tiến trình dài chặn các tiến trình ngắn phía sau.
C. Khó triển khai và quản lý trong thực tế.
D. Yêu cầu thông tin trước về thời gian thực thi của các tiến trình.
20. Khi một chương trình muốn đọc dữ liệu từ ổ cứng, nó thường thực hiện thao tác nào thông qua hệ điều hành?
A. Gọi trực tiếp các lệnh điều khiển ổ cứng.
B. Sử dụng lời gọi hệ thống (System Call) để yêu cầu dịch vụ từ hệ điều hành.
C. Truy cập trực tiếp vào bộ nhớ vật lý chứa dữ liệu ổ cứng.
D. Gửi yêu cầu đến BIOS để thực hiện thao tác đọc.
21. Điểm 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, còn hệ điều hành đa nhiệm thì không.
B. Hệ điều hành thời gian thực tập trung vào tính kịp thời (timeliness) và đáp ứng thời gian nghiêm ngặt, trong khi hệ điều hành đa nhiệm tập trung vào hiệu suất tổng thể.
C. Hệ điều hành thời gian thực chỉ chạy được trên phần cứng chuyên dụng, còn hệ điều hành đa nhiệm chạy được trên nhiều loại phần cứng.
D. Hệ điều hành thời gian thực có khả năng quản lý bộ nhớ tốt hơn hệ điều hành đa nhiệm.
22. Kernel (nhân) của hệ điều hành có vai trò gì?
A. Cung cấp giao diện người dùng để tương tác với máy tính.
B. Quản lý tài nguyên hệ thống (CPU, bộ nhớ, thiết bị I/O) và cung cấp các dịch vụ cơ bản cho các ứng dụng.
C. Thực hiện các phép tính số học và logic.
D. Lưu trữ dữ liệu và chương trình trên ổ cứng.
23. File system (hệ thống tập tin) trong hệ điều hành có chức năng chính nào?
A. Quản lý kết nối mạng và truyền dữ liệu.
B. Tổ chức và quản lý dữ liệu trên các thiết bị lưu trữ (ổ cứng, SSD, USB) dưới dạng tập tin và thư mục.
C. Bảo vệ hệ thống khỏi các cuộc tấn công mạng.
D. Tối ưu hóa hiệu suất CPU và bộ nhớ.
24. Deadlock (tắc nghẽn) xảy ra khi nào trong hệ thống?
A. Khi có quá nhiều tiến trình cùng truy cập vào một tài nguyên.
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à chúng đang giữ, dẫn đến không tiến trình nào có thể tiếp tục thực hiện.
C. Khi hệ thống bộ nhớ bị đầy và không thể cấp phát thêm bộ nhớ cho tiến trình.
D. Khi CPU quá tải và không thể xử lý kịp các tiến trình.
25. Trong 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. Người dùng nên được cấp quyền quản trị hệ thống để dễ dàng sử dụng.
B. Mỗi người dùng và tiến trình 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 mình.
C. Mọi truy cập vào hệ thống đều phải được mã hóa để bảo mật.
D. Cần thường xuyên cập nhật phần mềm diệt virus để bảo vệ hệ thống.
26. Ví dụ nào sau đây thể hiện rõ nhất ứng dụng của hệ điều hành nhúng (Embedded OS)?
A. Hệ điều hành Windows trên máy tính cá nhân.
B. Hệ điều hành Android trên điện thoại thông minh.
C. Hệ điều hành của một chiếc lò vi sóng thông minh.
D. Hệ điều hành macOS trên máy tính MacBook.
27. Sự khác biệt chính giữa "Process" (Tiến trình) và "Thread" (Luồng) là gì?
A. Process là đơn vị thực thi nhỏ hơn Thread.
B. Process có không gian địa chỉ bộ nhớ riêng biệt, trong khi các Thread trong cùng một Process chia sẻ không gian địa chỉ.
C. Process chỉ có thể thực hiện tuần tự, còn Thread có thể thực hiện song song.
D. Process dễ dàng chia sẻ dữ liệu hơn Thread.
28. Mục đích chính của việc sử dụng "Device Driver" (Trình điều khiển thiết bị) trong hệ điều hành là gì?
A. Tăng tốc độ xử lý của CPU.
B. Cho phép hệ điều hành giao tiếp và điều khiển các thiết bị phần cứng khác nhau một cách thống nhất.
C. Quản lý bộ nhớ và cấp phát bộ nhớ cho các ứng dụng.
D. Cung cấp giao diện người dùng đồ họa.
29. Trong ngữ cảnh quản lý bộ nhớ, "Paging" (Phân trang) là kỹ thuật dùng để làm gì?
A. Tăng tốc độ truy cập bộ nhớ cache.
B. Chia bộ nhớ vật lý thành các khối có kích thước cố định (trang) để quản lý bộ nhớ ảo hiệu quả hơn.
C. Bảo vệ bộ nhớ khỏi bị ghi đè bởi các tiến trình khác.
D. Nén dữ liệu trong bộ nhớ để tiết kiệm không gian.
30. Khi máy tính khởi động (boot), hệ điều hành thường được nạp từ đâu vào bộ nhớ chính (RAM)?
A. Từ bộ nhớ cache của CPU.
B. Từ ổ cứng (hoặc SSD) nơi hệ điều hành được cài đặt.
C. Từ BIOS (Basic Input/Output System) hoặc UEFI (Unified Extensible Firmware Interface).
D. Từ bộ nhớ ROM (Read-Only Memory) trên bo mạch chủ.
31. Thành phần nào của hệ điều hành chịu trách nhiệm quản lý và điều phối các tài nguyên phần cứng của máy tính, đồng thời cung cấp giao diện cho các ứng dụng tương tác với phần cứng đó?
A. Shell
B. Kernel
C. Trình biên dịch
D. Ứng dụng hệ thống
32. Tiến trình (Process) và luồng (Thread) khác nhau cơ bản ở điểm nào?
A. Tiến trình chia sẻ không gian 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 là đơn vị sở hữu tài nguyên, luồng là đơn vị thực thi trong tiến trình.
D. Luồng có thể tồn tại độc lập mà không cần tiến trình.
33. Trong quản lý bộ nhớ, kỹ thuật phân trang (Paging) giúp giải quyết vấn đề nào sau đây?
A. Phân mảnh ngoại vi
B. Phân mảnh nội vi
C. Địa chỉ logic quá lớn so với bộ nhớ vật lý
D. Tốc độ truy cập bộ nhớ chậm
34. Thuật toán lập lịch nào sau đây ưu tiên tiến trình có thời gian thực thi ngắn nhất và có thể gây ra "starvation" (đói tài nguyên) cho các tiến trình dài?
A. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Round Robin (RR)
D. Priority Scheduling
35. Cơ chế bộ nhớ ảo (Virtual Memory) hoạt động dựa trên nguyên tắc nào sau đây?
A. Sử dụng bộ nhớ cache tốc độ cao
B. Sử dụng đĩa cứng làm bộ nhớ mở rộng
C. Chia bộ nhớ thành các đoạn có kích thước thay đổi
D. Cấp phát bộ nhớ liên tục cho tiến trình
36. Trong hệ thống file, inode (index node) chứa thông tin gì quan trọng về file?
A. Tên file và đường dẫn
B. Dữ liệu của file
C. Metadata của file (quyền truy cập, kích thước, thời gian sửa đổi,...) và con trỏ đến khối dữ liệu
D. Loại file (văn bản, hình ảnh, thực thi,...)
37. Khi một tiến trình thực hiện System Call, điều gì xảy ra?
A. Tiến trình chuyển sang trạng thái "waiting" để chờ kết quả.
B. Tiến trình trực tiếp truy cập vào phần cứng.
C. Tiến trình yêu cầu dịch vụ từ Kernel của hệ điều hành.
D. Tiến trình kết thúc và giải phóng tài nguyên.
38. Trong ngữ cảnh hệ điều hành thời gian thực (Real-time OS), yếu tố nào sau đây là quan trọng nhất?
A. Giao diện người dùng thân thiện
B. Khả năng xử lý đa nhiệm
C. Tính đáp ứng thời gian (determinism) và độ trễ thấp
D. Dung lượng lưu trữ lớn
39. Phương pháp nào sau đây thường được sử dụng để giải quyết vấn đề "Deadlock" (tắc nghẽn)?
A. Spooling
B. Buffering
C. Preemption (chiếm đoạt tài nguyên)
D. Context Switching
40. Hãy so sánh sự khác biệt chính giữa hệ điều hành đơn nhân (Monolithic Kernel) và hệ điều hành vi nhân (Microkernel).
A. Đơn nhân nhanh hơn, vi nhân an toàn hơn.
B. Đơn nhân dễ phát triển hơn, vi nhân linh hoạt hơn.
C. Đơn nhân có tất cả dịch vụ trong kernel, vi nhân chỉ có dịch vụ cốt lõi trong kernel.
D. Đơn nhân hỗ trợ đa nhiệm tốt hơn, vi nhân tiết kiệm bộ nhớ hơn.
41. 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. Người dùng nên có quyền truy cập cao nhất có thể để thực hiện công việc.
B. Mỗi người dùng hoặc tiến trình chỉ nên có quyền truy cập tối thiểu cần thiết để thực hiện nhiệm vụ của mình.
C. Quyền truy cập nên được cấp phát dựa trên mức độ tin cậy của người dùng.
D. Tất cả người dùng nên có quyền truy cập như nhau vào hệ thống.
42. Ứng dụng nào sau đây minh họa rõ nhất cho cơ chế "Spooling" trong hệ điều hành?
A. Trình duyệt web
B. Máy in
C. Trình soạn thảo văn bản
D. Trình quản lý file
43. Khi bộ nhớ vật lý đầy, hệ điều hành sử dụng thuật toán thay thế trang (Page Replacement Algorithm) để chọn trang nào cần được loại bỏ khỏi bộ nhớ. Thuật toán nào sau đây có thể dẫn đến "Belady"s Anomaly"?
A. FIFO (First-In, First-Out)
B. LRU (Least Recently Used)
C. Optimal Page Replacement
D. Clock Algorithm
44. Trong hệ thống file, "mount point" (điểm gắn kết) có vai trò gì?
A. Là thư mục gốc của hệ thống file.
B. Là vị trí mà một hệ thống file khác được gắn vào hệ thống file hiện tại.
C. Là vị trí lưu trữ tạm thời các file hệ thống.
D. Là nơi chứa các file cấu hình hệ thống.
45. Giả sử bạn có một hệ thống đa nhiệm, ưu tiên (Priority Scheduling) với cơ chế "preemptive" (chiếm đoạt). Nếu một tiến trình có độ ưu tiên cao hơn đến khi một tiến trình có độ ưu tiên thấp đang chạy, điều gì sẽ xảy ra?
A. Tiến trình có độ ưu tiên thấp tiếp tục chạy cho đến khi hoàn thành.
B. Tiến trình có độ ưu tiên cao hơn phải chờ tiến trình có độ ưu tiên thấp hoàn thành.
C. Tiến trình có độ ưu tiên thấp bị tạm dừng và tiến trình có độ ưu tiên cao hơn được thực thi.
D. Hệ thống sẽ xảy ra deadlock vì xung đột ưu tiên.
46. Đâu là thành phần cốt lõi của hệ điều hành, đóng vai trò trung gian giữa phần cứng và phần mềm ứng dụng, chịu trách nhiệm quản lý và điều phối tài nguyên hệ thống?
A. Trình biên dịch (Compiler)
B. Nhân hệ điều hành (Kernel)
C. Giao diện dòng lệnh (Command Line Interface)
D. Trình quản lý tệp (File Manager)
47. Trong một hệ thống đa chương trình (multiprogramming), tại sao việc lập lịch tiến trình (process scheduling) lại trở nên cần thiết đối với hệ điều hành?
A. Để tăng cường tính bảo mật của hệ thống.
B. Để tối ưu hóa việc sử dụng bộ nhớ chính.
C. Để đảm bảo mỗi tiến trình được cấp phát thời gian CPU một cách công bằng và hiệu quả.
D. Để đơn giản hóa giao diện người dùng.
48. Trong thực tế, khi bạn mở một ứng dụng trên điện thoại thông minh hoặc máy tính bảng, hệ điều hành đóng vai trò quan trọng trong việc quản lý bộ nhớ để ứng dụng đó có thể hoạt động. Cơ chế quản lý bộ nhớ nào cho phép hệ điều hành chạy các ứng dụng lớn hơn dung lượng RAM vật lý?
A. Bộ nhớ cache (Cache memory)
B. Bộ nhớ ảo (Virtual memory)
C. Bộ nhớ chỉ đọc (Read-only memory)
D. Bộ nhớ tuần tự (Sequential memory)
49. Xét về phương pháp cấp phát CPU cho các tiến trình, điểm khác biệt chính giữa thuật toán lập lịch "ưu tiên có độc quyền" (preemptive priority scheduling) và "ưu tiên không độc quyền" (non-preemptive priority scheduling) là gì?
A. Thuật toán "ưu tiên có độc quyền" luôn cấp phát CPU cho tiến trình có độ ưu tiên cao nhất, trong khi "ưu tiên không độc quyền" thì không.
B. Trong "ưu tiên có độc quyền", một tiến trình đang chạy có thể bị ngắt quãng bởi tiến trình có độ ưu tiên cao hơn, còn trong "ưu tiên không độc quyền" thì không.
C. "Ưu tiên có độc quyền" dễ cài đặt hơn "ưu tiên không độc quyền".
D. "Ưu tiên không độc quyền" hiệu quả hơn trong việc quản lý tài nguyên hệ thống so với "ưu tiên có độc quyền".
50. Khi bạn thực hiện thao tác sao chép một tệp tin từ ổ cứng sang USB, thành phần nào của hệ điều hành chịu trách nhiệm chính trong việc quản lý và điều khiển quá trình truyền dữ liệu này giữa các thiết bị ngoại vi?
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ý thiết bị I/O (I/O Device Manager)
D. Bộ quản lý tệp tin (File System Manager)