1. Chức năng chính của hệ điều hành là gì?
A. Quản lý phần cứng và cung cấp giao diện cho người dùng.
B. Chỉ chạy các ứng dụng người dùng.
C. Chỉ quản lý bộ nhớ.
D. Chỉ cung cấp kết nối mạng.
2. 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à giao tiếp trực tiếp với phần cứng, được gọi là gì?
A. Shell
B. Kernel
C. Application Programming Interface (API)
D. Trình biên dịch (Compiler)
3. Thuật toán điều phối tiến trình nào ưu tiên các tiến trình có thời gian CPU ngắn nhất còn lại?
A. First-Come, First-Served (FCFS)
B. Round Robin (RR)
C. Shortest Job Next (SJN) / Shortest Remaining Time Next (SRTN)
D. Priority Scheduling
4. Bộ nhớ ảo (Virtual Memory) có lợi ích chính nào trong hệ điều hành?
A. Tăng tốc độ CPU.
B. Cho phép chạy các chương trình lớn hơn dung lượng RAM vật lý.
C. Giảm tiêu thụ điện năng.
D. Đơn giản hóa việc quản lý bộ nhớ cache.
5. Hệ thống tập tin (File System) chịu trách nhiệm chính cho việc gì?
A. Quản lý kết nối mạng.
B. Quản lý và tổ chức dữ liệu trên thiết bị lưu trữ.
C. Điều khiển phần cứng đồ họa.
D. Thực thi các phép tính số học.
6. Loại hệ điều hành nào thường được sử dụng trong các hệ thống yêu cầu phản hồi tức thời và độ tin cậy cao, ví dụ như hệ thống điều khiển máy bay hoặc robot công nghiệp?
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 chia sẻ thời gian (Time-sharing Operating System)
D. Hệ điều hành phân tán (Distributed Operating System)
7. Tại sao cơ chế bảo vệ bộ nhớ (Memory Protection) lại quan trọng trong hệ điều hành đa người dùng?
A. Để tăng tốc độ truy cập bộ nhớ.
B. Để ngăn chặn một tiến trình truy cập trái phép vào bộ nhớ của tiến trình khác, đảm bảo tính ổn định và an toàn.
C. Để tiết kiệm bộ nhớ.
D. Để đơn giản hóa việc quản lý bộ nhớ.
8. Điểm khác biệt chính giữa thuật toán điều phối độc quyền (Preemptive Scheduling) và không độc quyền (Non-preemptive Scheduling) là gì?
A. Thuật toán độc quyền ưu tiên tiến trình có độ ưu tiên cao hơn.
B. Thuật toán độc quyền cho phép hệ điều hành tạm dừng một tiến trình đang chạy để chuyển CPU cho tiến trình khác, ngay cả khi tiến trình đó chưa hoàn thành.
C. Thuật toán không độc quyền sử dụng lượng tử thời gian (time quantum).
D. Thuật toán không độc quyền chỉ áp dụng cho hệ thống đơn nhiệm (single-tasking).
9. Lời gọi hệ thống (System call) là gì?
A. Một hàm thư viện được cung cấp bởi ngôn ngữ lập trình.
B. Một yêu cầu từ chương trình người dùng đến kernel của hệ điều hành để thực hiện một tác vụ đặc quyền, ví dụ như thao tác I/O hoặc quản lý tiến trình.
C. Một lệnh của CPU để thực hiện các phép tính số học.
D. Một thông báo lỗi từ phần cứng.
10. Chương trình đầu tiên thường được chạy khi máy tính khởi động (boot) được gọi là gì?
A. Hệ điều hành (Operating System)
B. Trình quản lý khởi động (Bootloader)
C. Ứng dụng người dùng đầu tiên (First User Application)
D. BIOS (Basic Input/Output System)
11. Trạng thái "Chờ" (Waiting/Blocked) 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 của 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 bên ngoài xảy ra, ví dụ như hoàn thành thao tác I/O, nhận dữ liệu từ người dùng, hoặc giải phóng tài nguyên.
D. Tiến trình đang tranh chấp CPU với các tiến trình khác.
12. Tình huống "bế tắc" (Deadlock) xảy ra khi nào trong hệ điều hành?
A. Khi một tiến trình bị lỗi và dừng hoạt động.
B. Khi hai hoặc nhiều tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên mà cả hai đều đang giữ, dẫn đến không tiến trình nào có thể tiếp tục.
C. Khi bộ nhớ hệ thống bị đầy.
D. Khi CPU quá tải.
13. "Lỗi trang" (Page fault) xảy ra khi nào trong quản lý bộ nhớ ảo?
A. Khi bộ nhớ vật lý (RAM) bị đầy.
B. Khi CPU truy cập một trang bộ nhớ không có trong RAM vật lý và cần được nạp từ bộ nhớ thứ cấp (ví dụ: ổ cứng).
C. Khi chương trình cố gắng truy cập bộ nhớ trái phép.
D. Khi hệ thống gặp lỗi phần cứng bộ nhớ.
14. Trình điều khiển thiết bị (Device driver) có vai trò gì trong hệ điều hành?
A. Quản lý bộ nhớ ảo.
B. Cung cấp giao diện để hệ điều hành giao tiếp và điều khiển phần cứng cụ thể, cho phép hệ điều hành sử dụng các thiết bị phần cứng.
C. Điều phối tiến trình.
D. Quản lý hệ thống tập tin.
15. Kiểm soát truy cập (Access control) trong hệ điều hành nhằm mục đích gì?
A. Tăng tốc độ xử lý của hệ thống.
B. Đảm bảo rằng chỉ người dùng hoặc tiến trình được ủy quyền mới có thể truy cập tài nguyên hệ thống, bảo vệ dữ liệu và hệ thống khỏi truy cập trái phép.
C. Quản lý bộ nhớ hiệu quả hơn.
D. Ngăn chặn virus xâm nhập vào hệ thống.
16. Đâu là vai trò chính của Hệ điều hành (Operating System - OS) trong một hệ thống máy tính?
A. Cung cấp các ứng dụng văn phòng như soạn thảo văn bản và bảng tính.
B. 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.
C. Thực hiện các phép tính toán phức tạp và xử lý dữ liệu lớn.
D. Kết nối máy tính với mạng Internet và quản lý lưu lượng mạng.
17. Thành phần cốt lõi của hệ điều hành, chịu trách nhiệm quản lý trực tiếp phần cứng và cung cấp các dịch vụ cơ bản cho các tiến trình người dùng được gọi là gì?
A. Shell
B. Kernel
C. API (Application Programming Interface)
D. GUI (Graphical User Interface)
18. Khi một tiến trình đang chạy và cần thực hiện thao tác đọc dữ liệu từ ổ cứng, tiến trình đó sẽ thực hiện hành động nào sau đây để yêu cầu dịch vụ từ hệ điều hành?
A. Gọi trực tiếp hàm API của ổ cứng.
B. Gửi yêu cầu ngắt phần cứng đến CPU.
C. Thực hiện lời gọi hệ thống (system call).
D. Truy cập trực tiếp vùng nhớ của kernel.
19. 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. Tăng tốc độ truy cập bộ nhớ chính.
B. Cho phép các tiến trình chia sẻ bộ nhớ một cách an toàn.
C. Cho phép tiến trình có không gian địa chỉ logic lớn hơn bộ nhớ vật lý.
D. Giảm thiểu hiện tượng phân mảnh bộ nhớ ngoài (external fragmentation).
20. Điểm khác biệt chính giữa tiến trình (process) và luồng (thread) trong hệ điều hành là gì?
A. Tiến trình là đơn vị thực thi nhỏ hơn luồng.
B. Các luồng trong cùng một tiến trình chia sẻ không gian địa chỉ và tài nguyên.
C. Tiến trình có thể thực hiện đa nhiệm, còn luồng thì không.
D. Luồng có độ ưu tiên cao hơn tiến trình trong lập lịch CPU.
21. Thuật toán lập lịch CPU nào sau đây có thể dẫn đến tình trạng đói tài nguyên (starvation) cho các tiến trình có độ ưu tiên thấp?
A. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Priority Scheduling
D. Round Robin (RR)
22. Trong ngữ cảnh đồng bộ hóa tiến trình, mutex (mutual exclusion) được sử dụng để làm gì?
A. Cho phép nhiều tiến trình truy cập đồng thời vào vùng dữ liệu chung.
B. Đảm bảo chỉ có một tiến trình được phép truy cập vào vùng dữ liệu chung tại một thời điểm.
C. Tăng tốc độ giao tiếp giữa các tiến trình.
D. Phân chia tài nguyên CPU cho các tiến trình một cách công bằng.
23. Tình huống nào sau đây có thể dẫn đến bế tắc (deadlock) trong hệ thống?
A. Hai tiến trình cùng yêu cầu truy cập vào một vùng nhớ.
B. Một tiến trình yêu cầu tài nguyên mà hiện tại đang được giữ bởi một tiến trình khác, và tiến trình kia cũng đang chờ tài nguyên từ tiến trình đầu tiên.
C. Nhiều tiến trình cùng cạnh tranh để sử dụng CPU.
D. Một tiến trình sử dụng quá nhiều bộ nhớ.
24. Hệ thống tập tin (file system) có vai trò chính là gì trong hệ điều hành?
A. Quản lý kết nối mạng cho máy tính.
B. Cung cấp giao diện đồ họa cho người dùng.
C. Tổ chức và quản lý dữ liệu trên các thiết bị lưu trữ.
D. Thực hiện các phép tính toán số học.
25. Bộ nhớ cache (cache memory) được sử dụng để cải thiện hiệu suất hệ thống bằng cách nào?
A. Tăng dung lượng bộ nhớ chính (RAM).
B. Lưu trữ dữ liệu ít được sử dụng để giải phóng bộ nhớ chính.
C. Lưu trữ bản sao của dữ liệu thường xuyên được truy cập từ bộ nhớ chính để truy cập nhanh hơn.
D. Thay thế hoàn toàn bộ nhớ chính trong các hệ thống hiện đại.
26. Trong quá trình khởi động máy tính (booting process), chương trình đầu tiên thường được thực thi sau khi bật nguồn là gì?
A. Hệ điều hành (kernel).
B. Trình quản lý khởi động (bootloader).
C. Chương trình ứng dụng đầu tiên.
D. BIOS/UEFI.
27. 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 di động, thiết bị IoT?
A. Hệ điều hành thời gian thực (Real-time OS).
B. Hệ điều hành đa người dùng (Multi-user OS).
C. Hệ điều hành phân tán (Distributed OS).
D. Hệ điều hành theo lô (Batch OS).
28. Cơ chế bảo mật nào của hệ điều hành giúp ngăn chặn một tiến trình truy cập vào vùng nhớ của tiến trình khác?
A. Cơ chế xác thực người dùng (User authentication).
B. Cơ chế phân quyền truy cập tập tin (File access control).
C. Cơ chế phân vùng bộ nhớ (Memory segmentation/paging).
D. Cơ chế mã hóa dữ liệu (Data encryption).
29. Ưu điểm chính của việc sử dụng bộ nhớ ảo (virtual memory) so với bộ nhớ vật lý truyền thống là gì?
A. Tăng tốc độ truy cập bộ nhớ.
B. Giảm chi phí sản xuất bộ nhớ.
C. Cho phép chạy các chương trình lớn hơn dung lượng bộ nhớ vật lý.
D. Đơn giản hóa việc quản lý bộ nhớ.
30. Trong mô hình client-server, hệ điều hành đóng vai trò gì quan trọng trong việc quản lý giao tiếp giữa client và server?
A. Cung cấp giao diện người dùng cho cả client và server.
B. Đảm bảo kết nối vật lý giữa client và server.
C. Quản lý các socket và giao thức mạng để truyền dữ liệu giữa client và server.
D. Thực hiện toàn bộ logic nghiệp vụ của ứng dụng.
31. Chức năng chính của hệ điều hành là gì?
A. Quản lý phần cứng và cung cấp giao diện cho người dùng.
B. Chạy các ứng dụng văn phòng.
C. Kết nối internet.
D. Chơi game và giải trí.
32. Tiến trình (Process) trong hệ điều hành là gì?
A. Một đoạn mã chương trình được lưu trữ trên ổ cứng.
B. Một chương trình đang được thực thi cùng với tài nguyên hệ thống được cấp phát.
C. Một thiết bị phần cứng như CPU hoặc bộ nhớ.
D. Một loại virus máy tính.
33. 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 ngắn.
B. Có thể gây ra hiệu ứng đoàn xe (convoy effect) làm giảm hiệu suất.
C. Khó cài đặt.
D. Không công bằng với các tiến trình dài.
34. 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. Tiết kiệm năng lượng.
D. Bảo vệ bộ nhớ khỏi virus.
35. Trong hệ thống tập tin phân cấp (hierarchical file system), cấu trúc thư mục thường được so sánh với cấu trúc nào trong thực tế?
A. Mạng lưới giao thông.
B. Cây thư mục.
C. Đường thẳng.
D. Kim tự tháp.
36. Nguyên tắc locality of reference (tính cục bộ tham chiếu) được ứng dụng trong kỹ thuật quản lý bộ nhớ nào?
A. Phân trang (Paging).
B. Đoạn (Segmentation).
C. Overlay.
D. Swapping.
37. System call (lời gọi hệ thống) đóng vai trò gì trong tương tác giữa chương trình ứng dụng và hệ điều hành?
A. Là lệnh để chương trình ứng dụng truy cập trực tiếp phần cứng.
B. Là giao diện để chương trình ứng dụng yêu cầu dịch vụ từ kernel của hệ điều hành.
C. Là cách để hệ điều hành thông báo lỗi cho chương trình ứng dụng.
D. Là cơ chế bảo mật để ngăn chặn chương trình ứng dụng truy cập trái phép.
38. Mutex (loại khóa độc quyền) được sử dụng để giải quyết vấn đề gì trong lập trình đa luồng?
A. Tăng tốc độ thực thi chương trình.
B. Ngăn chặn tình trạng race condition khi truy cập tài nguyên chung.
C. Quản lý bộ nhớ hiệu quả hơn.
D. Đơn giản hóa việc gỡ lỗi chương trình.
39. Điểm khác biệt chính giữa hệ điều hành time-sharing (chia sẻ thời gian) và batch (theo lô) là gì?
A. Hệ điều hành time-sharing xử lý nhiều công việc tuần tự, còn batch xử lý song song.
B. Hệ điều hành time-sharing cho phép nhiều người dùng tương tác đồng thời, còn batch thì không.
C. Hệ điều hành time-sharing sử dụng bộ nhớ ảo, còn batch thì không.
D. Hệ điều hành time-sharing an toàn hơn batch.
40. 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 hai hoặc nhiều tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên mà không tiến trình nào có thể tiếp tục.
C. Khi hệ thống hết bộ nhớ vật lý.
D. Khi người dùng nhập sai mật khẩu.
41. Ví dụ nào sau đây thể hiện rõ nhất vai trò của hệ điều hành trong việc quản lý tài nguyên phần cứng?
A. Bạn có thể mở nhiều tab trình duyệt web cùng lúc.
B. Bạn có thể xem video trên YouTube.
C. Bạn có thể in tài liệu trong khi vẫn nghe nhạc trên máy tính.
D. Bạn có thể gửi email cho bạn bè.
42. Kernel (nhân) của hệ điều hành thường được đặt ở đâu trong cấu trúc bộ nhớ?
A. Trong bộ nhớ cache của CPU.
B. Trong bộ nhớ chính (RAM) và thường trú.
C. Trên ổ cứng và được tải lên khi cần.
D. Trong bộ nhớ chỉ đọc (ROM).
43. Phương pháp paging (phân trang) trong quản lý bộ nhớ chia bộ nhớ thành các đơn vị có kích thước cố định gọi là gì?
A. Segments (đoạn).
B. Frames (khung trang) và Pages (trang).
C. Blocks (khối).
D. Clusters (cụm).
44. Khi một tiến trình chuyển từ trạng thái running (đang chạy) sang trạng thái waiting (chờ đợi), điều gì thường 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 để tiếp tục chạy.
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.
D. Tiến trình bị hủy bỏ do lỗi.
45. Trong bảo mật hệ thống, cơ chế access control list (ACL - danh sách kiểm soát truy cập) được sử dụng để làm gì?
A. Mã hóa dữ liệu.
B. Xác thực người dùng.
C. Quy định quyền truy cập của người dùng hoặc tiến trình đối với tài nguyên hệ thống.
D. Phát hiện và loại bỏ virus.
46. Vai trò chính yếu của hệ điều hành (Operating System) trong một hệ thống máy tính là gì?
A. Cung cấp các ứng dụng văn phòng như soạn thảo văn bản và bảng tính.
B. Quản lý và điều phối tài nguyên phần cứng (CPU, bộ nhớ, thiết bị ngoại vi) và phần mềm.
C. Thiết kế giao diện đồ họa người dùng (GUI) trực quan và dễ sử dụng.
D. Phát triển các trình duyệt web và ứng dụng internet.
47. Trong tình huống xảy ra deadlock (tắc nghẽn) giữa các tiến trình, hệ điều hành cần thực hiện hành động gì để giải quyết hoặc ngăn chặn tình huống này?
A. Tăng tốc độ xung nhịp CPU để các tiến trình hoàn thành nhanh hơn.
B. Khởi động lại toàn bộ hệ thống để giải phóng tài nguyên và thiết lập lại trạng thái.
C. Sử dụng các thuật toán phát hiện và phục hồi deadlock, hoặc các phương pháp phòng tránh deadlock như cấp phát tài nguyên theo thứ tự.
D. Tăng dung lượng bộ nhớ RAM để các tiến trình có đủ không gian hoạt động.
48. Khi bạn thực hiện thao tác lưu một tập tin trên máy tính, hệ điều hành đóng vai trò gì trong quá trình này?
A. Hệ điều hành chuyển đổi dữ liệu tập tin thành định dạng âm thanh để lưu trữ.
B. Hệ điều hành quản lý bộ nhớ cache để tăng tốc độ lưu tập tin.
C. Hệ điều hành quản lý hệ thống tập tin, cấp phát không gian lưu trữ trên ổ đĩa và ghi dữ liệu tập tin vào đó.
D. Hệ điều hành mã hóa tập tin để bảo mật trước khi lưu trữ.
49. Điểm khác biệt chính giữa đa nhiệm thực sự (true multitasking) và đa nhiệm giả lập (cooperative multitasking) là gì?
A. Đa nhiệm thực sự chỉ có trên hệ điều hành Windows, còn đa nhiệm giả lập chỉ có trên macOS.
B. Đa nhiệm thực sự cho phép các tiến trình chạy song song trên nhiều CPU/core, còn đa nhiệm giả lập các tiến trình chia sẻ thời gian CPU một cách tuần tự.
C. Đa nhiệm thực sự đòi hỏi nhiều bộ nhớ RAM hơn đa nhiệm giả lập.
D. Đa nhiệm thực sự an toàn hơn đa nhiệm giả lập vì có cơ chế bảo vệ bộ nhớ tốt hơn.
50. Trong mô hình bảo mật của hệ điều hành, nguyên tắc đặc quyền tối thiểu (Principle of Least Privilege) có ý nghĩa gì?
A. Người dùng nên được cấp đặc quyền cao nhất để dễ dàng sử dụng hệ thống.
B. Mỗi tiến trình và người dùng chỉ nên được cấp những quyền hạn tối thiểu cần thiết để thực hiện công việc của mình, nhằm hạn chế thiệt hại nếu xảy ra sự cố bảo mật.
C. Hệ điều hành nên ưu tiên cấp đặc quyền cho các tiến trình hệ thống hơn là tiến trình người dùng.
D. Các đặc quyền của người dùng nên được thay đổi thường xuyên để tăng cường bảo mật.