1. Phương pháp quản lý bộ nhớ nào phân chia bộ nhớ thành các phân vùng có kích thước cố định và gán chúng cho các tiến trình?
A. Phân trang (Paging).
B. Phân đoạn (Segmentation).
C. Phân vùng tĩnh (Static Partitioning).
D. Phân vùng động (Dynamic Partitioning).
2. Trong hệ điều hành, context switching (chuyển đổi ngữ cảnh) là gì?
A. Quá trình chuyển đổi giữa các chế độ người dùng và chế độ kernel.
B. Quá trình lưu trữ trạng thái của một tiến trình và tải trạng thái của một tiến trình khác để cho phép CPU chuyển đổi giữa các tiến trình.
C. Quá trình chuyển đổi giữa các vùng nhớ khác nhau.
D. Quá trình chuyển đổi giữa các hệ điều hành khác nhau.
3. Trong hệ điều hành, memory leak (rò rỉ bộ nhớ) là gì?
A. Một tình huống khi bộ nhớ bị hỏng do lỗi phần cứng.
B. Một tình huống khi một chương trình không giải phóng bộ nhớ đã cấp phát, dẫn đến bộ nhớ bị sử dụng lãng phí và có thể gây ra sự cố hệ thống.
C. Một tình huống khi bộ nhớ bị truy cập trái phép.
D. Một tình huống khi bộ nhớ bị nén quá mức.
4. Sự khác biệt chính giữa hard link và symbolic link trong hệ thống tệp tin Unix/Linux là gì?
A. Hard link chỉ có thể tạo trên cùng một hệ thống tệp tin, trong khi symbolic link có thể trỏ đến các hệ thống tệp tin khác.
B. Hard link tạo ra một bản sao của tệp tin, trong khi symbolic link chỉ là một con trỏ đến tệp tin gốc.
C. Hard link có thể trỏ đến thư mục, trong khi symbolic link thì không.
D. Hard link không thể bị xóa, trong khi symbolic link có thể bị xóa.
5. Sự khác biệt chính giữa semaphore và mutex là gì?
A. Semaphore là biến toàn cục, mutex là biến cục bộ.
B. Mutex chỉ có thể được giải phóng bởi tiến trình đã khóa nó, trong khi semaphore có thể được giải phóng bởi tiến trình khác.
C. Semaphore chỉ dùng cho đồng bộ hóa tiến trình, mutex chỉ dùng cho đồng bộ hóa luồng.
D. Mutex nhanh hơn semaphore.
6. Trong hệ điều hành, device driver (trình điều khiển thiết bị) là gì?
A. Một ứng dụng để quản lý tệp tin.
B. Một phần mềm cho phép hệ điều hành giao tiếp với một thiết bị phần cứng cụ thể.
C. Một công cụ để tối ưu hóa hiệu suất hệ thống.
D. Một phần mềm để bảo vệ hệ thống khỏi virus.
7. Trong hệ thống tệp tin, journaling là gì?
A. Một phương pháp ghi lại tất cả các thay đổi vào hệ thống tệp tin trước khi thực hiện chúng, giúp phục hồi dữ liệu sau sự cố.
B. Một phương pháp nén dữ liệu để tiết kiệm không gian lưu trữ.
C. Một phương pháp mã hóa dữ liệu để bảo vệ khỏi truy cập trái phép.
D. Một phương pháp sao lưu dữ liệu định kỳ.
8. Thuật toán lập lịch CPU nào ưu tiên tiến trình có thời gian thực thi ngắn nhất?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Priority Scheduling.
D. Round Robin.
9. Trong hệ thống bộ nhớ phân trang, TLB (Translation Lookaside Buffer) là gì?
A. Một phần của bộ nhớ chính.
B. Một bộ nhớ cache đặc biệt dùng để lưu trữ các ánh xạ trang (page mapping) gần đây, giúp tăng tốc độ chuyển đổi địa chỉ.
C. Một loại ổ cứng.
D. Một thuật toán lập lịch CPU.
10. Trong hệ thống tệp tin phân cấp, đường dẫn tuyệt đối (absolute path) là gì?
A. Đường dẫn ngắn nhất đến tệp tin.
B. Đường dẫn bắt đầu từ thư mục gốc (root directory) và chỉ rõ vị trí chính xác của tệp tin.
C. Đường dẫn tương đối so với thư mục hiện tại.
D. Đường dẫn chứa các liên kết tượng trưng (symbolic link).
11. 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 một tiến trình bị treo do lỗi lập trì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 không đủ bộ nhớ để cấp phát cho một tiến trình.
12. Trong quản lý bộ nhớ ảo, thrashing xảy ra khi nào?
A. Khi CPU quá tải.
B. Khi hệ thống liên tục hoán đổi các trang (page) giữa bộ nhớ chính và bộ nhớ phụ, dẫn đến hiệu suất giảm đáng kể.
C. Khi có quá nhiều tiến trình đang chạy.
D. Khi bộ nhớ chính đầy.
13. Trong hệ thống quản lý tệp tin, inode là gì?
A. Tên của tệp tin.
B. Một cấu trúc dữ liệu chứa thông tin về một tệp tin, chẳng hạn như quyền truy cập, kích thước, và vị trí dữ liệu.
C. Phần mở rộng của tệp tin.
D. Nội dung của tệp tin.
14. Chức năng của system call (lời gọi hệ thống) trong hệ điều hành là gì?
A. Để người dùng trực tiếp truy cập phần cứng.
B. Để ứng dụng yêu cầu các dịch vụ từ kernel của hệ điều hành.
C. Để kernel giao tiếp với phần cứng.
D. Để ứng dụng giao tiếp trực tiếp với nhau.
15. Trong bảo mật hệ điều hành, firewall được sử dụng để làm gì?
A. Để mã hóa dữ liệu trên ổ cứng.
B. Để phát hiện và loại bỏ virus.
C. Để kiểm soát lưu lượng mạng và ngăn chặn truy cập trái phép vào hệ thống.
D. Để quản lý tài khoản người dùng.
16. Trong hệ điều hành, RAID (Redundant Array of Independent Disks) được sử dụng để làm gì?
A. Tăng tốc độ CPU.
B. Tăng dung lượng bộ nhớ RAM.
C. Cải thiện hiệu suất và độ tin cậy của hệ thống lưu trữ bằng cách kết hợp nhiều ổ đĩa.
D. Quản lý các tiến trình.
17. Trong hệ điều hành, kernel là gì?
A. Một ứng dụng quản lý tệp tin.
B. Một phần mềm trung gian giữa phần cứng và các ứng dụng, cung cấp các dịch vụ cơ bản như quản lý bộ nhớ, tiến trình và thiết bị.
C. Một trình duyệt web.
D. Một công cụ soạn thảo văn bản.
18. Trong hệ điều hành, tiến trình zombie là gì?
A. Một tiến trình đang chạy ẩn.
B. Một tiến trình đã hoàn thành việc thực thi nhưng vẫn còn một bản ghi trong bảng tiến trình.
C. Một tiến trình đang chờ tài nguyên.
D. Một tiến trình bị lỗi và không thể tiếp tục thực thi.
19. Chức năng chính của trình biên dịch (compiler) là gì?
A. Chạy trực tiếp mã nguồn.
B. Biên dịch mã nguồn thành mã máy (machine code) để CPU có thể thực thi.
C. Gỡ lỗi mã nguồn.
D. Tối ưu hóa mã nguồn.
20. Trong hệ điều hành, khái niệm `race condition` (điều kiện chạy đua) là gì?
A. Một tình huống khi nhiều tiến trình cố gắng truy cập và thay đổi cùng một dữ liệu đồng thời, dẫn đến kết quả không xác định.
B. Một tình huống khi một tiến trình chạy nhanh hơn các tiến trình khác.
C. Một tình huống khi hai tiến trình cạnh tranh để giành quyền truy cập vào CPU.
D. Một tình huống khi hệ thống thiếu tài nguyên.
21. Trong hệ điều hành, khái niệm `ngắt` (interrupt) được sử dụng để làm gì?
A. Tạo ra các lỗi hệ thống để kiểm tra tính ổn định.
B. Báo hiệu cho CPU biết một sự kiện cần được xử lý, giúp hệ điều hành phản ứng kịp thời với các yêu cầu từ phần cứng hoặc phần mềm.
C. Tạm dừng hoạt động của hệ điều hành để thực hiện bảo trì.
D. Khởi động lại hệ thống khi gặp sự cố.
22. Trong hệ điều hành, overlay là gì?
A. Một kỹ thuật cho phép một tiến trình lớn hơn kích thước bộ nhớ vật lý có thể chạy bằng cách chia chương trình thành các phần nhỏ hơn và chỉ tải phần cần thiết vào bộ nhớ.
B. Một kỹ thuật để tăng tốc độ truy cập ổ cứng.
C. Một kỹ thuật để quản lý bộ nhớ ảo.
D. Một kỹ thuật để mã hóa dữ liệu.
23. Hệ điều hành sử dụng cơ chế nào để chuyển đổi địa chỉ logic (logical address) thành địa chỉ vật lý (physical address)?
A. Bộ nhớ cache.
B. Bảng trang (Page Table).
C. Bộ nhớ chỉ đọc (ROM).
D. Ổ cứng (Hard Drive).
24. Hệ điều hành sử dụng thuật toán nào để quản lý không gian trống trên đĩa?
A. First-fit, Best-fit, Worst-fit.
B. Round Robin, SJF, FCFS.
C. LRU, FIFO, Optimal.
D. Mutex, Semaphore, Monitor.
25. Cơ chế nào trong hệ điều hành cho phép nhiều tiến trình chia sẻ một vùng nhớ mà không ảnh hưởng đến tính toàn vẹn dữ liệu?
A. Đoạn mã tới hạn (Critical Section).
B. Bộ nhớ ảo (Virtual Memory).
C. Semaphores.
D. Mutexes.
26. Trong hệ điều hành, spinlock là gì?
A. Một loại khóa (lock) mà tiến trình liên tục kiểm tra xem khóa đã được giải phóng hay chưa, thay vì chuyển sang trạng thái ngủ.
B. Một loại khóa chỉ dùng cho hệ thống đa xử lý.
C. Một loại khóa tự động giải phóng sau một khoảng thời gian nhất định.
D. Một loại khóa dùng để bảo vệ bộ nhớ cache.
27. Trong hệ điều hành, NUMA (Non-Uniform Memory Access) là gì?
A. Một kiến trúc bộ nhớ trong đó thời gian truy cập bộ nhớ phụ thuộc vào vị trí bộ nhớ so với bộ xử lý.
B. Một kiến trúc bộ nhớ trong đó tất cả các bộ xử lý đều truy cập bộ nhớ với cùng một tốc độ.
C. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ cache.
D. Một kỹ thuật để quản lý bộ nhớ ảo.
28. Hệ điều hành sử dụng thuật toán lập lịch nào để đảm bảo công bằng cho tất cả các tiến trình?
A. Shortest Job First (SJF).
B. Priority Scheduling.
C. First-Come, First-Served (FCFS).
D. Round Robin.
29. Trong hệ điều hành, DMA (Direct Memory Access) là gì?
A. Một kỹ thuật cho phép CPU truy cập trực tiếp vào bộ nhớ cache.
B. Một kỹ thuật cho phép các thiết bị ngoại vi truy cập trực tiếp vào bộ nhớ chính mà không cần sự can thiệp của CPU.
C. Một kỹ thuật để tăng tốc độ truy cập ổ cứng.
D. Một kỹ thuật để quản lý bộ nhớ ảo.
30. Trong hệ điều hành, virtual machine (máy ảo) là gì?
A. Một máy tính vật lý chạy nhiều hệ điều hành khác nhau.
B. Một môi trường phần mềm mô phỏng một máy tính vật lý, cho phép chạy một hệ điều hành và các ứng dụng bên trong một hệ điều hành khác.
C. Một thiết bị lưu trữ mạng.
D. Một hệ thống quản lý cơ sở dữ liệu.