1. 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 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ý và điều phối 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 loại virus máy tính có khả năng kiểm soát toàn bộ hệ thống.
D. Một thiết bị phần cứng giúp tăng tốc độ xử lý của máy tính.
2. Thành phần nào của hệ điều hành chịu trách nhiệm trực tiếp quản lý và cấp phát tài nguyên CPU, bộ nhớ và thiết bị ngoại vi?
A. Shell (Vỏ)
B. Kernel (Nhân)
C. GUI (Giao diện đồ họa người dùng)
D. Trình biên dịch
3. 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 hiện các lệnh tính toán.
B. Tiến trình vừa được tạo và sẵn sàng thực thi.
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 được tín hiệu.
D. Tiến trình đã hoàn thành việc thực thi và chuẩn bị kết thúc.
4. Kỹ thuật "phân trang" (paging) trong quản lý bộ nhớ ảo giúp giải quyết vấn đề gì?
A. Tăng tốc độ truy cập bộ nhớ chính.
B. Cho phép các tiến trình có kích thước lớn hơn bộ nhớ vật lý có thể chạy được.
C. Ngăn chặn virus xâm nhập vào bộ nhớ.
D. Tiết kiệm năng lượng tiêu thụ của bộ nhớ.
5. Trong ngữ cảnh hệ thống tập tin, "inode" đượ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 tạo, vị trí dữ liệu trên đĩa.
C. Quản lý danh sách các thư mục con trong một thư mục.
D. Đánh dấu các khu vực trống trên đĩa cứng.
6. Nguyên tắc "FIFO" (First-In, First-Out) thường được áp dụng trong thuật toán nào của hệ điều hành?
A. Thuật toán lập lịch CPU.
B. Thuật toán thay thế trang trong bộ nhớ ảo.
C. Quản lý hàng đợi in.
D. Tất cả các đáp án trên.
7. Đ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 đẹp hơn.
B. Hệ điều hành thời gian thực đảm bảo thời gian phản hồi cho các tác vụ quan trọng trong một khoảng thời gian giới hạn.
C. Hệ điều hành thời gian thực có khả năng chạy được trên nhiều loại phần cứng hơn.
D. Hệ điều hành thời gian thực sử dụng ít bộ nhớ hơn.
8. Dịch vụ nào sau đây KHÔNG phải là dịch vụ cơ bản mà hệ điều hành cung cấp cho người dùng và ứng dụng?
A. Quản lý tập tin.
B. Giao diện người dùng.
C. Trình duyệt web.
D. Quản lý bộ nhớ.
9. Vấn đề "đoạn tranh chấp" (critical section) trong đồng bộ hóa tiến trình phát sinh khi nào?
A. Khi nhiều tiến trình cùng truy cập vào bộ nhớ.
B. Khi một tiến trình thực hiện thao tác I/O.
C. Khi nhiều tiến trình cùng chia sẻ và truy cập vào một vùng dữ liệu chung.
D. Khi một tiến trình bị lỗi và dừng hoạt động.
10. Điều kiện "loại trừ lẫn nhau" (mutual exclusion) trong giải quyết đoạn tranh chấp có nghĩa là gì?
A. Chỉ có một tiến trình được phép truy cập vào đoạn tranh chấp tại một thời điểm.
B. Các tiến trình phải thay phiên nhau truy cập vào đoạn tranh chấp.
C. Các tiến trình không được phép truy cập vào đoạn tranh chấp.
D. Các tiến trình được phép truy cập đồng thời vào đoạn tranh chấp.
11. Tình huống "bế tắc" (deadlock) có thể xảy ra khi nào trong hệ điều hành?
A. Khi có quá nhiều tiến trình được tạo ra.
B. Khi các tiến trình yêu cầu tài nguyên theo một thứ tự tuần hoàn và giữ tài nguyên đã cấp phát.
C. Khi hệ thống bộ nhớ bị đầy.
D. Khi một tiến trình chiếm dụng CPU quá lâu.
12. Cơ chế "quyền truy cập" (access control) trong hệ điều hành được sử dụng để làm gì?
A. Tăng tốc độ truy cập dữ liệu.
B. Đảm bảo tính bảo mật bằng cách kiểm soát người dùng nào được phép truy cập vào tài nguyên nào.
C. Tiết kiệm dung lượng lưu trữ.
D. Quản lý các tiến trình đang chạy.
13. Lệnh "chmod" trong hệ điều hành Linux/Unix được sử dụng để làm gì?
A. Thay đổi tên tập tin hoặc thư mục.
B. Thay đổi quyền truy cập của tập tin hoặc thư mục.
C. Sao chép tập tin hoặc thư mục.
D. Xóa tập tin hoặc thư mục.
14. Công nghệ "ảo hóa" (virtualization) mang lại lợi ích chính nào cho người dùng và doanh nghiệp?
A. Giảm giá thành phần cứng máy tính.
B. Cho phép chạy nhiều hệ điều hành khác nhau trên cùng một phần cứng vật lý, tăng hiệu quả sử dụng tài nguyên.
C. Tăng tốc độ xử lý của máy tính.
D. Giảm thiểu nguy cơ virus tấn công.
15. Trong hệ điều hành di động như Android, "Activity" (Hoạt động) tương ứng với khái niệm nào trong hệ điều hành máy tính truyền thống?
A. Tiến trình (Process).
B. Luồng (Thread).
C. Tập tin (File).
D. Ổ đĩa (Disk).
16. Nguyên lý nào sau đây KHÔNG phải là mục tiêu chính của hệ điều hành?
A. Tối ưu hóa hiệu suất hệ thống
B. Quản lý tài nguyên phần cứng hiệu quả
C. Cung cấp giao diện người dùng thân thiện
D. Phát triển phần mềm ứng dụng dễ dàng
17. Tiến trình (Process) khác với chương trình (Program) ở điểm nào?
A. Tiến trình là mã nguồn, chương trình là mã máy.
B. Tiến trình là một thực thể thụ động, chương trình là một thực thể chủ động.
C. Tiến trình là một thể hiện đang chạy của chương trình, chương trình là tập hợp các chỉ thị.
D. Tiến trình chỉ tồn tại trong bộ nhớ ngoài, chương trình tồn tại trong bộ nhớ trong.
18. Trong quản lý bộ nhớ, kỹ thuật "phân trang" (paging) giải quyết vấn đề phân mảnh bộ nhớ nào?
A. Phân mảnh ngoại vi
B. Phân mảnh nội vi
C. Cả phân mảnh ngoại vi và nội vi
D. Không phân mảnh nào cả
19. 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 đã được cấp phát CPU và bắt đầu chạy.
C. Sự kiện mà tiến trình chờ đợi đã hoàn thành.
D. Tiến trình bị hệ điều hành tạm dừng để nhường CPU cho tiến trình khác.
20. Lập lịch CPU (CPU scheduling) có vai trò quan trọng nhất trong loại hệ điều hành nào sau đây?
A. Hệ điều hành theo lô (Batch Operating System)
B. Hệ điều hành thời gian thực (Real-time Operating System)
C. Hệ điều hành đa chương trình (Multiprogramming Operating System)
D. Hệ điều hành nhúng (Embedded Operating System)
21. Trong ngữ cảnh hệ điều hành, "ngõ cụt" (deadlock) xảy ra khi nào?
A. Khi một tiến trình chiếm dụng CPU quá lâu.
B. Khi nhiều tiến trình cùng truy cập vào một vùng nhớ.
C. Khi 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ữ.
D. Khi hệ thống hết bộ nhớ vật lý.
22. Hãy xem xét một hệ thống máy tính đang chạy nhiều ứng dụng cùng lúc (ví dụ: duyệt web, nghe nhạc, soạn thảo văn bản). Cơ chế nào của hệ điều hành giúp người dùng cảm thấy các ứng dụng này chạy "song song"?
A. Bộ nhớ ảo (Virtual memory)
B. Đa nhiệm (Multitasking)
C. Quản lý tập tin (File management)
D. Trình điều khiển thiết bị (Device drivers)
23. Trong hệ thống tập tin, mục đích chính của việc sử dụng "bảng cấp phát tập tin" (File Allocation Table - FAT) là gì?
A. Kiểm soát quyền truy cập tập tin.
B. Tổ chức các tập tin thành thư mục.
C. Theo dõi vị trí các khối dữ liệu của mỗi tập tin trên đĩa.
D. Mã hóa nội dung tập tin để bảo mật.
24. So sánh bộ nhớ cache và bộ nhớ chính (RAM), đặc điểm nào sau đây KHÔNG đúng?
A. Bộ nhớ cache có tốc độ truy cập nhanh hơn RAM.
B. Bộ nhớ cache có dung lượng lớn hơn RAM.
C. Bộ nhớ cache đắt hơn RAM trên mỗi đơn vị dung lượng.
D. Bộ nhớ cache được sử dụng để lưu trữ dữ liệu thường xuyên được CPU truy cập.
25. Phương pháp "hoán đổi" (swapping) trong quản lý bộ nhớ thường được sử dụng khi nào?
A. Khi cần tăng tốc độ truy cập bộ nhớ.
B. Khi hệ thống thiếu bộ nhớ vật lý để chạy các tiến trình.
C. Khi cần bảo vệ bộ nhớ khỏi truy cập trái phép.
D. Khi muốn chia sẻ bộ nhớ giữa các tiến trình.
26. Trong mô hình bảo mật hệ điều hành, "quyền tối thiểu" (principle of least privilege) có nghĩa là gì?
A. Mỗi người dùng nên có quyền truy cập tối thiểu vào hệ thống.
B. Mỗi 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 nó.
C. Hệ thống nên sử dụng tối thiểu các cơ chế bảo mật phức tạp.
D. Người dùng nên được yêu cầu nhập mật khẩu tối thiểu số lần.
27. Bộ phận nào của hệ điều hành chịu trách nhiệm giao tiếp trực tiếp với phần cứng máy tính?
A. Shell (Vỏ)
B. Kernel (Nhân)
C. System calls (Lời gọi hệ thống)
D. Thư viện hệ thống (System libraries)
28. Ưu điểm chính của việc sử dụng "luồng" (threads) thay vì "tiến trình" (processes) trong lập trình đa nhiệm là gì?
A. Luồng có độ an toàn cao hơn tiến trình.
B. Luồng có thể chạy trên nhiều CPU khác nhau dễ dàng hơn tiến trình.
C. Luồng chia sẻ không gian bộ nhớ chung, giảm chi phí chuyển đổi ngữ cảnh và giao tiếp.
D. Luồng độc lập hoàn toàn với các luồng khác, dễ dàng quản lý lỗi hơn.
29. Trong hệ thống bảo mật, "xác thực" (authentication) khác với "ủy quyền" (authorization) như thế nào?
A. Xác thực kiểm tra danh tính người dùng, ủy quyền cấp quyền truy cập tài nguyên.
B. Xác thực xảy ra sau khi ủy quyền.
C. Ủy quyền là một phần của quá trình xác thực.
D. Xác thực chỉ áp dụng cho người dùng, ủy quyền chỉ áp dụng cho tiến trình.
30. Trong hệ thống tập tin phân cấp (hierarchical file system), cấu trúc dữ liệu nào thường được sử dụng để thể hiện mối quan hệ "cha-con" giữa các thư mục?
A. Mảng (Array)
B. Danh sách liên kết (Linked list)
C. Cây (Tree)
D. Đồ thị (Graph)
31. Đâu là vai trò chính của Hệ điều hành (Operating System) trong một hệ thống máy tính?
A. Quản lý và phân 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 đồ họa (GUI) trực quan.
C. Phát triển và biên dịch mã nguồn chương trình.
D. Kết nối và quản lý mạng máy tính.
32. 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ư điện thoại thông minh và thiết bị IoT?
A. Hệ điều hành thời gian thực (Real-time OS)
B. Hệ điều hành phân tán (Distributed OS)
C. Hệ điều hành đa nhiệm (Multi-tasking OS)
D. Hệ điều hành theo lô (Batch OS)
33. 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ớ.
B. Giảm thiểu phân mảnh bộ nhớ ngoài (external fragmentation).
C. Cho phép các tiến trình chia sẻ bộ nhớ.
D. Đơn giản hóa việc quản lý bộ nhớ cache.
34. Thuật toán lập lịch CPU "Round Robin" 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. Gán CPU cho tiến trình có độ ưu tiên cao nhất.
C. Chia sẻ thời gian CPU một cách công bằng cho tất cả các tiến trình.
D. Thực thi các tiến trình theo thứ tự đến trước phục vụ trước (FIFO).
35. Khái niệm "bế tắc" (deadlock) trong hệ điều hành xảy ra khi nào?
A. Hai hay nhiều tiến trình tranh giành cùng một tài nguyên không thể chia sẻ.
B. Một tiến trình bị treo vô thời hạn do lỗi lập trình.
C. Hai hay nhiều tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên mà chúng đang giữ.
D. Một tiến trình chiếm dụng CPU quá lâu, gây ra tình trạng "đói tài nguyên" cho tiến trình khác.
36. Điểm khác biệt chính giữa "ngắt cứng" (hardware interrupt) và "ngắt mềm" (software interrupt/system call) là gì?
A. Ngắt cứng được tạo ra bởi phần mềm, ngắt mềm được tạo ra bởi phần cứng.
B. Ngắt cứng có độ ưu tiên thấp hơn ngắt mềm.
C. Ngắt cứng được tạo ra bởi các thiết bị ngoại vi, ngắt mềm được tạo ra bởi chương trình người dùng.
D. Ngắt cứng xử lý các lỗi hệ thống, ngắt mềm xử lý các yêu cầu dịch vụ hệ thống.
37. Trong hệ thống 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 tạo.
C. Quản lý danh sách các thư mục con.
D. Cấp phát và giải phóng không gian đĩa cho tệp tin.
38. Cơ chế "Bộ nhớ ảo" (Virtual Memory) cho phép hệ thống thực hiện điều gì?
A. Tăng tốc độ truy cập bộ nhớ chính (RAM).
B. Chạy các chương trình có kích thước lớn hơn bộ nhớ vật lý hiện có.
C. Chia sẻ bộ nhớ giữa các tiến trình một cách an toàn.
D. Giảm thiểu điện năng tiêu thụ của bộ nhớ.
39. Trong ngữ cảnh bảo mật hệ điều hành, "xác thực" (authentication) khác với "ủy quyền" (authorization) như thế nào?
A. Xác thực là kiểm tra quyền truy cập tài nguyên, ủy quyền là xác minh danh tính người dùng.
B. Xác thực xảy ra trước ủy quyền.
C. Xác thực và ủy quyền là hai giai đoạn của cùng một quá trình bảo mật.
D. Xác thực là quá trình mã hóa dữ liệu, ủy quyền là quá trình giải mã dữ liệu.
40. Ứng dụng thực tế nào sau đây thể hiện rõ nhất vai trò của hệ điều hành thời gian thực (Real-time OS)?
A. Máy chủ web (Web server) xử lý hàng ngàn yêu cầu đồng thời.
B. Hệ thống điều khiển máy bay tự động (Autopilot system).
C. Phần mềm soạn thảo văn bản (Word processor).
D. Trình duyệt web (Web browser).
41. So sánh kiến trúc "Monolithic kernel" và "Microkernel", ưu điểm chính của Microkernel là gì?
A. Hiệu suất cao hơn do ít lớp trung gian.
B. Dễ dàng mở rộng và bảo trì hơn do tính module hóa cao.
C. Ít tốn tài nguyên hệ thống hơn.
D. Tương thích tốt hơn với phần cứng cũ.
42. Trong quản lý tiến trình, "ngữ cảnh tiến trình" (process context) bao gồm những thông tin gì?
A. Chỉ mã lệnh và dữ liệu của tiến trình.
B. Trạng thái CPU, giá trị các thanh ghi, bộ đếm chương trình, và thông tin quản lý bộ nhớ.
C. Thông tin về các tệp tin đang mở và kết nối mạng.
D. Tất cả các thông tin trên.
43. "Semaphore" và "Mutex" là các cơ chế đồng bộ hóa tiến trình. Điểm khác biệt quan trọng nhất giữa chúng là gì?
A. Semaphore chỉ dùng cho đồng bộ hóa trong một tiến trình, Mutex dùng cho đồng bộ hóa giữa các tiến trình.
B. Semaphore là biến đếm, Mutex là khóa nhị phân.
C. Semaphore có thể gây ra bế tắc, Mutex thì không.
D. Mutex hiệu quả hơn Semaphore trong việc bảo vệ vùng găng (critical section).
44. "System call" (lời gọi hệ thống) đóng vai trò cầu nối giữa thành phần nào và thành phần nào trong hệ thống máy tính?
A. Giữa phần cứng và phần mềm ứng dụng.
B. Giữa chương trình người dùng và kernel (nhân) hệ điều hành.
C. Giữa hệ điều hành và trình điều khiển thiết bị.
D. Giữa các tiến trình khác nhau trong hệ thống.
45. Trong ngữ cảnh quản lý bộ nhớ, "Thrashing" là hiện tượng gì và nó ảnh hưởng đến hiệu suất hệ thống như thế nào?
A. Hiện tượng tràn bộ nhớ, làm hệ thống bị treo.
B. Hiện tượng hệ thống liên tục thực hiện việc trao đổi trang (swapping) giữa bộ nhớ chính và bộ nhớ ảo, dẫn đến hiệu suất giảm sút nghiêm trọng.
C. Hiện tượng phân mảnh bộ nhớ, làm giảm không gian bộ nhớ khả dụng.
D. Hiện tượng xung đột bộ nhớ cache, làm chậm tốc độ truy cập bộ nhớ.
46. Nguyên lý cơ bản nhất của hệ điều hành là gì?
A. Tối ưu hóa hiệu suất phần cứng máy tính.
B. Cung cấp giao diện người dùng thân thiện và dễ sử dụng.
C. Quản lý và phân phối tài nguyên hệ thống (phần cứng và phần mềm) một cách hiệu quả để các chương trình ứng dụng có thể chạy.
D. Đảm bảo an ninh mạng và bảo vệ hệ thống khỏi virus và phần mềm độc hại.
47. Trong ngữ cảnh quản lý bộ nhớ, kỹ thuật "phân trang" (paging) giúp giải quyết vấn đề gì?
A. Giảm thiểu tình trạng phân mảnh bộ nhớ ngoài.
B. Tăng tốc độ truy cập bộ nhớ bằng cách sử dụng bộ nhớ cache.
C. Cho phép một tiến trình có kích thước lớn hơn bộ nhớ vật lý khả dụng được thực thi.
D. Đơn giản hóa quá trình lập trình bằng cách cung cấp không gian địa chỉ tuyến tính liên tục.
48. Bạn đang sử dụng máy tính để bàn, mở nhiều ứng dụng như trình duyệt web, phần mềm soạn thảo văn bản và trình nghe nhạc. Hệ điều hành thực hiện công việc gì để đảm bảo các ứng dụng này có thể chạy đồng thời và không bị xung đột?
A. Tự động đóng bớt các ứng dụng ít sử dụng để giải phóng tài nguyên.
B. Sử dụng kỹ thuật đa nhiệm (multitasking) để chia sẻ thời gian CPU và các tài nguyên khác cho các ứng dụng.
C. Tăng tốc độ xung nhịp của CPU để xử lý đồng thời nhiều ứng dụng.
D. Yêu cầu người dùng nâng cấp phần cứng máy tính để đáp ứng nhu cầu đa nhiệm.
49. Điểm khác biệt chính giữa hệ điều hành "nhân đơn" (monolithic kernel) và hệ điều hành "vi nhân" (microkernel) là gì?
A. Hệ điều hành vi nhân có giao diện người dùng phức tạp hơn.
B. Hệ điều hành nhân đơn chạy nhanh hơn hệ điều hành vi nhân do ít lớp trung gian.
C. Hệ điều hành vi nhân có hầu hết các dịch vụ hệ thống (như quản lý tệp tin, bộ nhớ, thiết bị) chạy trong không gian người dùng, trong khi hệ điều hành nhân đơn tích hợp chúng vào nhân.
D. Hệ điều hành nhân đơn dễ dàng mở rộng và tùy biến hơn hệ điều hành vi nhân.
50. Trong quản lý tiến trình, trạng thái "chờ" (waiting) của một tiến trình thường xảy ra khi nào?
A. Khi tiến trình đang được CPU thực thi các lệnh.
B. Khi tiến trình đã hoàn thành việc thực thi và chuẩn bị kết thúc.
C. Khi 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 được tín hiệu.
D. Khi tiến trình đang trong hàng đợi sẵn sàng để được cấp phát CPU.