1. Loại hệ điều hành nào thường được thiết kế cho các thiết bị có tài nguyên hạn chế như điện thoại thông minh hoặc thiết bị nhúng?
A. Hệ điều hành nhúng (Embedded OS).
B. Hệ điều hành thời gian thực (Real-time OS).
C. Hệ điều hành máy chủ (Server OS).
D. Hệ điều hành đa nhiệm (Multitasking OS).
2. Khái niệm "hạt nhân" (kernel) trong hệ điều hành đề cập đến phần nào của hệ điều hành?
A. Phần cốt lõi, trung tâm của hệ điều hành, quản lý các tài nguyên cơ bản.
B. Giao diện đồ họa người dùng.
C. Các ứng dụng tiện ích đi kèm.
D. Trình điều khiển thiết bị (device drivers).
3. Hệ điều hành nào là ví dụ điển hình của hệ điều hành đa người dùng và đa nhiệm?
A. Linux.
B. MS-DOS.
C. Hệ điều hành đơn giản của máy tính bỏ túi.
D. Một số hệ điều hành thời kỳ đầu.
4. Khi hai tiến trình cần truy cập cùng một tài nguyên chia sẻ (ví dụ: một biến trong bộ nhớ), hệ điều hành cần cơ chế gì để tránh tình trạng "tua đua" (race condition)?
A. Sử dụng các kỹ thuật đồng bộ hóa như semaphore hoặc mutex.
B. Tăng tốc độ xử lý của CPU.
C. Cấp phát thêm bộ nhớ RAM.
D. Giảm kích thước của các tệp tin.
5. Khi một tiến trình bị hủy bỏ hoặc kết thúc, hệ điều hành phải làm gì với các tài nguyên mà nó đang sử dụng?
A. Thu hồi và giải phóng các tài nguyên đó để sử dụng lại.
B. Giữ nguyên các tài nguyên cho đến khi máy tính tắt.
C. Chuyển giao các tài nguyên cho tiến trình khác tùy ý.
D. Xóa vĩnh viễn tất cả các tài nguyên đó.
6. Mục đích của việc sử dụng "bộ nhớ ảo" (virtual memory) là gì?
A. Cho phép các tiến trình truy cập nhiều bộ nhớ hơn dung lượng vật lý có sẵn.
B. Tăng tốc độ truy cập bộ nhớ chính.
C. Giảm nhu cầu sử dụng ổ cứng.
D. Cải thiện giao diện đồ họa người dùng.
7. Hệ điều hành quản lý bộ nhớ bằng cách nào để các tiến trình không can thiệp vào bộ nhớ của nhau?
A. Phân chia bộ nhớ thành các vùng riêng biệt và kiểm soát truy cập.
B. Gộp tất cả bộ nhớ thành một khối lớn duy nhất.
C. Sử dụng bộ nhớ ngoài làm bộ nhớ chính.
D. Tắt các tiến trình không sử dụng bộ nhớ.
8. Hệ điều hành Unix và các hệ điều hành dựa trên nó (như Linux) thường sử dụng cấu trúc tệp tin dạng nào?
A. Cây thư mục phân cấp (Hierarchical File System).
B. Cấu trúc tệp tin phẳng (Flat File System).
C. Cấu trúc tệp tin liên kết (Linked File System).
D. Cấu trúc tệp tin mạng (Network File System).
9. Khi một tiến trình yêu cầu dịch vụ từ hệ điều hành, cơ chế nào thường được sử dụng?
A. Lời gọi hệ thống (System Call).
B. Lập trình mạng (Network Programming).
C. Giao diện lập trình ứng dụng (API).
D. Ngôn ngữ máy (Machine Language).
10. Khi một tiến trình thực hiện một thao tác I/O (ví dụ: đọc dữ liệu từ đĩa), nó thường chuyển sang trạng thái nào?
A. Bị chặn (Blocked) hoặc chờ (Waiting).
B. Sẵn sàng (Ready).
C. Đang chạy (Running).
D. Kết thúc (Terminated).
11. Khái niệm "lập lịch tiến trình" (process scheduling) trong hệ điều hành đề cập đến việc gì?
A. Quyết định tiến trình nào sẽ được chạy trên CPU và khi nào.
B. Tạo ra các tiến trình mới từ các chương trình.
C. Xóa bỏ các tiến trình không cần thiết.
D. Phân bổ không gian đĩa cứng cho các tệp tin.
12. Chức năng nào sau đây KHÔNG phải là chức năng chính của một hệ điều hành?
A. Quản lý tệp tin và thư mục trên ổ đĩa.
B. Cung cấp giao diện người dùng để tương tác.
C. Soạn thảo văn bản và xử lý bảng tính.
D. Quản lý các tiến trình và luồng.
13. Mục đích chính của việc sử dụng hệ điều hành là gì?
A. Làm cầu nối giữa phần cứng và người dùng/ứng dụng.
B. Thay thế hoàn toàn phần cứng máy tính.
C. Chỉ chạy các ứng dụng đồ họa phức tạp.
D. Tăng dung lượng lưu trữ cho mọi loại dữ liệu.
14. Khi một tiến trình yêu cầu một tài nguyên không có sẵn (ví dụ: một thiết bị ngoại vi đang bận), nó sẽ bị chuyển sang trạng thái nào?
A. Chờ đợi (Waiting) hoặc Bị chặn (Blocked).
B. Sẵn sàng (Ready).
C. Đang chạy (Running).
D. Đã hoàn thành (Completed).
15. Hệ điều hành có vai trò gì trong việc bảo mật hệ thống máy tính?
A. Quản lý quyền truy cập người dùng, kiểm soát truy cập tệp tin và bảo vệ chống lại các mối đe dọa.
B. Tự động cài đặt phần mềm diệt virus.
C. Mã hóa toàn bộ dữ liệu trên ổ cứng.
D. Ngăn chặn mọi kết nối mạng ra bên ngoài.
16. Trong quản lý tiến trình, trạng thái "sẵn sàng" (ready) của một tiến trình có nghĩa là gì?
A. Tiến trình đang chờ đợi CPU để được thực thi.
B. Tiến trình đang thực thi trên CPU.
C. Tiến trình đã hoàn thành công việc và thoát.
D. Tiến trình đang thực hiện một thao tác I/O.
17. Hệ điều hành nào ban đầu được phát triển tại Bell Labs vào những năm 1970?
A. Unix.
B. Windows.
C. macOS.
D. DOS.
18. Trong ngữ cảnh hệ điều hành, khái niệm "tiến trình" (process) được hiểu là gì?
A. Một chương trình đang được thực thi, bao gồm mã lệnh, dữ liệu và trạng thái hoạt động.
B. Một tập hợp các lệnh được viết bằng ngôn ngữ lập trình bậc cao.
C. Một tệp tin chứa mã máy có thể chạy trực tiếp trên phần cứng.
D. Một giao diện đồ họa cho phép người dùng tương tác với máy tính.
19. Hệ điều hành có vai trò gì trong việc quản lý tài nguyên phần cứng của máy tính?
A. Phân bổ và điều phối CPU, bộ nhớ, thiết bị vào/ra cho các tiến trình.
B. Thiết kế và sản xuất các thành phần phần cứng mới.
C. Tạo ra các giao diện đồ họa người dùng phức tạp.
D. Kiểm tra và sửa lỗi phần mềm ứng dụng.
20. Một "tê giác" (kernel) của hệ điều hành chịu trách nhiệm chính cho các chức năng:
A. Quản lý tiến trình, quản lý bộ nhớ, quản lý thiết bị vào/ra.
B. Cung cấp giao diện người dùng đồ họa.
C. Chạy các ứng dụng văn phòng.
D. Truy cập các trang web trên internet.
21. Chức năng "quản lý thiết bị vào/ra" (I/O management) của hệ điều hành liên quan đến việc gì?
A. Điều khiển và phối hợp hoạt động của các thiết bị ngoại vi như bàn phím, màn hình, máy in.
B. Phân tích hiệu năng của bộ xử lý trung tâm.
C. Kiểm tra và cập nhật firmware cho các linh kiện.
D. Quản lý các tiến trình chạy trên nền hệ thống.
22. Hệ điều hành có thể quản lý nhiều tiến trình cùng lúc bằng cách sử dụng kỹ thuật nào?
A. Chia sẻ thời gian (Time-sharing) và chuyển đổi ngữ cảnh (Context Switching).
B. Chạy tuần tự từng tiến trình.
C. Sử dụng bộ nhớ ngoài làm bộ nhớ chính.
D. Hạn chế số lượng tiến trình hoạt động.
23. Chức năng "quản lý tệp tin" của hệ điều hành bao gồm những hoạt động cơ bản nào?
A. Tạo, xóa, đổi tên, di chuyển tệp tin và thư mục.
B. Biên dịch mã nguồn thành mã máy.
C. Kết nối mạng nội bộ và internet.
D. Phân tích cú pháp và thực thi lệnh.
24. Trong hệ điều hành, "luồng" (thread) khác với "tiến trình" (process) ở điểm nào?
A. Luồng là đơn vị thực thi nhỏ hơn bên trong một tiến trình, chia sẻ không gian địa chỉ của tiến trình đó.
B. Luồng có không gian địa chỉ riêng biệt và độc lập hoàn toàn với tiến trình.
C. Tiến trình là một phần của luồng, thực hiện các tác vụ nhỏ.
D. Luồng không cần tài nguyên hệ thống để hoạt động.
25. Hệ điều hành sử dụng kỹ thuật nào để cho phép nhiều chương trình cùng lúc xuất hiện như đang chạy đồng thời trên một CPU?
A. Lập lịch đa nhiệm (Multitasking Scheduling).
B. Lập lịch đơn nhiệm (Single-tasking Scheduling).
C. Truy cập trực tiếp phần cứng.
D. Chỉ chạy một chương trình tại một thời điểm.