1. Trong hệ điều hành, mục đích của Device Driver là gì?
A. Để tăng tốc độ CPU.
B. Để cho phép hệ điều hành giao tiếp với các thiết bị phần cứng cụ thể.
C. Để quản lý bộ nhớ ảo.
D. Để bảo vệ hệ thống khỏi virus.
2. Cơ chế nào được sử dụng để bảo vệ hệ thống khỏi các tiến trình độc hại cố gắng truy cập trái phép vào kernel?
A. Bộ nhớ cache.
B. Chế độ kép (dual-mode operation) với chế độ kernel và chế độ người dùng.
C. DMA (Direct Memory Access).
D. Đa luồng (multithreading).
3. Sự khác biệt giữa bộ nhớ ảo (virtual memory) và bộ nhớ vật lý (physical memory) là gì?
A. Bộ nhớ ảo là bộ nhớ nhanh hơn bộ nhớ vật lý.
B. Bộ nhớ ảo là bộ nhớ được lưu trữ trên ổ cứng, còn bộ nhớ vật lý là RAM.
C. Bộ nhớ ảo cung cấp một không gian địa chỉ logic lớn hơn bộ nhớ vật lý thực tế, cho phép các tiến trình sử dụng nhiều bộ nhớ hơn mức có sẵn.
D. Bộ nhớ ảo chỉ được sử dụng bởi hệ điều hành, còn bộ nhớ vật lý được sử dụng bởi các ứng dụng.
4. Deadlock là gì và điều kiện nào là cần thiết để deadlock xảy ra?
A. Deadlock là một tình trạng hệ thống bị treo do lỗi phần cứng, và điều kiện cần là thiếu bộ nhớ.
B. Deadlock là một tình trạng 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ữ, và các điều kiện cần là loại trừ lẫn nhau, giữ và chờ, không thu hồi, và chờ đợi vòng tròn.
C. Deadlock là một tình trạng hệ thống bị quá tải do có quá nhiều tiến trình, và điều kiện cần là CPU quá chậm.
D. Deadlock là một tình trạng một tiến trình bị lỗi và không thể tiếp tục thực thi, và điều kiện cần là lỗi trong mã nguồn.
5. File system journaling là gì và nó giúp ích như thế nào?
A. Là một hệ thống ghi lại tất cả các hoạt động của người dùng trên hệ thống.
B. Là một kỹ thuật ghi lại các thay đổi đối với hệ thống tệp trước khi chúng được thực hiện, giúp phục hồi hệ thống sau sự cố.
C. Là một công cụ nén các tệp để tiết kiệm không gian lưu trữ.
D. Là một hệ thống tự động sao lưu các tệp quan trọng.
6. Trong hệ thống tệp, RAID (Redundant Array of Independent Disks) là gì và mục đích của nó là gì?
A. Một loại bộ nhớ RAM.
B. Một kỹ thuật kết hợp nhiều ổ đĩa cứng thành một đơn vị lưu trữ logic để tăng hiệu suất, độ tin cậy, hoặc cả hai.
C. Một giao thức mạng để chia sẻ tệp.
D. Một hệ thống quản lý cơ sở dữ liệu.
7. DMA (Direct Memory Access) là gì và nó cải thiện hiệu suất hệ thống như thế nào?
A. DMA là một kỹ thuật để truy cập bộ nhớ nhanh hơn bằng cách sử dụng bộ nhớ cache.
B. DMA là 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ớ hệ thống mà không cần sự can thiệp của CPU, giảm tải cho CPU và cải thiện hiệu suất.
C. DMA là một kỹ thuật để quản lý bộ nhớ ảo.
D. DMA là một kỹ thuật để bảo vệ bộ nhớ khỏi bị truy cập trái phép.
8. Trong hệ thống quản lý bộ nhớ, TLB (Translation Lookaside Buffer) là gì?
A. Một loại bộ nhớ chỉ đọc.
B. Một bộ nhớ cache đặc biệt dùng để lưu trữ các ánh xạ trang (page table entries) gần đây, giúp tăng tốc quá trình chuyển đổi địa chỉ ảo sang địa chỉ vật lý.
C. Một thiết bị dùng để quản lý nhiệt độ của CPU.
D. Một phần của ổ cứng dùng để lưu trữ các tệp tạm thời.
9. Các giao thức nào thường được sử dụng để quản lý bộ nhớ trong hệ điều hành?
A. TCP/IP và HTTP.
B. Paging, segmentation, và swapping.
C. SMTP và FTP.
D. DNS và DHCP.
10. Trong hệ điều hành, thrashing là gì và nguyên nhân gây ra thrashing?
A. Thrashing là một kỹ thuật tối ưu hóa bộ nhớ.
B. Thrashing là tình trạng hệ thống liên tục thực hiện việc trao đổi trang (page swapping) giữa bộ nhớ và ổ đĩa do thiếu bộ nhớ, dẫn đến hiệu suất hệ thống giảm đáng kể.
C. Thrashing là một loại virus máy tính.
D. Thrashing là tình trạng CPU quá tải.
11. Điều gì xảy ra khi một tiến trình cố gắng truy cập vào một vùng nhớ không được cấp phát cho nó?
A. Tiến trình sẽ được cấp phát thêm bộ nhớ.
B. Hệ điều hành sẽ tự động sửa lỗi và tiếp tục thực thi.
C. Xảy ra lỗi phân đoạn (segmentation fault) hoặc lỗi vi phạm bộ nhớ (memory violation), và tiến trình có thể bị kết thúc.
D. Hệ điều hành sẽ ghi dữ liệu vào một vùng nhớ trống khác.
12. Trong ngữ cảnh bảo mật hệ điều hành, ‘least privilege’ (đặc quyền tối thiểu) nghĩa là gì?
A. Mỗi người dùng nên có quyền truy cập vào tất cả các tài nguyên hệ thống.
B. Mỗi tiến trình và người dùng 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. Tất cả các tiến trình nên chạy với quyền root.
D. Hệ thống nên ưu tiên các tiến trình có quyền truy cập cao nhất.
13. Giải thích ngắn gọn về Spooling trong hệ điều hành.
A. Spooling là kỹ thuật lưu trữ tạm thời dữ liệu cho một thiết bị ngoại vi chậm hơn (ví dụ: máy in) để CPU không phải chờ đợi.
B. Spooling là một kỹ thuật bảo mật để mã hóa dữ liệu trước khi in.
C. Spooling là một kỹ thuật để tăng tốc độ in bằng cách sử dụng bộ nhớ cache.
D. Spooling là một kỹ thuật để quản lý hàng đợi các công việc in.
14. Sự khác biệt chính giữa semaphore nhị phân (binary semaphore) và semaphore đếm (counting semaphore) là gì?
A. Semaphore nhị phân chỉ có thể có giá trị 0 hoặc 1, trong khi semaphore đếm có thể có giá trị bất kỳ.
B. Semaphore nhị phân được sử dụng cho đồng bộ hóa, còn semaphore đếm được sử dụng cho loại trừ lẫn nhau.
C. Semaphore nhị phân nhanh hơn semaphore đếm.
D. Semaphore nhị phân chỉ có thể được sử dụng trong không gian kernel, còn semaphore đếm có thể được sử dụng trong không gian người dùng.
15. Thuật toán lập lịch nào đảm bảo rằng mỗi tiến trình nhận được một khoảng thời gian CPU công bằng, nhưng có thể dẫn đến thời gian chờ đợi trung bình cao?
A. First-Come, First-Served (FCFS).
B. Shortest Job Next (SJN).
C. Round Robin (RR).
D. Priority Scheduling.
16. Mutex và semaphore khác nhau như thế nào trong việc quản lý truy cập vào tài nguyên?
A. 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 một tiến trình khác.
B. Mutex được sử dụng cho đồng bộ hóa, còn semaphore được sử dụng cho loại trừ lẫn nhau.
C. Mutex nhanh hơn semaphore.
D. Mutex là một loại semaphore.
17. Trong hệ điều hành, race condition là gì và làm thế nào để ngăn chặn nó?
A. Một cuộc đua giữa các lập trình viên để viết mã nhanh nhất.
B. Một tình trạng xảy ra khi nhiều tiến trình hoặc luồng truy cập và thao tác cùng một dữ liệu chia sẻ đồng thời, và kết quả cuối cùng phụ thuộc vào thứ tự thực thi tương đối của chúng, có thể dẫn đến lỗi không mong muốn; có thể ngăn chặn bằng cách sử dụng các cơ chế đồng bộ hóa như mutexes, semaphores, hoặc critical sections.
C. Một lỗi phần cứng gây ra mất dữ liệu.
D. Một tình trạng CPU quá nóng.
18. Trong hệ điều hành, 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ột thực thể tĩnh, còn chương trình là một thực thể động.
B. Tiến trình là một chương trình đang được thực thi, còn chương trình là một tập hợp các chỉ thị.
C. Tiến trình là một phần của hệ điều hành, còn chương trình là một ứng dụng của người dùng.
D. Tiến trình là một tập hợp các chương trình, còn chương trình là một đơn vị thực thi nhỏ nhất.
19. Virtualization là gì và nó mang lại lợi ích gì?
A. Một kỹ thuật nén dữ liệu.
B. Một kỹ thuật cho phép chạy nhiều hệ điều hành trên cùng một phần cứng vật lý, giúp tối ưu hóa việc sử dụng tài nguyên, giảm chi phí và tăng tính linh hoạt.
C. Một phương pháp tăng tốc độ CPU.
D. Một cách để bảo vệ hệ thống khỏi virus.
20. Thế nào là Context Switching trong hệ điều hành và tại sao nó cần thiết?
A. Context switching là việc chuyển đổi giữa các chế độ người dùng và chế độ kernel.
B. Context switching là quá trình lưu trữ trạng thái của một tiến trình đang chạy và khôi phục trạng thái của một tiến trình khác, cho phép đa nhiệm.
C. Context switching là việc chuyển đổi giữa các loại bộ nhớ khác nhau.
D. Context switching là việc chuyển đổi giữa các người dùng khác nhau trên hệ thống.
21. Sự khác biệt chính giữa hệ điều hành thời gian thực (real-time operating system – RTOS) và hệ điều hành thông thường là gì?
A. RTOS chỉ có thể chạy trên các thiết bị nhúng.
B. RTOS đảm bảo thời gian phản hồi cho các tác vụ quan trọng là có thể dự đoán được và đáp ứng trong một khoảng thời gian nhất định, trong khi hệ điều hành thông thường không có đảm bảo này.
C. RTOS không hỗ trợ đa nhiệm.
D. RTOS miễn phí, còn hệ điều hành thông thường phải trả phí.
22. Sự khác biệt giữa process và thread là gì?
A. Process là một chương trình đang chạy, còn thread là một chương trình chưa chạy.
B. Process có không gian địa chỉ riêng, trong khi các thread trong cùng một process chia sẻ không gian địa chỉ đó.
C. Thread có thể chứa nhiều process, còn process chỉ có thể chứa một thread.
D. Process nhanh hơn thread.
23. Sự khác biệt chính giữa preemptive scheduling và non-preemptive scheduling là gì?
A. Preemptive scheduling chỉ được sử dụng trong hệ điều hành thời gian thực.
B. Trong preemptive scheduling, một tiến trình đang chạy có thể bị ngắt để nhường CPU cho một tiến trình khác, trong khi trong non-preemptive scheduling, một tiến trình chỉ nhường CPU khi nó hoàn thành hoặc tự nguyện nhường.
C. Preemptive scheduling đơn giản hơn non-preemptive scheduling.
D. Non-preemptive scheduling hiệu quả hơn preemptive scheduling.
24. Nguyên tắc ‘Fail-fast’ trong thiết kế hệ thống có nghĩa là gì?
A. Hệ thống nên cố gắng sửa chữa lỗi tự động.
B. Hệ thống nên báo cáo lỗi ngay lập tức khi phát hiện ra, thay vì cố gắng tiếp tục hoạt động trong trạng thái không xác định.
C. Hệ thống nên bỏ qua các lỗi nhỏ để tăng hiệu suất.
D. Hệ thống nên tự động khởi động lại khi gặp lỗi.
25. Cơ chế nào trong hệ điều hành cho phép nhiều tiến trình chia sẻ CPU một cách hiệu quả?
A. Độc quyền truy cập tài nguyên.
B. Phân trang (paging).
C. Đa chương trình (multiprogramming) và chia sẻ thời gian (time-sharing).
D. Sử dụng bộ nhớ cache.
26. Hệ điều hành sử dụng cơ chế nào để chuyển đổi giữa các tiến trình đang chạy?
A. Ngắt (interrupt).
B. Đa luồng (multithreading).
C. Bộ nhớ cache.
D. DMA (Direct Memory Access).
27. Giải thích khái niệm về ‘system call’ trong hệ điều hành.
A. System call là một hàm do người dùng định nghĩa.
B. System call là một giao diện lập trình cho phép các chương trình người dùng yêu cầu các dịch vụ từ kernel của hệ điều hành.
C. System call là một lệnh để khởi động lại hệ thống.
D. System call là một thủ tục để cài đặt phần mềm.
28. Trong ngữ cảnh quản lý bộ nhớ, phân trang (paging) là gì?
A. Một kỹ thuật cấp phát bộ nhớ liên tục.
B. Một phương pháp chia bộ nhớ thành các đoạn có kích thước khác nhau.
C. Một kỹ thuật cho phép một tiến trình sử dụng bộ nhớ không liên tục.
D. Một phương pháp bảo vệ bộ nhớ khỏi bị ghi đè.
29. Trong hệ thống tệp, inode là gì?
A. Một khối dữ liệu chứa nội dung của tệp.
B. Một bảng chứa danh sách tất cả các tệp trong hệ thống.
C. Một cấu trúc dữ liệu chứa metadata về một tệp, như quyền truy cập, kích thước, và vị trí các khối dữ liệu.
D. Một chương trình quản lý hệ thống tệp.
30. Trong hệ điều hành, Monitor là gì và nó được sử dụng để giải quyết vấn đề gì?
A. Monitor là một thiết bị phần cứng để theo dõi hiệu suất hệ thống.
B. Monitor là một cấu trúc dữ liệu cấp cao cung cấp cơ chế đồng bộ hóa an toàn và hiệu quả giữa các tiến trình, giúp tránh race condition và deadlock.
C. Monitor là một chương trình để giám sát hoạt động mạng.
D. Monitor là một công cụ để gỡ lỗi chương trình.
31. Mutex (Mutual Exclusion) được sử dụng để làm gì?
A. Cho phép nhiều tiến trình truy cập cùng một tài nguyên cùng một lúc.
B. Đảm bảo chỉ một tiến trình có thể truy cập một tài nguyên tại một thời điểm.
C. Tăng tốc độ xử lý của CPU.
D. Quản lý bộ nhớ ảo.
32. Điều gì xảy ra khi một tiến trình tạo ra một tiến trình con (child process)?
A. Tiến trình cha (parent process) kết thúc.
B. Tiến trình con chia sẻ cùng không gian địa chỉ với tiến trình cha.
C. Tiến trình con có một bản sao của không gian địa chỉ của tiến trình cha.
D. Cả hai tiến trình cha và con cùng kết thúc.
33. Trong hệ thống quản lý bộ nhớ, TLB (Translation Lookaside Buffer) được sử dụng để làm gì?
A. Lưu trữ toàn bộ page table.
B. Tăng tốc quá trình ánh xạ địa chỉ ảo sang địa chỉ vật lý bằng cách lưu trữ các ánh xạ gần đây.
C. Quản lý bộ nhớ cache.
D. Quản lý bộ nhớ chính.
34. Trong hệ điều hành, device driver là gì?
A. Một chương trình quản lý bộ nhớ.
B. Một chương trình 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 chương trình lập lịch CPU.
D. Một chương trình quản lý các tập tin.
35. Khi một tiến trình thực hiện một system call, điều gì xảy ra?
A. Tiến trình chuyển sang chế độ user.
B. Tiến trình yêu cầu hệ điều hành thực hiện một tác vụ đặc quyền.
C. Tiến trình giải phóng bộ nhớ.
D. Tiến trình kết thúc.
36. Thuật toán lập lịch nào ưu tiên tiến trình có thời gian thực hiện ngắn nhất?
A. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Round Robin (RR)
D. Priority Scheduling
37. Thuật toán lập lịch nào đảm bảo mỗi tiến trình nhận được một lượng thời gian CPU công bằng?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Round Robin (RR).
D. Priority Scheduling.
38. Để một tiến trình có thể thực thi, nó cần phải ở trạng thái nào?
A. Blocked.
B. Ready.
C. Running.
D. Waiting.
39. Trong ngữ cảnh hệ điều hành, ‘thrashing’ là hiện tượng gì?
A. CPU quá tải do nhiều tiến trình.
B. Bộ nhớ bị phân mảnh nghiêm trọng.
C. Tiến trình liên tục chuyển đổi giữa bộ nhớ chính và bộ nhớ ảo, gây giảm hiệu năng.
D. Ổ cứng bị đầy, không đủ không gian lưu trữ.
40. Trong hệ điều hành, interrupt là gì?
A. Một tín hiệu từ phần cứng hoặc phần mềm yêu cầu sự chú ý của CPU.
B. Một lệnh để kết thúc một tiến trình.
C. Một lệnh để cấp phát bộ nhớ.
D. Một lệnh để quản lý tập tin.
41. Trong hệ điều hành, mục đích của cơ chế ‘copy-on-write’ là gì?
A. Sao chép dữ liệu nhanh hơn.
B. Chia sẻ bộ nhớ giữa các tiến trình con và tiến trình cha một cách hiệu quả cho đến khi một trong số chúng sửa đổi dữ liệu.
C. Tăng tốc độ truy cập bộ nhớ.
D. Giảm thiểu phân mảnh bộ nhớ.
42. Cơ chế nào cho phép một tiến trình truy cập vào bộ nhớ của một tiến trình khác?
A. Chia sẻ bộ nhớ (Shared memory)
B. Đoạn mã quan trọng (Critical section)
C. Mutex
D. Semaphore
43. Thuật toán nào thường được sử dụng để tránh deadlock?
A. Shortest Job First (SJF).
B. Banker’s Algorithm.
C. First-Come, First-Served (FCFS).
D. Round Robin (RR).
44. Cơ chế nào cho phép nhiều tiến trình cùng sử dụng một tập tin?
A. Khóa tập tin (File locking)
B. Bộ nhớ ảo (Virtual memory)
C. Định thời CPU (CPU scheduling)
D. Ngắt (Interrupt)
45. Trong bộ nhớ ảo, page table được sử dụng để làm gì?
A. Lưu trữ dữ liệu của các trang.
B. Ánh xạ địa chỉ ảo sang địa chỉ vật lý.
C. Quản lý các tiến trình đang chạy.
D. Lưu trữ thông tin về các tập tin.
46. Trong hệ điều hành, cơ chế nào được sử dụng để quản lý việc cấp phát và thu hồi bộ nhớ cho các tiến trình?
A. Định thời biểu (Scheduling)
B. Quản lý bộ nhớ (Memory Management)
C. Quản lý tập tin (File Management)
D. Quản lý thiết bị (Device Management)
47. Trong hệ điều hành, context switching là gì?
A. Quá trình chuyển đổi giữa chế độ kernel và chế độ user.
B. Quá trình lưu trữ trạng thái của một tiến trình để chuyển CPU cho tiến trình khác.
C. Quá trình tạo ra một tiến trình mới.
D. Quá trình giải phóng bộ nhớ.
48. Đâu là mục tiêu chính của hệ thống tập tin?
A. Quản lý CPU.
B. Cung cấp một cách tổ chức và truy cập dữ liệu một cách hiệu quả và bền vững.
C. Quản lý bộ nhớ chính.
D. Điều khiển các thiết bị ngoại vi.
49. Trong hệ thống tập tin, mục đích của journaling là gì?
A. Tăng tốc độ truy cập tập tin.
B. Đảm bảo tính nhất quán của hệ thống tập tin trong trường hợp hệ thống bị lỗi.
C. Giảm phân mảnh tập tin.
D. Nén dữ liệu tập tin.
50. Trong hệ điều hành, scheduling algorithms được sử dụng để làm gì?
A. Quản lý bộ nhớ.
B. Quyết định tiến trình nào sẽ được cấp CPU và trong bao lâu.
C. Quản lý các tập tin trên ổ cứng.
D. Điều khiển các thiết bị ngoại vi.
51. Phương pháp quản lý bộ nhớ nào chia bộ nhớ thành các phần có kích thước cố định?
A. Phân trang (Paging)
B. Phân đoạn (Segmentation)
C. Phân vùng cố định (Fixed partitioning)
D. Phân vùng động (Dynamic partitioning)
52. Sự khác biệt giữa hard link và symbolic link trong hệ thống tập tin Unix là gì?
A. Hard link có thể trỏ đến các tập tin trên các hệ thống tập tin khác nhau.
B. Hard link là một bản sao của tập tin gốc.
C. Symbolic link là một tập tin chứa đường dẫn đến tập tin gốc, trong khi hard link trỏ trực tiếp đến inode của tập tin.
D. Cả hai đều giống nhau.
53. Trong ngữ cảnh hệ điều hành, ‘race condition’ là gì?
A. Một tình huống khi nhiều tiến trình cạnh tranh để chiếm CPU.
B. Một tình huống khi kết quả của một chương trình phụ thuộc vào thứ tự thực hiện của các tiến trình.
C. Một tình huống khi bộ nhớ bị phân mảnh.
D. Một tình huống khi hệ thống bị deadlock.
54. Sự khác biệt chính giữa pre-emptive scheduling và non-preemptive scheduling là gì?
A. Pre-emptive scheduling cho phép một tiến trình chiếm CPU lâu hơn.
B. Non-preemptive scheduling cho phép một tiến trình bị ngắt giữa chừng để tiến trình khác chạy.
C. Pre-emptive scheduling cho phép một tiến trình bị ngắt giữa chừng để tiến trình khác chạy.
D. Cả hai đều giống nhau.
55. Trong hệ thống tập tin, inode chứa thông tin gì về tập tin?
A. Tên tập tin
B. Dữ liệu của tập tin
C. Quyền truy cập, kích thước, và vị trí các khối dữ liệu của tập tin
D. Thời gian tạo tập tin
56. Ưu điểm của việc sử dụng bộ nhớ ảo (virtual memory) là gì?
A. Tăng tốc độ truy cập bộ nhớ.
B. Cho phép các tiến trình sử dụng nhiều bộ nhớ hơn bộ nhớ vật lý có sẵn.
C. Giảm thiểu phân mảnh bộ nhớ.
D. Giảm tiêu thụ điện năng.
57. Trong hệ điều hành, daemon là gì?
A. Một chương trình quản lý bộ nhớ.
B. Một tiến trình chạy ngầm thực hiện các tác vụ hệ thống.
C. Một chương trình lập lịch CPU.
D. Một chương trình quản lý các tập tin.
58. Trong hệ điều hành, ‘deadlock’ xảy ra khi nào?
A. Một tiến trình chiếm CPU quá lâu.
B. 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ữ.
C. Bộ nhớ bị đầy.
D. Hệ thống bị nhiễm virus.
59. Sự khác biệt giữa process và thread là gì?
A. Process là một đơn vị thực thi nhỏ hơn thread.
B. Thread là một đơn vị thực thi nhỏ hơn process và chia sẻ không gian bộ nhớ với các thread khác trong cùng process.
C. Process và thread là giống nhau.
D. Thread có không gian địa chỉ riêng, còn process thì không.
60. Semaphore được sử dụng để giải quyết vấn đề gì trong hệ điều hành?
A. Phân mảnh bộ nhớ.
B. Đoạn mã tranh chấp (Race condition) trong các tiến trình.
C. Lập lịch CPU.
D. Quản lý tập tin.
61. Trong ngữ cảnh của hệ điều hành, mục đích chính của việc sử dụng bộ nhớ ảo là gì?
A. Tăng tốc độ truy cập dữ liệu từ ổ cứng.
B. Cho phép các chương trình lớn hơn kích thước bộ nhớ vật lý chạy được.
C. Giảm thiểu nguy cơ phân mảnh bộ nhớ ngoài.
D. Đơn giản hóa việc quản lý bộ nhớ cache.
62. Điểm khác biệt chính giữa semaphore nhị phân (binary semaphore) và mutex là gì?
A. Semaphore nhị phân chỉ có thể có giá trị 0 hoặc 1, trong khi mutex có thể có nhiều giá trị.
B. Mutex chỉ có thể được giải phóng bởi tiến trình đã khóa nó, trong khi semaphore nhị phân có thể được giải phóng bởi một tiến trình khác.
C. Semaphore nhị phân được sử dụng cho đồng bộ hóa giữa các tiến trình, trong khi mutex được sử dụng cho loại trừ lẫn nhau trong một tiến trình.
D. Mutex nhanh hơn semaphore nhị phân vì nó không cần đến sự can thiệp của kernel.
63. Trong ngữ cảnh của 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 ít đặc quyền nhất có thể để thực hiện công việc của họ.
B. Tất cả người dùng nên có quyền truy cập như nhau vào hệ thống.
C. Chỉ có quản trị viên hệ thống mới có quyền truy cập vào dữ liệu nhạy cảm.
D. Hệ thống nên tự động cấp đặc quyền cho người dùng dựa trên hành vi của họ.
64. Trong hệ điều hành, thuật ngữ ‘race condition’ (điều kiện chạy đua) đề cập đến tình huống nào?
A. Hai hoặc nhiều tiến trình cố gắng truy cập và sửa đổi cùng một dữ liệu chia sẻ đồng thời, dẫn đến kết quả không xác định.
B. Một tiến trình chiếm dụng CPU quá lâu, ngăn cản các tiến trình khác được thực thi.
C. Bộ nhớ bị phân mảnh quá mức, làm chậm hiệu suất hệ thống.
D. Một tiến trình cố gắng truy cập một vùng nhớ không được phép.
65. Phương pháp lập lịch nào đảm bảo rằng mỗi tiến trình nhận được một phần công bằng của CPU trong một khoảng thời gian nhất định?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Round Robin.
D. Priority Scheduling.
66. Trong hệ điều hành, ‘process control block’ (PCB) chứa thông tin gì?
A. Mã nguồn của chương trình.
B. Dữ liệu mà chương trình đang xử lý.
C. Thông tin về trạng thái của tiến trình, bộ đếm chương trình, các thanh ghi và thông tin quản lý bộ nhớ.
D. Lịch sử thực thi của tiến trình.
67. Trong hệ điều hành, ‘virtual file system’ (VFS) là gì?
A. Một hệ thống tệp ảo được lưu trữ trong bộ nhớ.
B. Một lớp trừu tượng cho phép hệ điều hành truy cập các hệ thống tệp khác nhau một cách thống nhất.
C. Một công cụ để quản lý các tệp ảo.
D. Một hệ thống tệp được mã hóa.
68. Trong hệ thống tệp, inode chứa thông tin gì?
A. Dữ liệu thực tế của tệp.
B. Tên của tệp và đường dẫn đến tệp.
C. Metadata về tệp, chẳng hạn như kích thước, quyền truy cập và dấu thời gian.
D. Danh sách các tiến trình đang truy cập tệp.
69. Trong hệ thống tệp, mục đích của ‘journaling’ là gì?
A. Ghi lại tất cả các thay đổi đối với hệ thống tệp trước khi chúng được thực hiện, để có thể khôi phục hệ thống tệp về trạng thái nhất quán trong trường hợp xảy ra sự cố.
B. Tự động sao lưu các tệp quan trọng.
C. Mã hóa các tệp để bảo vệ chúng khỏi truy cập trái phép.
D. Tối ưu hóa hiệu suất của hệ thống tệp.
70. Mục đích của việc sử dụng DMA (Direct Memory Access) là gì?
A. Cho phép CPU truy cập trực tiếp vào bộ nhớ của các thiết bị ngoại vi.
B. Cho phép các thiết bị ngoại vi truy cập trực tiếp vào bộ nhớ hệ thống mà không cần sự can thiệp của CPU.
C. Tăng tốc độ truy cập bộ nhớ cache.
D. Giảm tiêu thụ điện năng của hệ thống.
71. Sự khác biệt chính giữa microkernel và monolithic kernel là gì?
A. Microkernel nhỏ hơn và có ít chức năng hơn monolithic kernel.
B. Monolithic kernel chạy nhanh hơn microkernel vì nó có ít overhead hơn.
C. Microkernel dễ bảo trì và mở rộng hơn monolithic kernel.
D. Tất cả các đáp án trên.
72. Chức năng chính của một trình điều khiển thiết bị (device driver) là gì?
A. Quản lý bộ nhớ cho thiết bị.
B. Cung cấp giao diện giữa hệ điều hành và phần cứng thiết bị.
C. Tối ưu hóa hiệu suất của thiết bị.
D. Kiểm tra và sửa lỗi phần cứng của thiết bị.
73. Thuật ngữ ‘thrashing’ trong hệ điều hành đề cập đến hiện tượng gì?
A. Việc hệ thống liên tục chuyển đổi giữa các tiến trình mà không thực hiện công việc hữu ích.
B. Sự cố phần cứng dẫn đến mất dữ liệu tạm thời.
C. Tình trạng quá tải mạng do lưu lượng truy cập quá lớn.
D. Lỗi lập trình khiến chương trình chạy chậm hoặc treo.
74. Trong hệ thống quản lý bộ nhớ, phân trang (paging) giải quyết vấn đề gì?
A. Phân mảnh bộ nhớ ngoài (external fragmentation).
B. Phân mảnh bộ nhớ trong (internal fragmentation).
C. Tràn bộ nhớ (memory overflow).
D. Rò rỉ bộ nhớ (memory leak).
75. Trong hệ điều hành, bộ nhớ cache được sử dụng để làm gì?
A. Lưu trữ dữ liệu tạm thời để truy cập nhanh hơn.
B. Lưu trữ tất cả các chương trình đang chạy.
C. Lưu trữ dữ liệu vĩnh viễn.
D. Mã hóa dữ liệu để bảo vệ khỏi truy cập trái phép.
76. Sự khác biệt chính giữa hard link và symbolic link trong hệ thống tệp Unix/Linux là gì?
A. Hard link tạo một bản sao của tệp, trong khi symbolic link tạo một con trỏ đến tệp gốc.
B. Hard link chỉ có thể trỏ đến các tệp trên cùng một hệ thống tệp, trong khi symbolic link có thể trỏ đến các tệp trên các hệ thống tệp khác nhau.
C. Hard link có kích thước lớn hơn symbolic link.
D. Symbolic link không thể bị xóa, trong khi hard link có thể.
77. Mục đích của việc sử dụng RAID (Redundant Array of Independent Disks) là gì?
A. Tăng dung lượng lưu trữ của ổ cứng.
B. Cải thiện hiệu suất đọc/ghi dữ liệu và/hoặc tăng tính отказоустойчивость (khả năng chịu lỗi).
C. Giảm tiêu thụ điện năng của hệ thống.
D. Mã hóa dữ liệu để bảo vệ khỏi truy cập trái phép.
78. Cơ chế nào được sử dụng để ngăn chặn tình trạng deadlock trong hệ điều hành?
A. Sử dụng bộ định thời (timer) để ngắt các tiến trình đang chờ.
B. Cấp phát tài nguyên theo thứ tự tuyến tính và yêu cầu tất cả các tiến trình yêu cầu tài nguyên trước khi thực thi.
C. Tăng kích thước bộ nhớ ảo để giảm thiểu tranh chấp tài nguyên.
D. Sử dụng nhiều CPU hơn để tăng tốc độ xử lý.
79. Trong ngữ cảnh của bảo mật hệ điều hành, ‘buffer overflow’ (tràn bộ đệm) là gì?
A. Một lỗi lập trình trong đó dữ liệu được ghi vượt quá kích thước của bộ đệm, có thể dẫn đến việc ghi đè lên các vùng nhớ khác và có khả năng chiếm quyền điều khiển hệ thống.
B. Một tình trạng trong đó bộ nhớ bị phân mảnh quá mức.
C. Một tình trạng trong đó quá nhiều chương trình đang chạy cùng một lúc.
D. Một tình trạng trong đó một chương trình cố gắng truy cập một vùng nhớ không được phép.
80. Điều gì xảy ra khi một tiến trình thực hiện một system call?
A. Tiến trình chuyển sang chế độ kernel và thực thi một hàm trong kernel.
B. Tiến trình chuyển sang chế độ user và thực thi một hàm trong thư viện chuẩn.
C. Một tiến trình mới được tạo ra để xử lý yêu cầu.
D. Tiến trình bị tạm dừng và chờ đợi một tín hiệu từ kernel.
81. Một trang (page) trong hệ thống bộ nhớ ảo là gì?
A. Một khối bộ nhớ vật lý có kích thước cố định.
B. Một khối bộ nhớ ảo có kích thước thay đổi.
C. Một khối bộ nhớ ảo có kích thước cố định.
D. Một khối bộ nhớ vật lý có kích thước thay đổi.
82. Phương pháp lập lịch nào ưu tiên các tiến trình có thời gian CPU sử dụng ít nhất trong quá khứ?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Priority Scheduling.
D. Shortest Remaining Time Next (SRTN).
83. Sự khác biệt giữa preemptive và non-preemptive scheduling là gì?
A. Preemptive scheduling cho phép một tiến trình bị ngắt giữa chừng, trong khi non-preemptive scheduling yêu cầu tiến trình phải tự nguyện nhường CPU.
B. Preemptive scheduling chỉ được sử dụng cho các hệ thống thời gian thực, trong khi non-preemptive scheduling được sử dụng cho các hệ thống thông thường.
C. Preemptive scheduling đơn giản hơn non-preemptive scheduling.
D. Non-preemptive scheduling hiệu quả hơn preemptive scheduling.
84. Trong hệ điều hành, ‘kernel panic’ là gì?
A. Một lỗi nghiêm trọng trong kernel khiến hệ thống phải dừng lại.
B. Một cảnh báo về việc sử dụng quá nhiều bộ nhớ.
C. Một cơ chế bảo mật để ngăn chặn truy cập trái phép.
D. Một công cụ để gỡ lỗi kernel.
85. Trong ngữ cảnh của hệ điều hành, ‘zombie process’ (tiến trình zombie) là gì?
A. Một tiến trình đã hoàn thành việc thực thi nhưng vẫn còn một mục nhập trong bảng tiến trình.
B. Một tiến trình đang chạy nhưng không phản hồi.
C. Một tiến trình đang chờ một sự kiện xảy ra.
D. Một tiến trình đang chiếm dụng quá nhiều tài nguyên hệ thống.
86. Trong hệ điều hành, ‘context switch’ (chuyển đổi ngữ cảnh) là gì?
A. Quá trình lưu và khôi phục trạng thái của một tiến trình để nó có thể tiếp tục thực thi sau đó.
B. Quá trình tạo một tiến trình mới.
C. Quá trình kết thúc một tiến trình.
D. Quá trình cấp phát bộ nhớ cho một tiến trình.
87. Nguyên tắc ‘locality of reference’ (tính cục bộ tham chiếu) trong hệ điều hành có nghĩa là gì?
A. Các tiến trình có xu hướng truy cập các vùng nhớ gần nhau trong một khoảng thời gian ngắn.
B. Dữ liệu nên được lưu trữ ở vị trí gần CPU nhất có thể.
C. Các tiến trình nên được ưu tiên dựa trên vị trí của chúng trong bộ nhớ.
D. Bộ nhớ nên được phân bổ cho các tiến trình gần nhau để giảm thiểu phân mảnh.
88. Trong hệ điều hành, ‘memory leak’ (rò rỉ bộ nhớ) là gì?
A. Bộ nhớ được cấp phát cho một chương trình nhưng không bao giờ được giải phóng.
B. Bộ nhớ bị ghi đè bởi một chương trình khác.
C. Bộ nhớ bị phân mảnh quá mức.
D. Bộ nhớ không đủ để chạy một chương trình.
89. Sự khác biệt chính giữa process và thread là gì?
A. Process là một thể hiện của một chương trình đang chạy, trong khi thread là một đơn vị thực thi trong một process.
B. Thread là một thể hiện của một chương trình đang chạy, trong khi process là một đơn vị thực thi trong một thread.
C. Process chia sẻ không gian bộ nhớ, trong khi thread có không gian bộ nhớ riêng.
D. Thread có ID riêng, trong khi process thì không.
90. Trong hệ thống tệp, ‘mount point’ (điểm gắn kết) là gì?
A. Vị trí trong hệ thống tệp nơi một thiết bị lưu trữ được gắn vào.
B. Điểm mà tại đó một tệp được chia sẻ giữa các tiến trình.
C. Vị trí mà tại đó một tệp được sao lưu.
D. Điểm mà tại đó một tệp được mã hóa.
91. Trong hệ thống tệp, ‘journaling’ được sử dụng để làm gì?
A. Tăng tốc độ truy cập tệp.
B. Ghi lại các thay đổi đối với hệ thống tệp trước khi chúng được thực hiện để phục hồi sau sự cố.
C. Nén các tệp để tiết kiệm không gian đĩa.
D. Mã hóa các tệp để bảo mật.
92. Trong hệ thống phân tán, ‘consensus algorithm’ (thuật toán đồng thuận) được sử dụng để làm gì?
A. Để cân bằng tải giữa các máy chủ.
B. Để đảm bảo rằng tất cả các máy chủ trong hệ thống đồng ý về một trạng thái nhất định, ngay cả khi có lỗi.
C. Để mã hóa dữ liệu truyền qua mạng.
D. Để giám sát hiệu suất của hệ thống.
93. Trong hệ thống tệp, mục đích chính của ‘inode’ là gì?
A. Lưu trữ nội dung của tệp.
B. Lưu trữ siêu dữ liệu (metadata) của tệp, chẳng hạn như quyền truy cập, kích thước và thời gian sửa đổi.
C. Quản lý không gian trống trên đĩa.
D. Tăng tốc độ truy cập tệp.
94. Ưu điểm của việc sử dụng ‘microkernel’ architecture là gì?
A. Hiệu suất cao hơn.
B. Kích thước nhỏ hơn và dễ bảo trì hơn.
C. Khả năng tương thích tốt hơn với phần cứng.
D. Bảo mật kém hơn.
95. Trong hệ điều hành, ‘deadlock’ là gì?
A. Một tình huống mà một tiến trình bị treo vĩnh viễn.
B. Một tình huống mà hai hoặc nhiều tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên, dẫn đến việc không tiến trình nào có thể tiếp tục.
C. Một tình huống mà bộ nhớ bị đầy.
D. Một tình huống mà CPU quá tải.
96. Điều gì xảy ra khi một tiến trình cố gắng truy cập một trang không hợp lệ (invalid page) trong bộ nhớ ảo?
A. Tiến trình tiếp tục thực thi bình thường.
B. Hệ điều hành tạo một trang mới và cấp phát cho tiến trình.
C. Một lỗi ‘page fault’ xảy ra.
D. Dữ liệu từ ổ cứng được tự động tải vào bộ nhớ.
97. Kỹ thuật ‘buffering’ được sử dụng để làm gì trong hệ điều hành?
A. Tăng tốc độ CPU.
B. Giảm thiểu phân mảnh bộ nhớ.
C. Đồng bộ hóa tốc độ giữa các thiết bị hoặc tiến trình khác nhau.
D. Bảo vệ hệ thống khỏi virus.
98. Kỹ thuật nào sau đây được sử dụng để bảo vệ hệ thống khỏi buffer overflow?
A. Sử dụng mật khẩu mạnh.
B. Kiểm tra biên (bounds checking) và sử dụng các thư viện an toàn.
C. Cập nhật hệ thống thường xuyên.
D. Sử dụng tường lửa.
99. Kỹ thuật nào sau đây được sử dụng để giảm thiểu tác động của thrashing?
A. Tăng kích thước bộ nhớ cache.
B. Sử dụng thuật toán lập lịch CPU tiên tiến hơn.
C. Áp dụng ‘working-set model’.
D. Tăng tốc độ ổ cứng.
100. Sự khác biệt chính giữa ‘preemptive scheduling’ và ‘non-preemptive scheduling’ là gì?
A. Preemptive scheduling chỉ áp dụng cho các hệ thống đa xử lý.
B. Trong preemptive scheduling, một tiến trình đang chạy có thể bị ngắt để nhường CPU cho tiến trình khác, trong khi non-preemptive scheduling thì không.
C. Non-preemptive scheduling hiệu quả hơn preemptive scheduling.
D. Preemptive scheduling đơn giản hơn non-preemptive scheduling.
101. Thuật ngữ ‘race condition’ mô tả điều gì trong lập trình đồng thời?
A. Một tình huống mà một tiến trình chiếm dụng CPU quá lâu.
B. Một lỗi trong trình biên dịch.
C. Một tình huống mà kết quả của chương trình phụ thuộc vào thứ tự thực thi không xác định của các tiến trình hoặc luồng.
D. Một tình huống mà bộ nhớ bị tràn.
102. Mutex và semaphore khác nhau như thế nào?
A. 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 bất kỳ tiến trình nào.
B. Semaphore chỉ có thể được sử dụng cho các tiến trình, trong khi mutex chỉ có thể được sử dụng cho các luồng.
C. Mutex là một phiên bản phức tạp hơn của semaphore.
D. Semaphore là một phiên bản đơn giản hơn của mutex.
103. Lợi ích chính của việc sử dụng ‘threads’ (luồng) thay vì ‘processes’ (tiến trình) là gì?
A. Threads an toàn hơn processes.
B. Threads tiêu thụ ít tài nguyên hơn và có thể chuyển đổi nhanh hơn processes.
C. Processes dễ lập trình hơn threads.
D. Processes có thể truy cập bộ nhớ của nhau dễ dàng hơn threads.
104. Trong hệ điều hành, ‘virtual machine monitor’ (VMM) hay ‘hypervisor’ là gì?
A. Một chương trình được sử dụng để quản lý bộ nhớ.
B. Một chương trình được sử dụng để lập lịch các tiến trình.
C. Một chương trình cho phép chạy nhiều hệ điều hành đồng thời trên một máy chủ vật lý.
D. Một chương trình được sử dụng để quản lý hệ thống tệp.
105. Trong bảo mật hệ thống, ‘buffer overflow’ là gì?
A. Một tình huống mà bộ nhớ bị đầy.
B. Một lỗi trong trình biên dịch.
C. Một lỗ hổng bảo mật cho phép kẻ tấn công ghi dữ liệu vượt quá giới hạn của một bộ đệm, có thể dẫn đến việc thực thi mã độc.
D. Một tình huống mà CPU quá tải.
106. Trong ngữ cảnh của quản lý bộ nhớ, ‘phân trang’ (paging) giải quyết vấn đề nào sau đây?
A. Phân mảnh ngoại vi (external fragmentation)
B. Phân mảnh nội vi (internal fragmentation)
C. Đánh cắp trang (page stealing)
D. Chia sẻ bộ nhớ
107. Trong hệ điều hành, ‘thrashing’ xảy ra khi nào?
A. Khi CPU quá tải.
B. Khi có quá nhiều tiến trình đang cạnh tranh để sử dụng CPU.
C. Khi hệ thống liên tục hoán đổi các trang bộ nhớ vào và ra khỏi ổ cứng.
D. Khi có lỗi phần cứng.
108. Trong ngữ cảnh của hệ điều hành thời gian thực (real-time operating system – RTOS), điều gì quan trọng nhất?
A. Thông lượng tối đa.
B. Thời gian đáp ứng có thể dự đoán được.
C. Sử dụng bộ nhớ tối thiểu.
D. Giao diện người dùng thân thiện.
109. Trong hệ điều hành, ‘system call’ là gì?
A. Một hàm được sử dụng để lập lịch các tiến trình.
B. Một hàm được sử dụng để quản lý bộ nhớ.
C. Một yêu cầu từ một chương trình người dùng đến kernel để thực hiện một tác vụ đặc quyền.
D. Một hàm được sử dụng để giao tiếp giữa các tiến trình.
110. Mục đích của ‘device driver’ là gì?
A. Để quản lý bộ nhớ.
B. Để cung cấp giao diện giữa hệ điều hành và phần cứng.
C. Để lập lịch các tiến trình.
D. Để quản lý hệ thống tệp.
111. Trong hệ thống tệp, ‘mount point’ là gì?
A. Điểm mà một hệ thống tệp được gắn vào một hệ thống tệp khác.
B. Điểm mà một ổ cứng được kết nối với máy tính.
C. Điểm mà một chương trình được cài đặt.
D. Điểm mà một người dùng đăng nhập vào hệ thống.
112. Trong bảo mật hệ thống, ‘principle of least privilege’ có nghĩa là gì?
A. Mỗi người dùng nên có quyền truy cập vào tất cả các tài nguyên hệ thống.
B. Mỗi người dùng và 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. Tất cả các tài khoản nên được bảo vệ bằng mật khẩu mạnh.
D. Hệ thống nên được cập nhật thường xuyên.
113. Trong hệ điều hành, ‘context switch’ là gì?
A. Quá trình chuyển đổi giữa chế độ người dùng và chế độ kernel.
B. Quá trình chuyển đổi CPU từ một tiến trình hoặc luồng sang một tiến trình hoặc luồng khác.
C. Quá trình chuyển đổi giữa các mức ưu tiên khác nhau.
D. Quá trình chuyển đổi giữa các hệ điều hành khác nhau.
114. Để ngăn chặn deadlock, điều kiện nào sau đây cần phải không xảy ra?
A. Mutual exclusion
B. Hold and wait
C. No preemption
D. Circular wait
115. Sự khác biệt giữa ‘hard link’ và ‘symbolic link’ trong hệ thống tệp Unix là gì?
A. Hard link chỉ có thể trỏ đến các tệp, trong khi symbolic link có thể trỏ đến cả tệp và thư mục.
B. Hard link tạo một bản sao của tệp, trong khi symbolic link chỉ tạo một con trỏ.
C. Hard link nhanh hơn symbolic link.
D. Symbolic link hoạt động ngay cả khi tệp gốc bị xóa, trong khi hard link thì không.
116. Thuật toán lập lịch nào có thể dẫn đến tình trạng ‘đói tài nguyên’ (starvation) trong hệ thống?
A. Round Robin
B. Shortest Job First (SJF)
C. First-Come, First-Served (FCFS)
D. Priority Scheduling
117. ‘Virtualization’ (ảo hóa) cho phép điều gì?
A. Chạy nhiều hệ điều hành đồng thời trên một máy chủ vật lý.
B. Tăng tốc độ CPU.
C. Giảm thiểu phân mảnh bộ nhớ.
D. Bảo vệ hệ thống khỏi virus.
118. Cơ chế nào sau đây được sử dụng để chuyển đổi địa chỉ logic thành địa chỉ vật lý trong hệ thống bộ nhớ ảo?
A. Bảng trang (page table)
B. Bộ nhớ cache
C. Ổ cứng
D. Thanh ghi
119. Sự khác biệt giữa ‘user mode’ và ‘kernel mode’ là gì?
A. User mode có quyền truy cập vào tất cả các tài nguyên hệ thống, trong khi kernel mode thì không.
B. Kernel mode có quyền truy cập vào tất cả các tài nguyên hệ thống, trong khi user mode bị hạn chế.
C. User mode được sử dụng cho các chương trình hệ thống, trong khi kernel mode được sử dụng cho các ứng dụng người dùng.
D. Không có sự khác biệt giữa user mode và kernel mode.
120. Trong quản lý bộ nhớ, ‘buddy system’ là gì?
A. Một thuật toán lập lịch CPU.
B. Một phương pháp cấp phát bộ nhớ mà các khối bộ nhớ được chia thành các khối có kích thước lũy thừa của 2.
C. Một kỹ thuật bảo mật.
D. Một phương pháp quản lý hệ thống tệp.
121. Sự khác biệt chính giữa ‘blocking’ và ‘non-blocking’ I/O là gì?
A. Blocking I/O luôn nhanh hơn non-blocking I/O.
B. Blocking I/O khiến tiến trình chờ đợi cho đến khi thao tác I/O hoàn thành, trong khi non-blocking I/O trả về ngay lập tức, ngay cả khi thao tác I/O chưa hoàn thành.
C. Non-blocking I/O chỉ có thể được sử dụng với các thiết bị mạng.
D. Blocking I/O chỉ có thể được sử dụng với các thiết bị đĩa.
122. Thành phần nào của hệ điều hành chịu trách nhiệm quản lý và cấp phát tài nguyên (ví dụ: CPU, bộ nhớ, thiết bị I/O) cho các tiến trình?
A. Kernel.
B. Shell.
C. Compiler.
D. Debugger.
123. Sự khác biệt chính giữa ‘virtual memory’ (bộ nhớ ảo) và ‘physical memory’ (bộ nhớ vật lý) là gì?
A. Virtual memory là bộ nhớ nhanh hơn physical memory.
B. Virtual memory là bộ nhớ được nhìn thấy bởi các tiến trình, trong khi physical memory là bộ nhớ thực tế của hệ thống.
C. Physical memory là bộ nhớ đắt tiền hơn virtual memory.
D. Không có sự khác biệt, hai thuật ngữ này có thể hoán đổi cho nhau.
124. Trong ngữ cảnh của hệ điều hành, ‘race condition’ xảy ra khi nào?
A. Khi hai hoặc nhiều tiến trình cố gắng truy cập và sửa đổi cùng một dữ liệu dùng chung đồng thời.
B. Khi một tiến trình cố gắng truy cập một vùng nhớ không hợp lệ.
C. Khi hệ thống thiếu bộ nhớ để cấp phát cho một tiến trình mới.
D. Khi một tiến trình cố gắng thực thi một lệnh không hợp lệ.
125. Điều gì xảy ra khi một tiến trình cố gắng truy cập một vùng nhớ mà nó không được phép truy cập?
A. Tiến trình sẽ bị tạm dừng và tiếp tục chạy sau khi được cấp quyền truy cập.
B. Hệ điều hành sẽ tự động cấp quyền truy cập cho tiến trình.
C. Tiến trình sẽ bị hủy bỏ và một thông báo lỗi sẽ được hiển thị.
D. Hệ điều hành sẽ ghi dữ liệu ngẫu nhiên vào vùng nhớ đó.
126. Trong ngữ cảnh của hệ điều hành, thuật ngữ ‘thrashing’ đề cập đến hiện tượng gì?
A. CPU liên tục chuyển đổi giữa các tiến trình nhưng không thực hiện công việc hữu ích, dẫn đến hiệu suất hệ thống giảm.
B. Bộ nhớ chính không đủ để chứa tất cả các tiến trình đang chạy, dẫn đến việc sử dụng bộ nhớ ảo tăng cao.
C. Đĩa cứng bị phân mảnh nghiêm trọng, làm chậm quá trình đọc/ghi dữ liệu.
D. Hệ thống liên tục thực hiện việc trao đổi (swapping) trang giữa bộ nhớ chính và bộ nhớ ảo, dẫn đến hiệu suất hệ thống giảm.
127. Sự khác biệt chính giữa ‘preemptive’ và ‘non-preemptive’ scheduling là gì?
A. Preemptive scheduling cho phép một tiến trình tự nguyện nhường CPU, còn non-preemptive thì không.
B. Preemptive scheduling cho phép hệ điều hành ngắt một tiến trình đang chạy để chuyển CPU cho tiến trình khác, còn non-preemptive thì không.
C. Preemptive scheduling sử dụng hàng đợi ưu tiên, còn non-preemptive thì không.
D. Preemptive scheduling yêu cầu thời gian chạy của tiến trình phải được biết trước, còn non-preemptive thì không.
128. Trong ngữ cảnh bảo mật hệ thống, ‘Principle of Least Privilege’ (Nguyên tắc đặc quyền tối thiểu) có nghĩa là gì?
A. Mỗi người dùng nên có quyền truy cập vào tất cả các tài nguyên của hệ thống.
B. Mỗi người dùng 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 họ.
C. Tất cả các người dùng nên có quyền quản trị hệ thống.
D. Không ai nên có quyền truy cập vào bất kỳ tài nguyên nào của hệ thống.
129. Trong hệ thống tệp, inode là gì?
A. Một khối dữ liệu chứa nội dung của tệp.
B. Một bảng chứa danh sách tất cả các tệp trong hệ thống.
C. Một cấu trúc dữ liệu chứa metadata về một tệp (ví dụ: kích thước, quyền, thời gian truy cập).
D. Một chương trình được sử dụng để quản lý các tệp.
130. Trong kiến trúc microkernel, phần lớn các dịch vụ hệ điều hành được thực hiện ở đâu?
A. Trong kernel.
B. Trong không gian người dùng.
C. Trong firmware.
D. Trong BIOS.
131. Deadlock (bế tắc) xảy ra khi nào?
A. Khi một tiến trình chiếm giữ tất cả các tài nguyên của hệ thống.
B. Khi hai hoặc nhiều tiến trình chờ đợi lẫn nhau để giải phóng các tài nguyên mà chúng đang giữ.
C. Khi một tiến trình cố gắng truy cập một vùng nhớ không hợp lệ.
D. Khi hệ thống thiếu bộ nhớ để cấp phát cho một tiến trình mới.
132. Trong hệ thống quản lý bộ nhớ, TLB (Translation Lookaside Buffer) là gì?
A. Một bộ nhớ cache lưu trữ các trang (page) thường xuyên được sử dụng.
B. Một bộ nhớ cache lưu trữ các ánh xạ địa chỉ ảo sang địa chỉ vật lý.
C. Một bộ nhớ cache lưu trữ các lệnh của CPU.
D. Một bộ nhớ cache lưu trữ dữ liệu từ đĩa cứng.
133. Trong ngữ cảnh quản lý bộ nhớ, kỹ thuật ‘paging’ (phân trang) giúp giải quyết vấn đề gì?
A. Phân mảnh ngoại vi.
B. Phân mảnh nội vi.
C. Deadlock.
D. Starvation.
134. Trong ngữ cảnh bảo mật, ‘buffer overflow’ là gì?
A. Một lỗi trong đó một chương trình ghi dữ liệu vượt quá kích thước của một bộ đệm (buffer) được cấp phát.
B. Một tình huống trong đó bộ nhớ của hệ thống đã đầy.
C. Một lỗi trong đó một chương trình cố gắng truy cập một vùng nhớ không hợp lệ.
D. Một tình huống trong đó CPU bị quá tải.
135. Thành phần nào của hệ điều hành chịu trách nhiệm chuyển đổi địa chỉ logic (logical address) thành địa chỉ vật lý (physical address)?
A. Memory Management Unit (MMU).
B. Central Processing Unit (CPU).
C. Input/Output Management Unit (IOMU).
D. Disk Management Unit (DMU).
136. Trong ngữ cảnh của hệ điều hành, ‘context switching’ (chuyển đổi ngữ cảnh) là gì?
A. Quá trình chuyển dữ liệu giữa bộ nhớ chính và bộ nhớ ảo.
B. Quá trình chuyển CPU từ một tiến trình sang tiến trình khác.
C. Quá trình chuyển dữ liệu giữa CPU và các thiết bị I/O.
D. Quá trình chuyển đổi giữa các chế độ người dùng và chế độ kernel.
137. Cơ chế nào trong hệ điều hành cho phép một chương trình đang chạy gọi các hàm hoặc dịch vụ được cung cấp bởi kernel?
A. System call.
B. Interrupt.
C. Exception.
D. Trap.
138. Trong hệ thống tệp, ‘hard link’ và ‘symbolic link’ khác nhau như thế nào?
A. Hard link là một bản sao của tệp, trong khi symbolic link là một con trỏ đến tệp gốc.
B. Hard link trỏ trực tiếp đến inode của tệp, trong khi symbolic link trỏ đến đường dẫn của tệp.
C. Hard link có thể trỏ đến các tệp trên các hệ thống tệp khác nhau, trong khi symbolic link thì không.
D. Hard link có thể trỏ đến các thư mục, trong khi symbolic link thì không.
139. Thuật toán nào sau đây là một thuật toán ‘page replacement’ (thay thế trang) được sử dụng trong quản lý bộ nhớ ảo?
A. Shortest Job First (SJF).
B. First-Come, First-Served (FCFS).
C. Least Recently Used (LRU).
D. Round Robin.
140. Trong các thuật toán lập lịch CPU, thuật toán nào có thể dẫn đến tình trạng ‘starvation’, trong đó một tiến trình có độ ưu tiên thấp phải chờ đợi vô thời hạn để được cấp CPU?
A. Shortest Job First (SJF).
B. First-Come, First-Served (FCFS).
C. Round Robin.
D. Priority Scheduling.
141. 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ỉ riêng, trong khi các thread trong cùng một process chia sẻ không gian địa chỉ.
C. Thread có thể chạy độc lập mà không cần process.
D. Process chỉ có thể chạy trên một CPU, trong khi thread có thể chạy trên nhiều CPU.
142. Trong hệ thống tệp, ‘mount point’ là gì?
A. Điểm cuối của một kết nối mạng.
B. Vị trí trong hệ thống tệp nơi một thiết bị lưu trữ được gắn vào.
C. Một chương trình được sử dụng để quản lý các tệp.
D. Kích thước tối đa của một tệp.
143. Cơ chế nào trong hệ điều hành cho phép nhiều tiến trình chia sẻ cùng một đoạn mã (code) trong bộ nhớ, giảm thiểu việc sử dụng bộ nhớ?
A. Dynamic linking.
B. Static linking.
C. Memory mapping.
D. Code duplication.
144. Trong hệ thống quản lý bộ nhớ ảo, page fault xảy ra khi nào?
A. Khi một tiến trình cố gắng truy cập một trang (page) không hợp lệ.
B. Khi một trang (page) được tìm thấy trong bộ nhớ cache.
C. Khi một tiến trình cố gắng truy cập một trang (page) không có trong bộ nhớ chính.
D. Khi bộ nhớ chính đã đầy và cần phải swap một trang (page) ra đĩa.
145. Trong hệ thống phân tán, ‘distributed file system’ (hệ thống tệp phân tán) là gì?
A. Một hệ thống tệp được lưu trữ trên một máy tính duy nhất.
B. Một hệ thống tệp được chia sẻ trên nhiều máy tính trong một mạng.
C. Một hệ thống tệp chỉ có thể truy cập được từ một máy tính duy nhất.
D. Một hệ thống tệp được sử dụng để lưu trữ các tệp hệ thống.
146. Cơ chế nào trong hệ điều hành giúp ngăn chặn một tiến trình độc chiếm CPU quá lâu, đảm bảo tính công bằng cho các tiến trình khác?
A. Spooling.
B. Deadlock prevention.
C. Time slicing.
D. Buffering.
147. Trong các trạng thái của tiến trình, trạng thái ‘blocked’ (chờ) biểu thị điều gì?
A. Tiến trình đang sử dụng CPU.
B. Tiến trình đang chờ một sự kiện xảy ra (ví dụ: hoàn thành I/O).
C. Tiến trình đã hoàn thành việc thực thi.
D. Tiến trình đang sẵn sàng để được cấp CPU.
148. Trong RAID (Redundant Array of Independent Disks), cấp độ RAID nào cung cấp khả năng chịu lỗi bằng cách sao chép dữ liệu trên nhiều đĩa?
A. RAID 0.
B. RAID 1.
C. RAID 5.
D. Cả RAID 1 và RAID 5.
149. Mutex và Semaphore là các công cụ đồng bộ hóa được sử dụng để giải quyết vấn đề gì trong hệ điều hành?
A. Phân mảnh bộ nhớ.
B. Race condition.
C. Deadlock detection.
D. Starvation prevention.
150. Trong ngữ cảnh của hệ điều hành, ‘virtualization’ (ảo hóa) là gì?
A. Quá trình nén dữ liệu để tiết kiệm không gian lưu trữ.
B. Quá trình tạo ra một phiên bản ảo của một tài nguyên (ví dụ: hệ điều hành, phần cứng) để nhiều người dùng có thể sử dụng đồng thời.
C. Quá trình gỡ lỗi một chương trình.
D. Quá trình tối ưu hóa hiệu suất của hệ thống.