1. 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) cho một số tiến trình?
A. Round Robin.
B. Shortest Job First (SJF).
C. First-Come, First-Served (FCFS).
D. Priority Scheduling.
2. Trong hệ điều hành, cơ chế DMA (Direct Memory Access) có vai trò gì?
A. Cho phép CPU truy cập trực tiếp vào bộ nhớ cache.
B. 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. Cho phép các tiến trình chia sẻ bộ nhớ với nhau.
D. Tăng tốc độ truy cập ổ đĩa.
3. Một hệ thống có nhiều tiến trình đang trong trạng thái ‘blocked’ (chờ đợi). Điều gì có thể gây ra tình trạng này?
A. Các tiến trình đang chờ đợi tài nguyên được giải phóng.
B. CPU đang quá tải.
C. Bộ nhớ bị thiếu.
D. Hệ thống tệp bị lỗi.
4. Mục đích của việc sử dụng hệ thống tệp nhật ký (journaling file system) là gì?
A. Tăng tốc độ truy cập tệp.
B. Giảm dung lượng lưu trữ cần thiết.
C. Đảm bảo tính nhất quán của hệ thống tệp sau sự cố.
D. Cải thiện bảo mật của tệp.
5. Trong hệ thống tệp phân cấp (hierarchical file system), khái niệm ‘current working directory’ (thư mục làm việc hiện tại) có ý nghĩa gì?
A. Thư mục gốc của hệ thống tệp.
B. Thư mục chứa các tệp hệ thống quan trọng.
C. Thư mục mà người dùng đang thao tác và các đường dẫn tương đối được tham chiếu đến thư mục này.
D. Thư mục chứa các tệp tạm thời.
6. 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ó quyền truy cập vào tất cả các tài nguyên hệ thống.
B. Người dùng chỉ nên có quyền truy cập vào các tài nguyên cần thiết để thực hiện công việc của họ.
C. Tất cả người dùng nên có quyền quản trị hệ thống.
D. Hệ thống nên tự động cấp quyền cho người dùng khi cần thiết.
7. Hệ điều hành nào sau đây là một ví dụ về hệ điều hành thời gian thực (real-time operating system – RTOS)?
A. Windows 10.
B. Linux.
C. FreeRTOS.
D. macOS.
8. Điểm khác biệt chính giữa tiến trình (process) và luồng (thread) là gì?
A. Tiến trình chia sẻ không gian bộ nhớ, còn luồng thì không.
B. Luồng chia sẻ không gian bộ nhớ, còn tiến trình thì không.
C. Tiến trình là đơn vị thực thi nhỏ nhất, còn luồng thì lớn hơn.
D. Tiến trình và luồng là hoàn toàn giống nhau.
9. Sự khác biệt chính giữa preemptive scheduling và non-preemptive scheduling là gì?
A. Preemptive scheduling cho phép một tiến trình chiếm CPU lâu hơn, còn non-preemptive thì không.
B. Non-preemptive scheduling cho phép một tiến trình chiếm CPU lâu hơn, còn preemptive thì không.
C. Preemptive scheduling chỉ áp dụng cho các hệ thống đa xử lý.
D. Non-preemptive scheduling chỉ áp dụng cho các hệ thống thời gian thực.
10. Trong hệ điều hành, ‘virtualization’ (ảo hóa) là gì?
A. Quá trình tối ưu hóa hiệu suất CPU.
B. Quá trình tạo ra các phiên bản ảo của phần cứng hoặc hệ điều hành.
C. Quá trình nén dữ liệu.
D. Quá trình mã hóa dữ liệu.
11. Điều gì xảy ra khi một tiến trình cố gắng truy cập một trang bộ nhớ không hợp lệ (page fault)?
A. Tiến trình bị hủy ngay lập tức.
B. Hệ điều hành tìm trang đó trên ổ đĩa và nạp vào bộ nhớ.
C. Tiến trình tiếp tục thực thi mà không có bất kỳ sự gián đoạn nào.
D. CPU tự động bỏ qua lệnh gây ra lỗi.
12. Trong hệ điều hành, ‘context switch’ (chuyển đổi ngữ cảnh) là gì?
A. Quá trình thay đổi kích thước cửa sổ ứng dụng.
B. Quá trình chuyển đổi CPU từ chế độ người dùng sang chế độ kernel.
C. Quá trình lưu và khôi phục trạng thái của một tiến trình để cho phép một tiến trình khác chạy.
D. Quá trình thay đổi độ phân giải màn hình.
13. Trong ngữ cảnh của 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 cấu trúc dữ liệu chứa siêu dữ liệu về một tệp.
C. Một thư mục chứa danh sách các tệp.
D. Một cơ chế để nén tệp.
14. Cơ chế nào cho phép một tiến trình sử dụng nhiều bộ nhớ hơn dung lượng RAM vật lý có sẵn?
A. Bộ nhớ cache.
B. Bộ nhớ ảo.
C. DMA (Direct Memory Access).
D. Bộ nhớ flash.
15. Trong hệ điều hành, ‘race condition’ (điều kiện tranh đua) xảy ra khi nào?
A. Hai tiến trình cố gắng truy cập cùng một tài nguyên cùng một lúc, và kết quả phụ thuộc vào thứ tự truy cập.
B. Một tiến trình cố gắng truy cập một vùng nhớ không hợp lệ.
C. Hai tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên.
D. Hệ thống bị thiếu bộ nhớ.
16. Trong ngữ cảnh của hệ thống tệp, ‘hard link’ (liên kết cứng) là gì?
A. Một bản sao của tệp.
B. Một con trỏ đến một tệp trên một hệ thống tệp khác.
C. Một mục nhập thư mục trỏ đến cùng một inode với một tệp khác.
D. Một tệp nén.
17. Một hệ thống sử dụng thuật toán lập lịch Round Robin với quantum thời gian quá lớn. Điều này có thể dẫn đến hệ quả gì?
A. Giảm số lượng context switch.
B. Tăng tính công bằng giữa các tiến trình.
C. Thuật toán hoạt động tương tự như First-Come, First-Served (FCFS).
D. Tăng hiệu suất CPU.
18. Trong hệ điều hành, cơ chế nào được sử dụng để bảo vệ bộ nhớ của các tiến trình khác nhau khỏi bị truy cập trái phép?
A. Sử dụng bộ nhớ ảo và các bảng trang.
B. Sử dụng ngắt phần cứng.
C. Sử dụng hàng đợi FIFO.
D. Sử dụng semaphore.
19. Thuật toán nào thường được sử dụng để quản lý bộ nhớ cache trong hệ điều hành?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Least Recently Used (LRU).
D. Priority Scheduling.
20. 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. Đồng bộ hóa các tiến trình và luồng.
C. Lập lịch CPU.
D. Quản lý bộ nhớ ảo.
21. Trong hệ điều hành, ‘thrashing’ là hiện tượng gì?
A. CPU hoạt động ở mức tối đa.
B. Bộ nhớ bị phân mảnh quá nhiều.
C. Hệ thống liên tục chuyển đổi các trang bộ nhớ vào và ra khỏi ổ đĩa, làm giảm hiệu suất.
D. Ổ đĩa bị đầy.
22. Điều gì xảy ra khi một tiến trình gọi hàm ‘fork()’? (Giả sử hàm fork() thành công)
A. Tiến trình hiện tại bị dừng lại và một tiến trình mới được tạo ra thay thế nó.
B. Một tiến trình mới được tạo ra, là bản sao của tiến trình hiện tại, và cả hai tiến trình tiếp tục chạy song song.
C. Tiến trình hiện tại kết thúc và trả lại một mã lỗi.
D. Hệ thống khởi động lại.
23. Khi một tiến trình tạo ra một tiến trình con (child process), tiến trình con sẽ nhận được gì từ tiến trình cha (parent process)?
A. Một bản sao của tất cả các tài nguyên và không gian địa chỉ của tiến trình cha.
B. Quyền truy cập trực tiếp vào bộ nhớ của tiến trình cha.
C. Một con trỏ đến không gian địa chỉ của tiến trình cha.
D. Không có gì cả, tiến trình con phải tự khởi tạo mọi thứ.
24. Mục đích chính của việc sử dụng RAID (Redundant Array of Independent Disks) là gì?
A. Tăng tốc độ CPU.
B. Tăng dung lượng RAM.
C. Cải thiện hiệu suất và độ tin cậy của hệ thống lưu trữ.
D. Giảm tiêu thụ điện năng.
25. Một hệ thống có nhiều tiến trình đang tranh giành tài nguyên CPU. Giải pháp nào sau đây giúp giảm thiểu tình trạng ‘đói tài nguyên’ (starvation) một cách hiệu quả nhất?
A. Sử dụng thuật toán lập lịch Shortest Job First (SJF).
B. Sử dụng thuật toán lập lịch First-Come, First-Served (FCFS).
C. Sử dụng thuật toán lập lịch Priority Scheduling với cơ chế aging (lão hóa).
D. Tăng tốc độ xung nhịp của CPU.
26. Trong hệ điều hành, ‘deadlock’ (bế tắc) xảy ra khi nào?
A. Một tiến trình chiếm giữ tài nguyên mà không bao giờ giải phóng nó.
B. Hai hoặc nhiều tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên.
C. Một tiến trình cố gắng truy cập một vùng nhớ không hợp lệ.
D. Hệ thống bị thiếu bộ nhớ.
27. Cơ chế nào được sử dụng để cho phép các tiến trình giao tiếp với nhau trong hệ điều hành?
A. Bộ nhớ cache.
B. Bộ nhớ ảo.
C. Inter-Process Communication (IPC).
D. DMA (Direct Memory Access).
28. Trong hệ điều hành, cơ chế ‘interrupt’ (ngắt) được sử dụng để làm gì?
A. Tăng tốc độ CPU.
B. Cho phép các tiến trình chia sẻ dữ liệu với nhau.
C. Báo hiệu cho CPU biết về một sự kiện cần được xử lý ngay lập tức.
D. Quản lý bộ nhớ ảo.
29. Trong hệ điều hành, cơ chế ‘paging’ (phân trang) được sử dụng để làm gì?
A. Quản lý bộ nhớ cache.
B. Quản lý bộ nhớ ảo bằng cách chia bộ nhớ thành các trang có kích thước cố định.
C. Quản lý bộ nhớ bằng cách chia bộ nhớ thành các đoạn có kích thước thay đổi.
D. Quản lý bộ nhớ flash.
30. Nguyên tắc ‘locality of reference’ (tính cục bộ tham chiếu) có ý nghĩa gì trong quản lý bộ nhớ?
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. Bộ nhớ được phân bổ theo thứ tự yêu cầu.
C. Các trang bộ nhớ được lưu trữ trên ổ đĩa theo thứ tự truy cập.
D. Bộ nhớ được chia thành các khối có kích thước bằng nhau.
31. Trong hệ điều hành, mục đích của việc sử dụng ‘mutex’ là gì?
A. Để tạo ra nhiều tiến trình.
B. Để cung cấp loại trừ lẫn nhau, đả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. Để quản lý bộ nhớ.
D. Để lập lịch các tiến trình.
32. Deadlock (tắc nghẽn) có thể xảy ra khi nào?
A. Khi một tiến trình cố gắng truy cập một tài nguyên không tồn tại.
B. Khi hai hoặc nhiều tiến trình chờ đợi lẫn nhau để chiếm giữ các tài nguyên mà chúng đang giữ.
C. Khi bộ nhớ vật lý đầy và hệ thống bắt đầu sử dụng bộ nhớ ảo.
D. Khi một tiến trình sử dụng quá nhiều CPU time.
33. Trong hệ điều hành, ‘interrupt’ (ngắt) 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ỗi trong chương trình.
C. Một yêu cầu cấp phát bộ nhớ.
D. Một lệnh gọi hệ thống.
34. Trong bảo mật hệ thống, ‘principle of least privilege’ (nguyên tắc đặc quyền tối thiểu) nghĩa là gì?
A. Người dùng nên có quyền truy cập đầy đủ vào tất cả các tài nguyên hệ thống.
B. 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 công việc của họ.
C. Người dùng nên được cấp quyền truy cập tạm thời vào các tài nguyên nhạy cảm.
D. Người dùng nên được yêu cầu thay đổi mật khẩu thường xuyên.
35. Sự khác biệt chính giữa lập lịch preemptive và non-preemptive là gì?
A. Lập lịch preemptive cho phép một tiến trình bị ngắt giữa chừng, trong khi lập lịch non-preemptive thì không.
B. Lập lịch non-preemptive ưu tiên các tiến trình I/O-bound, trong khi lập lịch preemptive ưu tiên các tiến trình CPU-bound.
C. Lập lịch preemptive đơn giản hơn lập lịch non-preemptive.
D. Lập lịch non-preemptive đòi hỏi nhiều bộ nhớ hơn lập lịch preemptive.
36. Cơ chế nào trong hệ điều hành giúp bảo vệ dữ liệu của một tiến trình khỏi bị truy cập trái phép bởi các tiến trình khác?
A. Bộ nhớ cache
B. Bảng trang (Page table)
C. Bộ nhớ ảo (Virtual memory)
D. Cơ chế bảo vệ bộ nhớ (Memory protection)
37. Trong quản lý bộ nhớ, ‘cache memory’ (bộ nhớ cache) được sử dụng để làm gì?
A. Lưu trữ dữ liệu lâu dài.
B. Lưu trữ các bản sao của dữ liệu thường xuyên được sử dụng để tăng tốc độ truy cập.
C. Lưu trữ các thiết lập BIOS.
D. Lưu trữ hệ điều hành.
38. Chức năng chính của một ‘device driver’ (trình điều khiển thiết bị) là gì?
A. Quản lý bộ nhớ cho thiết bị.
B. Cung cấp giao diện để hệ điều hành tương tác với một thiết bị phần cứng cụ thể.
C. Tối ưu hóa hiệu suất của thiết bị.
D. Bảo vệ thiết bị khỏi virus.
39. Đ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ệ trong bảng trang (page table)?
A. Tiến trình bị tạm dừng và hệ điều hành ghi thông báo lỗi vào nhật ký.
B. Tiến trình tiếp tục thực thi, nhưng dữ liệu trả về là không xác định.
C. Một ngắt trang lỗi (page fault) xảy ra, và hệ điều hành xử lý nó.
D. Hệ điều hành tự động cấp phát một trang mới cho tiến trình.
40. Trong hệ thống tệp, ‘journaling’ được sử dụng để làm gì?
A. Để mã hóa dữ liệu.
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, giúp phục hồi sau sự cố.
C. Để nén dữ liệu.
D. Để phân mảnh dữ liệu.
41. Trong ngữ cảnh quản lý bộ nhớ, ‘thrashing’ xảy ra khi nào?
A. CPU quá tải do có quá nhiều tiến trình sẵn sàng.
B. Hệ thống liên tục hoán đổi các trang vào và ra khỏi bộ nhớ.
C. Bộ nhớ vật lý đầy và hệ thống bắt đầu sử dụng bộ nhớ ảo.
D. Đĩa cứng bị phân mảnh quá nhiều.
42. Trong hệ điều hành, ‘kernel’ (nhân) là gì?
A. Một chương trình ứng dụng.
B. Phần cốt lõi của hệ điều hành quản lý tài nguyên hệ thống và cung cấp dịch vụ cho các ứng dụng.
C. Một trình biên dịch.
D. Một trình gỡ lỗi.
43. Trong hệ thống tệp, RAID (Redundant Array of Independent Disks) được sử dụng để làm gì?
A. Tăng tốc độ truy cập dữ liệu.
B. Cung cấp khả năng chịu lỗi và tăng độ tin cậy của dữ liệu.
C. Nén dữ liệu để tiết kiệm không gian lưu trữ.
D. Mã hóa dữ liệu để bảo mật.
44. 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ể nhận giá trị 0 hoặc 1, trong khi semaphore đếm có thể nhận bất kỳ giá trị không âm nào.
B. Semaphore đếm chỉ được sử dụng cho đồng bộ hóa tiến trình, trong khi semaphore nhị phân được sử dụng cho loại trừ lẫn nhau.
C. Semaphore nhị phân nhanh hơn semaphore đếm.
D. Semaphore đếm đòi hỏi ít bộ nhớ hơn semaphore nhị phân.
45. Một hệ thống tập tin sử dụng cấu trúc cây thư mục, thư mục gốc thường được ký hiệu là gì?
46. Khi một tiến trình thực hiện một lệnh gọi hệ thống (system call), điều gì xảy ra?
A. Tiến trình chuyển sang chế độ người dùng (user mode).
B. Tiến trình chuyển sang chế độ kernel (kernel mode).
C. Tiến trình bị tạm dừng cho đến khi hệ điều hành khởi động lại.
D. Tiến trình được cấp thêm bộ nhớ.
47. Trong hệ thống tệp, ‘hard link’ (liên kết cứng) khác với ‘symbolic link’ (liên kết mềm) như thế nào?
A. 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.
B. Symbolic link tạo ra một bản sao của tệp, trong khi hard link thì không.
C. 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.
D. Hard link chỉ có thể được tạo bởi người dùng root, trong khi symbolic link có thể được tạo bởi bất kỳ người dùng nào.
48. 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 chế độ người dùng và chế độ kernel.
B. Quá trình lưu và khôi phục trạng thái của một tiến trình để CPU có thể chuyển sang thực thi một tiến trình khác.
C. Quá trình chuyển đổi giữa các hệ điều hành khác nhau trên cùng một máy tính.
D. Quá trình chuyển đổi giữa các ngôn ngữ lập trình khác nhau.
49. Trong hệ thống tệp, mục đích của việc sử dụng ‘mount point’ là gì?
A. Để tạo một bản sao lưu của hệ thống tệp.
B. Để gắn một hệ thống tệp vào một vị trí cụ thể trong cây thư mục.
C. Để mã hóa hệ thống tệp.
D. Để nén hệ thống tệp.
50. Trong hệ điều hành, ‘daemon’ là gì?
A. Một chương trình ứng dụng tương tác với người dùng.
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 trình biên dịch.
D. Một trình gỡ lỗi.
51. Trong quản lý bộ nhớ, kỹ thuật nào giúp giảm thiểu sự phân mảnh bên ngoài?
A. Phân trang (Paging)
B. Hoán đổi (Swapping)
C. Định vị lại tĩnh (Static Relocation)
D. Phân vùng cố định (Fixed Partitioning)
52. Thuật toán lập lịch CPU nào ưu tiên các tiến trình có thời gian chờ đợi lâu nhất?
A. First-Come, First-Served (FCFS)
B. Shortest Job Next (SJN)
C. Priority Scheduling
D. Aging (Lão hóa)
53. Sự khác biệt chính giữa ‘process’ (tiến trình) và ‘thread’ (luồng) là gì?
A. Tiến trình là một chương trình đang thực thi, trong khi luồng là một phần của tiến trình chia sẻ không gian bộ nhớ.
B. Luồng là một chương trình đang thực thi, trong khi tiến trình là một phần của luồng chia sẻ không gian bộ nhớ.
C. Tiến trình nhanh hơn luồng.
D. Luồng an toàn hơn tiến trình.
54. Trong hệ điều hành, ‘virtual machine’ (máy ảo) là gì?
A. Một máy tính vật lý được đặt trong một trung tâm dữ liệu.
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 các hệ điều hành và ứng dụng khác nhau trên cùng một phần cứng.
C. Một thiết bị lưu trữ mạng.
D. Một hệ thống tệp phân tán.
55. 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.
C. Quyền truy cập, kích thước, và vị trí dữ liệu của tệp.
D. Đường dẫn đầy đủ đến tệp.
56. RAM (Random Access Memory) được sử dụng cho mục đích chính nào trong một hệ thống máy tính?
A. Lưu trữ dữ liệu lâu dài.
B. Lưu trữ các chương trình và dữ liệu đang được CPU sử dụng.
C. Lưu trữ các thiết lập BIOS.
D. Lưu trữ hệ điều hành.
57. Trong hệ điều hành, cơ chế nào được sử dụng để chuyển đổi địa chỉ logic thành địa chỉ vật lý?
A. Phân trang (Paging)
B. Định vị lại động (Dynamic Relocation)
C. Hoán đổi (Swapping)
D. Đoạn (Segmentation)
58. Trong quản lý tiến trình, trạng thái ‘blocked’ (chặn) của một tiến trình nghĩa là gì?
A. Tiến trình đang thực thi các lệnh.
B. Tiến trình đang chờ một sự kiện xảy ra, chẳng hạn như 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 chờ CPU để được cấp phát thời gian.
59. Trong quản lý bộ nhớ ảo, kỹ thuật ‘Demand Paging’ hoạt động như thế nào?
A. Tất cả các trang của một tiến trình được tải vào bộ nhớ khi tiến trình bắt đầu.
B. Các trang chỉ được tải vào bộ nhớ khi chúng thực sự cần thiết.
C. Các trang được tải vào bộ nhớ theo một thứ tự ưu tiên định trước.
D. Các trang được tải vào bộ nhớ dựa trên tần suất sử dụng của chúng.
60. Điều gì là quan trọng nhất để ngăn chặn tình trạng ‘race condition’ (điều kiện chủng tộc) trong lập trình đa luồng?
A. Tăng tốc độ CPU.
B. Sử dụng bộ nhớ cache lớn hơn.
C. Đảm bảo đồng bộ hóa thích hợp giữa các luồng khi truy cập tài nguyên chung.
D. Sử dụng ngôn ngữ lập trình khác.
61. Trong hệ thống tệp, ‘mounting’ có nghĩa là gì?
A. Gắn một hệ thống tệp vào một điểm trong cây thư mục hiện tại, cho phép truy cập vào hệ thống tệp đó.
B. Sao chép một hệ thống tệp sang một thiết bị lưu trữ khác.
C. Nén một hệ thống tệp để tiết kiệm không gian.
D. Mã hóa một hệ thống tệp để bảo vệ dữ liệu.
62. Hệ điều hành sử dụng cơ chế nào để xử lý các interrupts?
A. Interrupt handlers (trình xử lý прерывания)
B. Device drivers (trình điều khiển thiết bị)
C. System calls (lời gọi hệ thống)
D. Memory management units (MMU)
63. Sự khác biệt chính giữa ‘process’ và ‘thread’ là gì?
A. Process là một chương trình đang thực thi với không gian địa chỉ riêng, trong khi thread là một đơn vị thực thi nhỏ hơn bên trong một process và chia sẻ không gian địa chỉ của process đó.
B. Process là một đơn vị thực thi nhỏ hơn bên trong một thread.
C. Thread là một chương trình đang thực thi với không gian địa chỉ riêng.
D. Process và thread là hai khái niệm hoàn toàn giống nhau.
64. Điều gì xảy ra khi một tiến trình cố gắng truy cập một trang bộ nhớ không hợp lệ?
A. Tiến trình bị tạm dừng và một tín hiệu (signal) được gửi đến tiến trình đó.
B. Hệ điều hành tự động cấp phát thêm bộ nhớ cho tiến trình.
C. Tiến trình tiếp tục thực thi mà không có bất kỳ vấn đề gì.
D. Hệ điều hành sẽ khởi động lại toàn bộ hệ thống.
65. Trong hệ điều hành, ‘context switching’ là gì?
A. Quá trình lưu trạng thái của một tiến trình hoặc thread để có thể khôi phục lại sau đó và cho phép một tiến trình hoặc thread khác thực thi.
B. Quá trình cấp phát bộ nhớ cho một tiến trình.
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ớ của một tiến trình.
66. Trong hệ điều hành, semaphores được sử dụng để làm gì?
A. Đồng bộ hóa và quản lý truy cập vào các tài nguyên dùng chung giữa các tiến trình.
B. Cấp phát bộ nhớ cho các tiến trình.
C. Lập lịch CPU.
D. Xử lý прерывания.
67. Loại lập lịch CPU nào đảm bảo mỗi tiến trình nhận được một khoảng thời gian CPU công bằng?
A. Round Robin
B. First-Come, First-Served (FCFS)
C. Shortest Job First (SJF)
D. Priority Scheduling
68. Trong hệ điều hành, ‘scheduler’ (bộ lập lịch) có vai trò gì?
A. Chọn tiến trình nào sẽ được thực thi tiếp theo trên CPU.
B. Cấp phát bộ nhớ cho các tiến trình.
C. Quản lý các thiết bị I/O.
D. Xử lý прерывания.
69. Cơ chế nào được sử dụng để bảo vệ hệ điều hành khỏi các tiến trình người dùng?
A. Dual-mode operation (chế độ kép)
B. Virtual memory (bộ nhớ ảo)
C. Paging (phân trang)
D. Buffering (bộ đệm)
70. Trong ngữ cảnh hệ điều hành, DMA (Direct Memory Access) là gì?
A. 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.
B. Một phương pháp quản lý bộ nhớ ảo.
C. Một giao thức mạng tốc độ cao.
D. Một kỹ thuật mã hóa dữ liệu.
71. Phương pháp nào thường được sử dụng để giải quyết tình trạng deadlock?
A. Deadlock prevention, deadlock avoidance, deadlock detection và recovery.
B. Tăng cường tài nguyên hệ thống.
C. Sử dụng thuật toán lập lịch CPU hiệu quả hơn.
D. Nén dữ liệu trong bộ nhớ.
72. Điều gì xảy ra khi một tiến trình bị ‘blocked’ (chặn)?
A. Tiến trình tạm dừng thực thi cho đến khi một sự kiện nào đó xảy ra, chẳng hạn như hoàn thành thao tác I/O.
B. Tiến trình bị kết thúc.
C. Tiến trình được chuyển sang trạng thái ‘ready’ (sẵn sàng).
D. Tiến trình được ưu tiên cao hơn.
73. Trong hệ điều hành, ‘mutex’ là gì?
A. Một cơ chế khóa (lock) cho phép chỉ một tiến trình hoặc thread truy cập vào một tài nguyên dùng chung tại một thời điểm.
B. Một phương pháp quản lý bộ nhớ ảo.
C. Một thuật toán lập lịch CPU.
D. Một loại прерывания.
74. Sự khác biệt chính giữa preemptive và non-preemptive scheduling là gì?
A. Trong preemptive scheduling, một tiến trình đang chạy có thể bị ngắt (preempted) để nhường CPU cho tiến trình khác, trong khi non-preemptive scheduling thì không.
B. Preemptive scheduling luôn hiệu quả hơn non-preemptive scheduling.
C. Non-preemptive scheduling yêu cầu nhiều bộ nhớ hơn preemptive scheduling.
D. Preemptive scheduling chỉ áp dụng cho hệ thống đa nhiệm, còn non-preemptive scheduling chỉ áp dụng cho hệ thống đơn nhiệm.
75. Trong ngữ cảnh của hệ điều hành, ‘deadlock’ là gì?
A. 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, dẫn đến không tiến trình nào có thể tiếp tục thực thi.
B. Một lỗi phần cứng nghiêm trọng khiến hệ thống ngừng hoạt động.
C. Một cuộc tấn công từ chối dịch vụ (DoS) làm quá tải hệ thống.
D. Một tiến trình chiếm dụng CPU quá lâu, gây trễ cho các tiến trình khác.
76. Trong hệ điều hành, ‘device driver’ (trình điều khiển thiết bị) có chức năng gì?
A. Cho phép hệ điều hành giao tiếp và điều khiển các thiết bị phần cứng.
B. Quản lý bộ nhớ ảo.
C. Lập lịch CPU.
D. Xử lý прерывания.
77. Trong hệ điều hành, ‘zombie process’ là gì?
A. Một tiến trình đã kết thúc nhưng vẫn còn một mục nhập trong bảng tiến trình để cho phép tiến trình cha thu thập thông tin trạng thái kết thúc của nó.
B. Một tiến trình đang chiếm dụng quá nhiều tài nguyên hệ thống.
C. Một tiến trình bị treo.
D. Một tiến trình đang thực hiện các thao tác trái phép.
78. Trong hệ điều hành, thuật ngữ ‘race condition’ xảy ra khi nào?
A. Nhiều tiến trình truy cập và thao tác trên cùng một dữ liệu đồng thời, và kết quả phụ thuộc vào thứ tự truy cập.
B. Một tiến trình chiếm giữ tài nguyên quá lâu, gây trễ cho các tiến trình khác.
C. Hệ thống thiếu bộ nhớ vật lý để cấp phát cho các tiến trình.
D. Một tiến trình bị lỗi và làm treo toàn bộ hệ thống.
79. Trong hệ thống tệp, RAID (Redundant Array of Independent Disks) được sử dụng để làm gì?
A. Tăng cường hiệu suất và độ tin cậy của lưu trữ dữ liệu bằng cách sử dụng nhiều ổ đĩa cứng.
B. Nén dữ liệu để tiết kiệm không gian lưu trữ.
C. Mã hóa dữ liệu để bảo vệ khỏi truy cập trái phép.
D. Quản lý bộ nhớ ảo.
80. Trong hệ điều hành, ‘kernel’ là gì?
A. 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à cung cấp các dịch vụ cơ bản cho các ứng dụng.
B. Một ứng dụng hệ thống quan trọng.
C. Một trình điều khiển thiết bị.
D. Một công cụ gỡ lỗi hệ thống.
81. Thuật toán lập lịch nào sau đây có thể dẫn đến tình trạng ‘starvation’?
A. Priority Scheduling (ưu tiên)
B. First-Come, First-Served (FCFS)
C. Shortest Job First (SJF)
D. Round Robin
82. Điều gì xảy ra khi một tiến trình gọi hàm ‘fork()’?
A. Một tiến trình con mới được tạo ra, là bản sao của tiến trình cha.
B. Tiến trình hiện tại bị kết thúc.
C. Một thread mới được tạo ra trong tiến trình hiện tại.
D. Một tín hiệu (signal) được gửi đến tiến trình hiện tại.
83. Trong hệ thống quản lý bộ nhớ, ‘paging’ là gì?
A. Chia bộ nhớ vật lý thành các khối có kích thước cố định gọi là ‘frames’ và bộ nhớ logic của tiến trình thành các khối có kích thước tương ứng gọi là ‘pages’.
B. Kỹ thuật sử dụng bộ nhớ cache để tăng tốc độ truy cập bộ nhớ.
C. Kỹ thuật nén dữ liệu trong bộ nhớ để tiết kiệm không gian.
D. Quá trình di chuyển các tiến trình giữa bộ nhớ chính và bộ nhớ phụ.
84. Mục đích chính của việc sử dụng bộ nhớ ảo (virtual memory) là gì?
A. Cho phép các tiến trình vượt quá kích thước bộ nhớ vật lý có sẵn.
B. Tăng tốc độ truy cập bộ nhớ.
C. Giảm thiểu tình trạng phân mảnh bộ nhớ.
D. Bảo vệ bộ nhớ khỏi các truy cập trái phép.
85. Trong hệ thống tệp, inode chứa thông tin gì?
A. Metadata về tệp, chẳng hạn như quyền truy cập, kích thước, và thời gian sửa đổi.
B. Nội dung của tệp.
C. Tên của tệp.
D. Đường dẫn đầy đủ đến tệp.
86. Cơ chế nào được sử dụng để bảo vệ dữ liệu trong trường hợp mất điện đột ngột?
A. Journaling file system (hệ thống tệp nhật ký)
B. Virtual memory (bộ nhớ ảo)
C. Paging (phân trang)
D. Buffering (bộ đệm)
87. Thuật ngữ ‘thrashing’ trong hệ điều hành đề cập đến điều gì?
A. Tình trạng hệ thống liên tục thực hiện việc chuyển trang (page swapping) giữa bộ nhớ chính và bộ nhớ phụ, dẫn đến hiệu suất giảm sút nghiêm trọng.
B. Một thuật toán lập lịch CPU hiệu quả.
C. Một kỹ thuật bảo mật hệ thống.
D. Một phương pháp quản lý bộ nhớ tối ưu.
88. Thuật ngữ ‘virtual machine’ (máy ảo) đề cập đến điều gì?
A. Một môi trường phần mềm giả lập một hệ thống máy tính hoàn chỉnh, cho phép chạy các hệ điều hành và ứng dụng khác nhau trên cùng một phần cứng vật lý.
B. Một thiết bị phần cứng đặc biệt.
C. Một loại bộ nhớ ảo.
D. Một giao thức mạng.
89. Trong hệ thống tệp, ‘symbolic link’ (liên kết tượng trưng) là gì?
A. Một tệp đặc biệt chứa một đường dẫn đến một tệp hoặc thư mục khác.
B. Một bản sao của một tệp.
C. Một phương pháp nén tệp.
D. Một cơ chế mã hóa tệp.
90. Mục đích của ‘system call’ trong hệ điều hành là gì?
A. Cung cấp giao diện cho các tiến trình người dùng để yêu cầu các dịch vụ từ kernel.
B. Quản lý bộ nhớ ảo.
C. Lập lịch CPU.
D. Xử lý прерывания.
91. Trong hệ thống tập tin, ‘hard link’ (liên kết cứng) khác với ‘symbolic link’ (liên kết mềm) như thế nào?
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, trong khi symbolic link thì không.
B. Hard link tạo ra một bản sao của tập tin, trong khi symbolic link chỉ tạo ra một con trỏ.
C. Hard link trỏ trực tiếp đến inode của tập tin, trong khi symbolic link trỏ đến đường dẫn của tập tin.
D. Hard link có thể trỏ đến thư mục, trong khi symbolic link thì không.
92. Trong ngữ cảnh quản lý bộ nhớ, kỹ thuật ‘paging’ (phân trang) giải quyết vấn đề gì?
A. Giải quyết vấn đề phân mảnh ngoại vi.
B. Giải quyết vấn đề phân mảnh nội vi.
C. Tăng tốc độ truy cập bộ nhớ bằng cách sử dụng cache.
D. Cho phép các tiến trình lớn hơn kích thước bộ nhớ vật lý được thực thi.
93. Trong ngữ cảnh hệ điều hành, ‘system call’ (lời gọi hệ thống) là gì?
A. Một hàm thư viện được sử dụng bởi các ứng dụng.
B. Một yêu cầu từ một ứng dụng đến kernel để thực hiện một tác vụ đặc quyền.
C. Một lệnh được sử dụng để cấu hình hệ điều hành.
D. Một thông báo lỗi được hiển thị khi hệ thống gặp sự cố.
94. Trong hệ điều hành thời gian thực (real-time operating system – RTOS), yếu tố nào quan trọng nhất?
A. Hiệu suất xử lý cao nhất có thể.
B. Độ trễ (latency) thấp và tính đáp ứng (responsiveness) cao.
C. Khả năng xử lý số lượng lớn các tiến trình đồng thời.
D. Tiết kiệm năng lượng tối đa.
95. Trong hệ điều hành, ‘device driver’ (trình điều khiển thiết bị) có vai trò gì?
A. Quản lý bộ nhớ ảo.
B. Cung cấp giao diện giữa hệ điều hành và phần cứng thiết bị.
C. Lập lịch CPU cho các tiến trình.
D. Quản lý hệ thống tập tin.
96. Trong hệ điều hành, ‘paging demand’ (phân trang theo yêu cầu) là gì?
A. Một kỹ thuật để giảm thiểu phân mảnh bộ nhớ.
B. Một kỹ thuật để tải các trang vào bộ nhớ chỉ khi chúng được yêu cầu.
C. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ.
D. Một kỹ thuật để quản lý bộ nhớ ảo.
97. Trong hệ điều hành, ‘semaphore’ (tín hiệu) được sử dụng để làm gì?
A. Quản lý bộ nhớ ảo.
B. Đồng bộ hóa các tiến trình và quản lý truy cập vào tài nguyên dùng chung.
C. Lập lịch CPU cho các tiến trình.
D. Phát hiện và ngăn chặn deadlock.
98. Trong hệ thống tập tin, ‘journaling’ (ghi nhật ký) được sử dụng để làm gì?
A. Ghi lại tất cả các hoạt động của người dùng trên hệ thống.
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 gặp sự cố.
C. Tăng tốc độ truy cập tập tin.
D. Quản lý không gian đĩa trống.
99. Trong hệ thống tập tin, ‘superblock’ (khối siêu dữ liệu) chứa thông tin gì?
A. Nội dung của tất cả các tập tin trong hệ thống.
B. Thông tin về cấu trúc và tổ chức của hệ thống tập tin, chẳng hạn như kích thước khối, số lượng inodes.
C. Danh sách tất cả các người dùng có quyền truy cập vào hệ thống.
D. Các thông tin liên quan đến bảo mật hệ thống.
100. Trong hệ điều hành, ‘interrupt’ (ngắt) là gì?
A. Một tín hiệu yêu cầu hệ điều hành khởi động lại.
B. Một tín hiệu yêu cầu hệ điều hành tạm dừng một tiến trình.
C. Một tín hiệu yêu cầu hệ điều hành chuyển đổi ngữ cảnh giữa các tiến trình.
D. Một tín hiệu báo cho CPU biết rằng một sự kiện cần được xử lý ngay lập tức.
101. Trong ngữ cảnh lập lịch CPU, thuật toán ‘Rate Monotonic Scheduling (RMS)’ thường được sử dụng trong hệ thống nào?
A. Hệ thống thời gian thực (real-time systems).
B. Hệ thống chia sẻ thời gian (time-sharing systems).
C. Hệ thống xử lý hàng loạt (batch processing systems).
D. Hệ thống phân tán (distributed systems).
102. Trong ngữ cảnh bảo mật hệ điều hành, ‘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ảo vệ khỏi truy cập trái phép.
B. Kiểm soát quyền truy cập của người dùng và tiến trình vào các tài nguyên hệ thống.
C. Phát hiện và ngăn chặn virus và phần mềm độc hại.
D. Xác thực người dùng trước khi cho phép truy cập vào hệ thống.
103. Đ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) trong hệ điều hành Unix/Linux?
A. Tiến trình con chia sẻ toàn bộ không gian bộ nhớ với tiến trình cha.
B. Tiến trình con có một bản sao (copy) không gian bộ nhớ của tiến trình cha.
C. Tiến trình cha bị tạm dừng cho đến khi tiến trình con kết thúc.
D. Tiến trình con tự động kế thừa tất cả các quyền của tiến trình cha.
104. Trong hệ điều hành, ‘mutex’ (độc quyền tương hỗ) được sử dụng để làm gì?
A. Quản lý bộ nhớ ảo.
B. Đảm bảo chỉ có một tiến trình có thể truy cập vào một tài nguyên quan trọng tại một thời điểm.
C. Lập lịch CPU cho các tiến trình.
D. Phát hiện và ngăn chặn deadlock.
105. Trong ngữ cảnh quản lý bộ nhớ, kỹ thuật ‘segmentation’ (phân đoạn) là gì?
A. Chia bộ nhớ thành các khối có kích thước cố định.
B. Chia bộ nhớ thành các khối có kích thước thay đổi, tương ứng với các phần logic của chương trình.
C. Sử dụng cache để tăng tốc độ truy cập bộ nhớ.
D. Cho phép các tiến trình chia sẻ bộ nhớ với nhau.
106. Trong ngữ cảnh 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. Mỗi người dùng 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 họ.
B. Tất cả các tiến trình nên chạy với quyền root để đảm bảo hiệu suất tối đa.
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. Tất cả các kết nối mạng nên được mã hóa để bảo vệ dữ liệu.
107. Trong ngữ cảnh hệ điều hành, ‘kernel’ (nhân) là gì?
A. Một chương trình tiện ích được sử dụng để quản lý tập tin.
B. 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.
C. Một giao diện dòng lệnh cho phép người dùng tương tác với hệ thống.
D. Một chương trình được sử dụng để biên dịch mã nguồn.
108. Cơ chế nào của hệ điều hành được sử dụng để ngăn chặn tình trạng ‘starvation’ (chết đói) trong việc cấp phát CPU cho các tiến trình?
A. Sử dụng thuật toán Round Robin.
B. Sử dụng thuật toán Shortest Job First.
C. Sử dụng thuật toán Priority Scheduling với aging (lão hóa).
D. Sử dụng thuật toán First-Come, First-Served.
109. Kỹ thuật ‘buffering’ (đệm) được sử dụng trong hệ điều hành để làm gì?
A. Tăng tốc độ truy cập bộ nhớ.
B. Đồng bộ hóa tốc độ giữa các thiết bị hoặc tiến trình khác nhau.
C. Giảm thiểu phân mảnh bộ nhớ.
D. Bảo vệ dữ liệu khỏi bị mất khi hệ thống gặp sự cố.
110. Trong hệ thống quản lý bộ nhớ ảo, ‘page fault’ (lỗi trang) xảy ra khi nào?
A. Khi một tiến trình cố gắng truy cập vào một trang không hợp lệ.
B. Khi một tiến trình cố gắng ghi vào một trang chỉ đọc.
C. Khi một tiến trình cố gắng truy cập vào một trang không có trong bộ nhớ vật lý.
D. Khi bộ nhớ vật lý đã đầy và không thể cấp phát thêm trang.
111. Trong hệ thống tập tin, ‘mount point’ (điểm gắn kết) là gì?
A. Vị trí trên đĩa nơi hệ điều hành được cài đặt.
B. Thư mục trong hệ thống tập tin hiện tại nơi một hệ thống tập tin khác được gắn vào.
C. Vị trí nơi các tập tin tạm thời được lưu trữ.
D. Địa chỉ bộ nhớ nơi hệ điều hành lưu trữ thông tin về các thiết bị.
112. Trong ngữ cảnh lập lịch CPU, thuật toán ‘Shortest Remaining Time Next (SRTN)’ là một biến thể của thuật toán nào?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Priority Scheduling.
D. Round Robin.
113. 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 cố gắng truy cập vào một vùng nhớ không được cấp phép.
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à chúng đang giữ.
C. Khi CPU quá tải và không thể xử lý các tiến trình kịp thời.
D. Khi bộ nhớ vật lý đã đầy và không thể cấp phát thêm trang.
114. Trong hệ thống tập tin, mục đích chính của việc sử dụng ‘inodes’ là gì?
A. Lưu trữ nội dung thực tế của tập tin.
B. Lưu trữ siêu dữ liệu (metadata) về tập tin, chẳng hạn như quyền truy cập, kích thước và thời gian tạo.
C. Tăng tốc độ truy cập tập tin bằng cách lưu trữ các khối dữ liệu thường xuyên được sử dụng.
D. Quản lý không gian đĩa trống.
115. Thuật toán lập lịch nào sau đây có thể dẫn đến tình trạng ‘convoy effect’ (hiệu ứng đoàn xe), trong đó các tiến trình ngắn phải chờ đợi các tiến trình dài hoàn thành?
A. Shortest Job First (SJF).
B. Priority Scheduling.
C. First-Come, First-Served (FCFS).
D. Round Robin.
116. Trong hệ điều hành, thuật ngữ ‘race condition’ (điều kiện chạy đua) thường xảy ra khi nào?
A. Khi nhiều tiến trình truy cập và thao tác trên cùng một dữ liệu đồng thời, và kết quả cuối cùng phụ thuộc vào thứ tự thực hiện.
B. 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ép.
C. Khi một tiến trình chiếm giữ tài nguyên quá lâu, gây ra tình trạng nghẽn cổ chai.
D. Khi hệ điều hành không thể phân biệt được giữa các tiến trình khác nhau.
117. Trong hệ điều hành, ‘process control block (PCB)’ (khối điều khiển tiến trình) chứa thông tin gì?
A. Mã nguồn của tiến trình.
B. Trạng thái của tiến trình, bộ đếm chương trình, và thông tin quản lý bộ nhớ.
C. Dữ liệu được sử dụng bởi tiến trình.
D. Quyền truy cập của tiến trình vào các tài nguyên hệ thống.
118. Trong hệ điều hành, ‘virtual memory’ (bộ nhớ ảo) cung cấp lợi ích 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 nguy cơ deadlock.
D. Tăng cường bảo mật hệ thống.
119. Kỹ thuật ‘thrashing’ (xáo trộn trang) trong quản lý bộ nhớ xảy ra khi nào?
A. Khi CPU quá tải và không thể xử lý các tiến trình kịp thời.
B. Khi hệ thống swap trang quá thường xuyên, dẫn đến hiệu suất hệ thống giảm đáng kể.
C. Khi có quá nhiều tiến trình cạnh tranh để truy cập vào cùng một tài nguyên.
D. Khi bộ nhớ vật lý bị phân mảnh quá nhiều.
120. Trong ngữ cảnh hệ điều hành, ‘context switching’ (chuyển đổi ngữ cảnh) là gì?
A. Quá trình chuyển đổi giữa chế độ người dùng và chế độ kernel.
B. Quá trình lưu và khôi phục trạng thái của một tiến trình để cho phép một tiến trình khác thực thi.
C. Quá trình cấp phát bộ nhớ cho một tiến trình mới.
D. Quá trình giải phóng bộ nhớ của một tiến trình đã kết thúc.
121. 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ớ.
C. Cung cấp khả năng dự phòng và/hoặc tăng hiệu suất lưu trữ dữ liệu.
D. Bảo vệ hệ thống khỏi virus.
122. Trong ngữ cảnh của hệ thống tệp, journaling là gì?
A. Một kỹ thuật để ghi lại tất cả các hoạt động của người dùng trên hệ thống.
B. Một kỹ thuật để ghi lại các thay đổi đối với metadata của hệ thống tệp trước khi chúng được thực hiện, để đảm bảo tính nhất quán trong trường hợp xảy ra sự cố.
C. Một kỹ thuật để nén dữ liệu trên ổ cứng.
D. Một kỹ thuật để sao lưu dữ liệu hệ thống.
123. Deadlock (tắc nghẽn) xảy ra khi nào?
A. Khi một tiến trình chiếm giữ một tài nguyên và yêu cầu một tài nguyên khác đang được tiến trình khác chiếm giữ, tạo thành một vòng tròn chờ đợ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ệ điều hành gặp lỗi phần cứng.
D. Khi một tiến trình sử dụng quá nhiều CPU.
124. Trong ngữ cảnh của bảo mật hệ thống, buffer overflow là gì?
A. Một lỗi phần cứng gây ra mất dữ liệu.
B. Một lỗi phần mềm xảy ra khi 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ó thể dẫn đến việc ghi đè lên các vùng nhớ khác và gây ra các vấn đề bảo mật.
C. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ.
D. Một kỹ thuật để nén dữ liệu.
125. Trong hệ điều hành, scheduling algorithm nào đảm bảo công bằng nhất 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.
126. Điều gì là đặc điểm của hệ thống thời gian thực (real-time operating system)?
A. Ưu tiên hiệu suất tối đa hơn độ tin cậy.
B. Đảm bảo rằng các tác vụ quan trọng được hoàn thành trong một khoảng thời gian xác định.
C. Sử dụng giao diện người dùng đồ họa phức tạp.
D. Chạy trên các máy tính có cấu hình mạnh.
127. Trong bối cảnh bảo mật hệ thống, ‘principle of least privilege’ (nguyên tắc đặ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 người dùng hoặc 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 tiến trình nên chạy với quyền root.
D. Người quản trị hệ thống nên có quyền truy cập vào tất cả các tài khoản người dùng.
128. Trong hệ điều hành, thuật ngữ ‘race condition’ (điều kiện chủng tộc) xảy ra khi nào?
A. Khi nhiều tiến trình cùng truy cập và thay đổi dữ liệu dùng chung, và kết quả cuối cùng phụ thuộc vào thứ tự thực hiện.
B. Khi một tiến trình cố gắng truy cập một vùng nhớ không được cấp phép.
C. Khi một tiến trình chờ đợi vô thời hạn một tài nguyên mà không bao giờ được cấp.
D. Khi hệ điều hành không thể xác định được tiến trình nào nên được ưu tiên thực hiện trước.
129. Trong hệ điều hành, spinlock là gì và khi nào nên sử dụng nó?
A. Một loại khóa cho phép nhiều tiến trình truy cập đồng thời vào một tài nguyên.
B. Một loại khóa mà một tiến trình chờ đợi bằng cách liên tục kiểm tra xem khóa đã được giải phóng hay chưa, nên được sử dụng cho các đoạn mã ngắn cần bảo vệ.
C. Một loại khóa mà một tiến trình chờ đợi bằng cách chuyển sang trạng thái ngủ, nên được sử dụng cho các đoạn mã dài cần bảo vệ.
D. Một loại khóa chỉ được sử dụng trong hệ thống đa xử lý.
130. Trong ngữ cảnh của hệ điều hành, ‘context switch’ (chuyển đổi ngữ cảnh) là gì?
A. Quá trình thay đổi quyền truy cập của một tệp.
B. Quá trình chuyển đổi giữa các chế độ người dùng và chế độ kernel.
C. Quá trình lưu 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 để nó có thể tiếp tục thực thi.
D. Quá trình khởi động lại hệ điều hành.
131. Trong lập lịch CPU, thuật toán nào có thể gây ra ‘starvation’ (đói tài nguyên)?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Round Robin.
D. Priority Scheduling.
132. Hệ điều hành sử dụng cơ chế nào để xử lý ngắt (interrupts)?
A. Sử dụng các hàm thư viện.
B. Sử dụng bảng vector ngắt (interrupt vector table).
C. Sử dụng bộ nhớ cache.
D. Sử dụng các hàng đợi.
133. Điều gì là mục tiêu chính của việc sử dụng bộ nhớ ảo trong hệ điều hành?
A. Tăng tốc độ truy cập bộ nhớ vật lý.
B. Cho phép các tiến trình sử dụng nhiều bộ nhớ hơn bộ nhớ vật lý hiện 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ớ cho lập trình viên.
134. Trong ngữ cảnh của I/O, DMA (Direct Memory Access) là gì?
A. Một kỹ thuật cho phép CPU trực tiếp truy cập bộ nhớ của thiết bị I/O.
B. Một kỹ thuật cho phép thiết bị I/O trực tiếp truy cập bộ nhớ hệ thống mà không cần sự can thiệp của CPU.
C. Một kỹ thuật để tăng tốc độ truyền dữ liệu giữa CPU và bộ nhớ.
D. Một kỹ thuật để giảm mức tiêu thụ điện năng của các thiết bị I/O.
135. Mục đích của việc sử dụng message queue trong hệ điều hành là gì?
A. Để lưu trữ dữ liệu tạm thời.
B. Để cho phép các tiến trình giao tiếp với nhau bằng cách gửi và nhận các thông điệp.
C. Để quản lý bộ nhớ.
D. Để lập lịch các tiến trình.
136. Điều gì xảy ra khi một tiến trình gọi system call?
A. Tiến trình chuyển sang chế độ kernel và yêu cầu một dịch vụ từ hệ điều hành.
B. Tiến trình chuyển sang chế độ user và thực hiện một hàm thư viện.
C. Tiến trình bị tạm dừng cho đến khi hệ điều hành khởi động lại.
D. Tiến trình được cấp thêm CPU time.
137. Chức năng chính của kernel trong hệ điều hành là gì?
A. Cung cấp giao diện người dùng đồ họa (GUI).
B. Quản lý tài nguyên hệ thống và cung cấp các dịch vụ cơ bản cho các ứng dụng.
C. Chạy các ứng dụng của người dùng.
D. Biên dịch mã nguồn thành mã máy.
138. Hệ điều hành sử dụng cơ chế nào để bảo vệ bộ nhớ của các tiến trình khác nhau?
A. Sử dụng bộ nhớ cache.
B. Sử dụng bộ nhớ ảo và các cơ chế phân trang/phân đoạn.
C. Sử dụng ngắt phần cứng.
D. Sử dụng các hàng đợi.
139. Điều gì là mục tiêu của việc sử dụng cache memory?
A. Tăng dung lượng bộ nhớ chính.
B. Giảm thời gian truy cập bộ nhớ bằng cách lưu trữ các dữ liệu thường xuyên được sử dụng gần CPU.
C. Bảo vệ bộ nhớ khỏi virus.
D. Tăng tốc độ ổ cứng.
140. Trong ngữ cảnh của 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.
C. 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.
D. Đường dẫn đầy đủ của tệp.
141. Sự khác biệt chính giữa preemptive scheduling (lập lịch ưu tiên) và non-preemptive scheduling (lập lịch không ưu tiên) là gì?
A. Preemptive scheduling cho phép một tiến trình chiếm CPU cho đến khi nó hoàn thành, trong khi non-preemptive scheduling cho phép hệ điều hành tạm dừng một tiến trình đang chạy để chạy một tiến trình khác.
B. Preemptive scheduling cho phép hệ điều hành tạm dừng một tiến trình đang chạy để chạy một tiến trình khác, trong khi non-preemptive scheduling cho phép một tiến trình chiếm CPU cho đến khi nó hoàn thành hoặc tự nguyện nhả CPU.
C. Preemptive scheduling chỉ được sử dụng trong hệ thống thời gian thực, trong khi non-preemptive scheduling được sử dụng trong hệ thống đa nhiệm thông thường.
D. Preemptive scheduling hiệu quả hơn non-preemptive scheduling.
142. Thuật ngữ ‘thrashing’ trong hệ điều hành liên quan đến vấn đề gì?
A. CPU quá tải do có quá nhiều tiến trình đang chạy.
B. Bộ nhớ bị phân mảnh quá mức.
C. Hệ thống dành quá nhiều thời gian để hoán đổi (swapping) các trang bộ nhớ, dẫn đến hiệu suất kém.
D. Ổ cứng bị lỗi do đọc/ghi quá nhiều.
143. Trong ngữ cảnh của hệ điều hành, ‘zombie process’ là gì?
A. Một tiến trình đang chạy nhưng không phản hồi.
B. Một tiến trình đã hoàn thành thực thi nhưng vẫn còn một bản ghi trong bảng tiến trình cho đến khi tiến trình cha thu thập thông tin trạng thái của nó.
C. Một tiến trình đang chiếm quá nhiều bộ nhớ.
D. Một tiến trình đang bị virus tấn công.
144. Hệ điều hành sử dụng thuật toán nào để quản lý việc cấp phát bộ nhớ động?
A. First-fit, best-fit, worst-fit.
B. Round Robin, SJF, FCFS.
C. LRU, FIFO, Optimal.
D. RAID 0, RAID 1, RAID 5.
145. Chức năng của một device driver (trình điều khiển thiết bị) là gì?
A. Cung cấp giao diện người dùng đồ họa cho thiết bị.
B. 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. Tăng tốc độ của thiết bị.
D. Bảo vệ thiết bị khỏi virus.
146. Sự khác biệt giữa hard link và symbolic link trong hệ thống tệp Unix/Linux là gì?
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. Symbolic link trỏ trực tiếp đến inode của tệp, trong khi hard link trỏ đến đường dẫn của tệp.
D. 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.
147. Mục đích của việc sử dụng TLB (Translation Lookaside Buffer) là gì?
A. Để lưu trữ các trang bộ nhớ thường xuyên được sử dụng.
B. Để lưu trữ các ánh xạ từ địa chỉ ảo sang địa chỉ vật lý, giúp tăng tốc độ truy cập bộ nhớ.
C. Để lưu trữ mã lệnh của hệ điều hành.
D. Để lưu trữ thông tin về các tiến trình đang chạy.
148. Trong hệ điều hành, file descriptor là gì?
A. Một con trỏ đến một tệp trên ổ cứng.
B. Một số nguyên đại diện cho một tệp hoặc một tài nguyên I/O đang mở.
C. Một cấu trúc dữ liệu chứa thông tin về một tệp.
D. Một lệnh để tạo một tệp mới.
149. Sự khác biệt giữa process và thread là gì?
A. Process là một đơn vị thực thi, trong khi thread là một chương trình đang 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ó không gian địa chỉ riêng, trong khi các process chia sẻ không gian địa chỉ.
D. Process nhẹ hơn thread.
150. Sự khác biệt chính giữa semaphore và mutex là gì?
A. Semaphore là một biến nguyên thủy, trong khi mutex là một đối tượng.
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 một tiến trình khác.
C. Semaphore chỉ được sử dụng cho đồng bộ hóa giữa các tiến trình, trong khi mutex chỉ được sử dụng cho đồng bộ hóa trong một tiến trình.
D. Mutex nhanh hơn semaphore.