1. Thuật toán lập lịch Round Robin hoạt động dựa trên nguyên tắc nào?
A. Ưu tiên tiến trình có độ ưu tiên cao nhất.
B. Mỗi tiến trình được cấp một lượng thời gian CPU cố định.
C. Tiến trình nào đến trước được phục vụ trước.
D. Ưu tiên tiến trình có thời gian thực hiện ngắn nhất.
2. Trong ngữ cảnh bộ nhớ ảo, TLB (Translation Lookaside Buffer) dùng để làm gì?
A. Tăng dung lượng bộ nhớ ảo.
B. Lưu trữ các ánh xạ trang gần đây để tăng tốc độ truy cập bộ nhớ.
C. Giảm phân mảnh bộ nhớ.
D. Quản lý bộ nhớ cache.
3. Trong ngữ cảnh lập lịch CPU, ‘starvation’ là gì?
A. Một tiến trình chiếm giữ tất cả tài nguyên.
B. Một tiến trình có độ ưu tiên thấp không bao giờ được thực thi.
C. Hệ điều hành bị lỗi.
D. Bộ nhớ bị đầy.
4. Sự khác biệt chính giữa ‘process’ và ‘thread’ là gì?
A. Process là đơn vị thực thi nhỏ hơn thread.
B. Thread có không gian địa chỉ riêng, process thì không.
C. Process là một chương trình đang thực thi, thread là một đơn vị thực thi bên trong process.
D. Không có sự khác biệt, process và thread là giống nhau.
5. Trong hệ thống quản lý tệp, inode chứa thông tin gì?
A. Dữ liệu 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 đủ của tệp.
6. Sự khác biệt giữa ‘virtual memory’ và ‘physical memory’ là gì?
A. Virtual memory nhanh hơn physical memory.
B. Virtual memory là bộ nhớ được thấy bởi tiến trình, physical memory là bộ nhớ thực tế của máy tính.
C. Physical memory lớn hơn virtual memory.
D. Không có sự khác biệt, virtual memory và physical memory là giống nhau.
7. Mục đích chính của việc sử dụng bộ nhớ cache là gì?
A. Tăng dung lượng bộ nhớ.
B. Giảm điện năng tiêu thụ.
C. Tăng tốc độ truy cập dữ liệu.
D. Bảo vệ dữ liệu khỏi bị mất.
8. Trong ngữ cảnh bảo mật, ‘buffer overflow’ là gì?
A. Một lỗi phần cứng.
B. Một tình trạng bộ nhớ bị đầy.
C. Một lỗi phần mềm khi dữ liệu được ghi vượt quá kích thước của bộ đệm.
D. Một cuộc tấn công từ chối dịch vụ.
9. Thuật toán lập lịch nào sau đây đả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
10. 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.
C. Nén dữ liệu tệp.
D. Mã hóa dữ liệu tệp.
11. Trong ngữ cảnh bộ nhớ ảo, ‘thrashing’ xảy ra khi nào?
A. CPU quá tải.
B. Ổ cứng bị đầy.
C. Tiến trình liên tục tạo ra page fault.
D. Bộ nhớ vật lý không đủ để chứa tất cả các tiến trình.
12. Trong hệ thống tệp, ‘mount point’ là gì?
A. Điểm mà một ổ đĩa vật lý được kết nối với hệ thống.
B. Điểm mà một hệ thống tệp được gắn vào một hệ thống tệp khác.
C. Điểm mà dữ liệu được lưu trữ trên ổ đĩa.
D. Điểm mà người dùng có thể truy cập dữ liệu.
13. Phương pháp nào sau đây KHÔNG phải là một kỹ thuật để xử lý deadlock?
A. Prevention
B. Avoidance
C. Detection
D. Starvation
14. Đ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ế độ người dùng.
B. Tiến trình yêu cầu dịch vụ từ kernel.
C. Tiến trình truy cập trực tiếp phần cứng.
D. Tiến trình kết thúc.
15. Trong ngữ cảnh bộ nhớ ảo, ‘page replacement algorithm’ được sử dụng để làm gì?
A. Tăng dung lượng bộ nhớ ảo.
B. Chọn trang nào sẽ bị loại bỏ khi cần không gian bộ nhớ.
C. Giảm phân mảnh bộ nhớ.
D. Quản lý bộ nhớ cache.
16. Sự khác biệt chính giữa ‘kernel mode’ và ‘user mode’ là gì?
A. Kernel mode nhanh hơn user mode.
B. Kernel mode có quyền truy cập vào tất cả phần cứng và bộ nhớ, user mode thì không.
C. User mode an toàn hơn kernel mode.
D. Không có sự khác biệt, kernel mode và user mode là giống nhau.
17. Trong ngữ cảnh hệ điều hành, ‘context switching’ là gì?
A. Quá trình chuyển đổi giữa các chế độ người dùng và kernel.
B. Quá trình lưu và phục hồi trạng thái của CPU để cho phép nhiều tiến trình chia sẻ CPU.
C. Quá trình khởi động lại hệ thống.
D. Quá trình gỡ lỗi chương trình.
18. Deadlock xảy ra khi nào?
A. Một tiến trình chiếm giữ tất cả tài nguyê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. Hệ điều hành bị lỗi.
D. Bộ nhớ bị đầy.
19. Trong hệ thống quản lý tệp, FAT (File Allocation Table) được sử dụng để làm gì?
A. Lưu trữ dữ liệu của tệp.
B. Lưu trữ tên của tệp.
C. Theo dõi các khối đĩa được sử dụng bởi mỗi tệp.
D. Quản lý quyền truy cập tệp.
20. Trong ngữ cảnh quản lý bộ nhớ, kỹ thuật ‘paging’ dùng để làm gì?
A. Tăng tốc độ truy cập bộ nhớ cache.
B. Chia bộ nhớ vật lý thành các khối có kích thước cố định.
C. Giảm thiểu phân mảnh ngoại vi.
D. Quản lý bộ nhớ ảo.
21. Sự khác biệt chính giữa semaphore và mutex là gì?
A. Semaphore chỉ có thể được sử dụng trong không gian kernel, mutex thì không.
B. Mutex là phiên bản đơn giản hơn của semaphore.
C. Semaphore có thể đếm số lượng tài nguyên có sẵn, mutex chỉ có hai trạng thái: khóa và không khóa.
D. Mutex hiệu quả hơn semaphore.
22. 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. Bộ nhớ cache.
B. Bộ nhớ ảo và phân trang.
C. DMA (Direct Memory Access).
D. RAID.
23. Sự khác biệt chính giữa ‘synchronous’ và ‘asynchronous’ I/O là gì?
A. Synchronous I/O nhanh hơn asynchronous I/O.
B. Synchronous I/O chặn tiến trình cho đến khi thao tác hoàn thành, asynchronous I/O thì không.
C. Asynchronous I/O dễ lập trình hơn synchronous I/O.
D. Không có sự khác biệt, synchronous I/O và asynchronous I/O là giống nhau.
24. Trong hệ thống quản lý tệp, ‘hard link’ và ‘soft link’ khác nhau như thế nào?
A. Hard link nhanh hơn soft link.
B. Hard link là một bản sao của tệp, soft link là một con trỏ đến tệp.
C. Hard link trỏ trực tiếp đến inode, soft link trỏ đến đường dẫn của tệp.
D. Hard link có thể trỏ đến tệp trên hệ thống tệp khác, soft link thì không.
25. Thuật toán lập lịch nào sau đây có thể dẫn đến starvation?
A. Round Robin
B. First-Come, First-Served (FCFS)
C. Priority Scheduling
D. Shortest Job First (SJF)
26. Sự khác biệt chính giữa ‘preemptive’ và ‘non-preemptive’ scheduling là gì?
A. Preemptive scheduling sử dụng hàng đợi ưu tiê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, non-preemptive thì không.
C. Non-preemptive scheduling hiệu quả hơn preemptive scheduling.
D. Preemptive scheduling chỉ dành cho hệ thống thời gian thực.
27. Trong các thuật toán lập lịch CPU, thuật toán 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. Priority Scheduling
D. Round Robin
28. Kỹ thuật nào sau đây được sử dụng để tăng số lượng tiến trình có thể chạy đồng thời trên một hệ thống?
A. Bộ nhớ cache.
B. Bộ nhớ ảo.
C. DMA (Direct Memory Access).
D. RAID.
29. Trong ngữ cảnh bảo mật hệ thống, ‘principle of least privilege’ nghĩa là gì?
A. Người dùng nên có quyền truy cập tối đa để thực hiện công việc.
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. Tất cả người dùng nên có quyền truy cập như nhau.
D. Quyền truy cập nên được cấp dựa trên thâm niên làm việc.
30. Đ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 được cấp thêm bộ nhớ.
B. Một ngoại lệ ‘page fault’ được tạo ra.
C. Hệ điều hành bỏ qua yêu cầu.
D. Máy tính khởi động lại.
31. Trong bảo mật hệ thống, ‘buffer overflow’ là gì?
A. Một tình huống trong đó một bộ đệm (buffer) tràn dữ liệu, ghi đè lên các vùng nhớ liền kề và có thể cho phép kẻ tấn công thực thi mã độc.
B. Một tình huống trong đó bộ nhớ không đủ để lưu trữ dữ liệu.
C. Một tình huống trong đó một tệp quá lớn để được lưu trữ trên đĩa.
D. Một tình huống trong đó một kết nối mạng bị quá tải.
32. Thuật toán thay thế trang nào có hiệu suất tốt nhất nhưng không thể thực hiện được trong thực tế vì yêu cầu biết trước tương lai?
A. FIFO (First-In, First-Out)
B. LRU (Least Recently Used)
C. Optimal
D. Random
33. Trong paging, ‘page table’ được sử dụng để làm gì?
A. Để lưu trữ dữ liệu của các trang.
B. Để ánh xạ các trang ảo sang các khung vật lý.
C. Để theo dõi các trang đã được sử dụng gần đây nhất.
D. Để bảo vệ các trang khỏi bị truy cập trái phép.
34. Thuật toán Banker’s Algorithm được sử dụng để làm gì?
A. Phân bổ bộ nhớ một cách hiệu quả.
B. Phát hiện và phục hồi từ deadlock.
C. Tránh deadlock bằng cách kiểm tra trạng thái hệ thống trước khi cấp phát tài nguyên.
D. Lập lịch CPU.
35. Deadlock xảy ra khi nào?
A. Khi một tiến trình cố gắng truy cập một vùng nhớ không hợp lệ.
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 hệ thống hết bộ nhớ.
D. Khi một tiến trình cố gắng thực hiện một phép chia cho không.
36. Một cách để ngăn chặn buffer overflow là gì?
A. Sử dụng các ngôn ngữ lập trình an toàn bộ nhớ.
B. Thực hiện kiểm tra biên (bounds checking) khi sao chép dữ liệu vào bộ đệm.
C. Sử dụng các kỹ thuật phòng thủ như Address Space Layout Randomization (ASLR) và Data Execution Prevention (DEP).
D. Tất cả các đáp án trên.
37. Một cách để giảm thiểu thrashing là gì?
A. Tăng kích thước bộ nhớ ảo.
B. Sử dụng một thuật toán thay thế trang hiệu quả hơn.
C. Giảm số lượng tiến trình đang chạy đồng thời.
D. Tất cả các đáp án trên.
38. Mục đích của ‘inode’ trong hệ thống tệp là gì?
A. Để lưu trữ dữ liệu của tệp.
B. Để lưu trữ siêu dữ liệu (metadata) về tệp, chẳng hạn như quyền, kích thước, thời gian sửa đổi, và vị trí dữ liệu.
C. Để ánh xạ tên tệp sang vị trí vật lý trên đĩa.
D. Để bảo vệ tệp khỏi bị truy cập trái phép.
39. Sự khác biệt giữa deadlock prevention và deadlock avoidance là gì?
A. Deadlock prevention cố gắng ngăn chặn các điều kiện cần thiết cho deadlock xảy ra, trong khi deadlock avoidance cho phép deadlock có thể xảy ra nhưng tránh nó.
B. Deadlock prevention là một kỹ thuật tĩnh, trong khi deadlock avoidance là một kỹ thuật động.
C. Deadlock prevention luôn hiệu quả hơn deadlock avoidance.
D. Không có sự khác biệt nào; chúng là các thuật ngữ thay thế cho nhau.
40. Mục đích của ‘paging’ trong quản lý bộ nhớ là gì?
A. Để tăng tốc độ truy cập bộ nhớ.
B. Để 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.
C. Để bảo vệ bộ nhớ khỏi bị truy cập trái phép.
D. Để giảm thiểu internal fragmentation.
41. Mutexes và semaphores đượ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 tiến trình và truy cập tài nguyên chung.
C. Lập lịch CPU.
D. Quản lý bộ nhớ ảo.
42. Trong hệ điều hành, ‘context switch’ là gì?
A. Việc chuyển đổi giữa các chế độ người dùng và kernel.
B. Việc lưu và khôi phục trạng thái của CPU để cho phép nhiều tiến trình chia sẻ một CPU.
C. Việc cấp phát bộ nhớ cho một tiến trình mới.
D. Việc tạo ra một tiến trình mới.
43. Thrashing xảy ra khi nào?
A. Khi CPU quá tả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 dành quá nhiều thời gian để paging, dẫn đến hiệu suất hệ thống giảm đáng kể.
D. Khi hệ thống hết bộ nhớ.
44. 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 ‘đói tài nguyên’ (starvation) cho một số tiến trình?
A. Round Robin
B. First-Come, First-Served (FCFS)
C. Shortest Job First (SJF)
D. Priority Scheduling
45. Sự khác biệt chính giữa mutex và semaphore là gì?
A. Mutex chỉ có thể được sử dụng trong một tiến trình, trong khi semaphore có thể được sử dụng giữa nhiều tiến trình.
B. Mutex là một biến đếm, trong khi semaphore là một khóa nhị phân.
C. Mutex thuộc sở hữu của tiến trình giải phóng nó, trong khi semaphore có thể được báo hiệu bởi một tiến trình khác với tiến trình đã chờ đợi nó.
D. Không có sự khác biệt nào; chúng là các thuật ngữ thay thế cho nhau.
46. Sự khác biệt giữa ‘internal fragmentation’ và ‘external fragmentation’ là gì?
A. Internal fragmentation xảy ra khi bộ nhớ được phân bổ cho một tiến trình lớn hơn kích thước yêu cầu của tiến trình đó, trong khi external fragmentation xảy ra khi có đủ tổng không gian bộ nhớ trống, nhưng nó không liền kề.
B. Internal fragmentation xảy ra khi bộ nhớ không đủ để cấp phát cho một tiến trình, trong khi external fragmentation xảy ra khi bộ nhớ bị hỏng.
C. Internal fragmentation có thể được giải quyết bằng cách sử dụng paging, trong khi external fragmentation không thể giải quyết được.
D. Không có sự khác biệt nào; chúng là các thuật ngữ thay thế cho nhau.
47. Trong ngữ cảnh của 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 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. Tất cả các người dùng nên có quyền quản trị.
D. Không ai nên có quyền truy cập vào bất kỳ tài nguyên hệ thống nào.
48. Thuật toán thay thế trang nào thay thế trang đã không được sử dụng trong khoảng thời gian dài nhất?
A. FIFO (First-In, First-Out)
B. LRU (Least Recently Used)
C. Optimal
D. Random
49. Điều gì xảy ra khi một tiến trình thực hiện một lời gọi hệ thống (system call)?
A. Tiến trình chuyển sang trạng thái chờ.
B. Tiến trình chuyển sang chế độ kernel.
C. Tiến trình bị hủy bỏ.
D. Tiến trình tiếp tục chạy ở chế độ người dùng.
50. Trong ngữ cảnh của hệ thống tệp, ‘mount point’ là gì?
A. Một thư mục trong hệ thống tệp hiện tại nơi một hệ thống tệp khác được gắn vào.
B. Một điểm trong hệ thống tệp nơi dữ liệu được lưu trữ.
C. Một điểm trong hệ thống tệp nơi các quyền được xác định.
D. Một điểm trong hệ thống tệp nơi các tệp được sao lưu.
51. Sự khác biệt giữa hard link và symbolic link (soft link) là gì?
A. Hard link là một bản sao của tệp gốc, trong khi symbolic link là một con trỏ đến tệp gốc.
B. Hard link chỉ có thể được tạo trong 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 chiếm nhiều không gian hơn symbolic link.
D. Không có sự khác biệt nào; chúng là các thuật ngữ thay thế cho nhau.
52. Một cách để ngăn chặn deadlock là gì?
A. Cho phép các tiến trình yêu cầu tất cả các tài nguyên của chúng cùng một lúc.
B. Sử dụng một thuật toán lập lịch CPU ưu tiên.
C. Áp đặt một thứ tự tuyến tính về các loại tài nguyên và yêu cầu các tiến trình yêu cầu tài nguyên theo thứ tự đó.
D. Tăng kích thước bộ nhớ ảo.
53. Thuật toán lập lịch nào giảm thiểu thời gian chờ trung bình nhưng có thể khó thực hiện vì yêu cầu biết trước thời gian thực thi của tiến trình?
A. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Round Robin
D. Priority Scheduling
54. Trong ngữ cảnh của quản lý bộ nhớ, ‘fragmentation’ là gì?
A. Việc chia bộ nhớ thành các phần nhỏ hơn.
B. Việc lãng phí không gian bộ nhớ do sự phân bổ không hiệu quả của bộ nhớ.
C. Việc bảo vệ bộ nhớ khỏi bị truy cập trái phép.
D. Việc tăng tốc độ truy cập bộ nhớ.
55. Thuật toán lập lịch CPU nào phù hợp nhất cho các hệ thống thời gian thực, nơi các tiến trình cần được hoàn thành trong một khoảng thời gian nhất định?
A. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Rate Monotonic Scheduling (RMS)
D. Round Robin
56. Trong ngữ cảnh của lập lịch CPU, ‘quantum’ là gì?
A. Thời gian tối thiểu mà một tiến trình phải chạy.
B. Thời gian tối đa mà một tiến trình được phép chạy liên tục trước khi bị ngắt.
C. Độ ưu tiên của một tiến trình.
D. Kích thước của bộ nhớ mà một tiến trình yêu cầu.
57. TLB (Translation Lookaside Buffer) là gì và nó được sử dụng để làm gì?
A. Một bộ nhớ cache được sử dụng để lưu trữ các bản dịch địa chỉ ảo sang địa chỉ vật lý gần đây nhất để tăng tốc độ truy cập bộ nhớ.
B. Một bộ nhớ được sử dụng để lưu trữ các trang đã được sử dụng gần đây nhất.
C. Một bảng được sử dụng để ánh xạ các trang ảo sang các khung vật lý.
D. Một kỹ thuật được sử dụng để giảm thiểu external fragmentation.
58. Điều kiện nào sau đây *không* phải là một trong bốn điều kiện cần thiết để deadlock xảy ra (theo Coffman)?
A. Mutual Exclusion (Loại trừ lẫn nhau).
B. Hold and Wait (Giữ và Chờ).
C. Preemption (Cướp quyền).
D. Circular Wait (Chờ đợi vòng tròn).
59. Điều gì xảy ra khi một trang không có trong bộ nhớ vật lý và cần được truy cập (page fault)?
A. Tiến trình bị hủy bỏ.
B. Hệ điều hành tìm trang trên đĩa và đưa nó vào bộ nhớ vật lý.
C. Hệ điều hành di chuyển một trang khác từ bộ nhớ vật lý sang đĩa để tạo chỗ cho trang mới.
D. Cả B và C.
60. Kỹ thuật nào sau đây có thể được sử dụng để giảm thiểu external fragmentation?
A. Paging
B. Segmentation
C. Compaction
D. Caching
61. Sự khác biệt chính giữa phân trang (paging) và phân đoạn (segmentation) là gì?
A. Phân trang chia bộ nhớ thành các khối có kích thước thay đổi, trong khi phân đoạn chia thành các khối có kích thước cố định.
B. Phân trang chia bộ nhớ thành các khối có kích thước cố định, trong khi phân đoạn chia thành các khối có kích thước thay đổi.
C. Phân trang sử dụng bảng trang, trong khi phân đoạn sử dụng bảng đoạn.
D. Phân trang không hỗ trợ bộ nhớ ảo, trong khi phân đoạn có hỗ trợ.
62. Đâu là một biện pháp phòng ngừa chống lại tấn công buffer overflow?
A. Sử dụng các hàm không kiểm tra kích thước bộ đệm (ví dụ: strcpy).
B. Sử dụng các ngôn ngữ lập trình có cơ chế kiểm tra biên (ví dụ: Java, Python).
C. Tắt tất cả các cơ chế bảo mật của hệ điều hành.
D. Cho phép thực thi mã từ bất kỳ nguồn nào.
63. Thuật toán lập lịch 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. Round Robin.
D. Priority Scheduling.
64. Trong ngữ cảnh của bộ nhớ ảo, ‘thrashing’ là gì?
A. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ.
B. Một tình trạng hệ thống liên tục trao đổi trang (page) giữa bộ nhớ và đĩa, dẫn đến hiệu suất kém.
C. Một phương pháp để tối ưu hóa việc sử dụng bộ nhớ.
D. Một lỗi xảy ra khi một chương trình cố gắng truy cập vào một vùng nhớ không hợp lệ.
65. Interrupt handler (hoặc interrupt service routine – ISR) là gì?
A. Một chương trình xử lý các yêu cầu từ người dùng.
B. Một đoạn mã được thực thi khi một ngắt (interrupt) xảy ra.
C. Một cơ chế để quản lý bộ nhớ.
D. Một giao thức mạng.
66. Sự khác biệt chính giữa hard link và symbolic link (soft link) trong hệ thống tệp Unix là gì?
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. Hard link tạo một bản sao của tệp, trong khi symbolic link chỉ tạo một con trỏ đến tệp gốc.
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.
67. Trong ngữ cảnh của hệ điều hành phân tán (distributed operating system), ‘transparency’ là gì?
A. Sự phức tạp của hệ thống.
B. Khả năng che giấu sự phân tán của hệ thống đối với người dùng và ứng dụng.
C. Sự rõ ràng của mã nguồn.
D. Tốc độ truyền dữ liệu giữa các nút.
68. Đâu là một thách thức chính trong việc phát triển hệ điều hành cho các thiết bị IoT (Internet of Things)?
A. Yêu cầu về tài nguyên thấp (bộ nhớ, năng lượng).
B. Sự đa dạng của các thiết bị và kiến trúc phần cứng.
C. Các yêu cầu về thời gian thực.
D. Tất cả các đáp án trên.
69. Trong ngữ cảnh của hệ điều hành, semaphore là gì?
A. Một kỹ thuật để quản lý bộ nhớ.
B. Một cơ chế đồng bộ hóa giữa các tiến trình.
C. Một giao thức mạng.
D. Một loại ổ đĩa cứng.
70. Trong ngữ cảnh của hệ điều hành di động, ‘sandboxing’ là gì?
A. Một kỹ thuật để tăng tốc độ CPU.
B. Một cơ chế để cô lập các ứng dụng, ngăn chúng truy cập vào các tài nguyên hệ thống hoặc dữ liệu của các ứng dụng khác mà không được phép.
C. Một phương pháp để tối ưu hóa việc sử dụng pin.
D. Một kỹ thuật để nén dữ liệu.
71. Đâu là một phương pháp để ngăn chặn deadlock?
A. Cho phép các tiến trình yêu cầu tài nguyên theo bất kỳ thứ tự nào.
B. Yêu cầu các tiến trình phải yêu cầu tất cả các tài nguyên cần thiết trước khi bắt đầu thực thi.
C. Cho phép các tiến trình giữ tài nguyên vô thời hạn.
D. Không cấp phát tài nguyên cho các tiến trình.
72. Sự khác biệt chính giữa mutex và semaphore là gì?
A. Mutex chỉ có thể được sử dụng trong một tiến trình, trong khi semaphore có thể được sử dụng giữa các tiến trình.
B. Mutex là một biến đếm, trong khi semaphore là một khóa nhị phân.
C. 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.
D. Mutex nhanh hơn semaphore.
73. Sự khác biệt chính giữa hệ điều hành thời gian thực cứng (hard real-time) và hệ điều hành thời gian thực mềm (soft real-time) là gì?
A. Hệ điều hành thời gian thực cứng không có deadline, trong khi hệ điều hành thời gian thực mềm có deadline.
B. Hệ điều hành thời gian thực cứng cho phép bỏ lỡ deadline, trong khi hệ điều hành thời gian thực mềm không cho phép.
C. Hệ điều hành thời gian thực cứng yêu cầu đáp ứng deadline một cách tuyệt đối, trong khi hệ điều hành thời gian thực mềm cho phép bỏ lỡ deadline với một mức độ nhất định.
D. Hệ điều hành thời gian thực cứng chỉ được sử dụng trong các ứng dụng quân sự, trong khi hệ điều hành thời gian thực mềm được sử dụng trong các ứng dụng dân sự.
74. Sự khác biệt chính giữa hypervisor loại 1 (type 1) và hypervisor loại 2 (type 2) là gì?
A. Hypervisor loại 1 chạy trực tiếp trên phần cứng, trong khi hypervisor loại 2 chạy trên một hệ điều hành chủ.
B. Hypervisor loại 2 chạy trực tiếp trên phần cứng, trong khi hypervisor loại 1 chạy trên một hệ điều hành chủ.
C. Hypervisor loại 1 chỉ hỗ trợ một hệ điều hành khách, trong khi hypervisor loại 2 hỗ trợ nhiều hệ điều hành khách.
D. Hypervisor loại 1 miễn phí, trong khi hypervisor loại 2 phải trả phí.
75. 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ớ của thiết bị.
B. Một kỹ thuật cho phép thiết bị truy cập trực tiếp vào bộ nhớ mà không cần sự can thiệp của CPU.
C. Một phương pháp để nén dữ liệu trong bộ nhớ.
D. Một kỹ thuật để tăng tốc độ CPU.
76. Trong ngữ cảnh của bảo mật hệ điều hành, ‘principle of least privilege’ là gì?
A. Cấp cho tất cả người dùng quyền truy cập vào tất cả các tài nguyên.
B. Cấp cho mỗi người dùng hoặc tiến trình chỉ những quyền tối thiểu cần thiết để thực hiện công việc của họ.
C. Không cấp bất kỳ quyền nào cho người dùng hoặc tiến trình.
D. Cấp cho người dùng quyền truy cập vào tất cả các tài nguyên trừ khi có quy định khác.
77. Trong ngữ cảnh của hệ điều hành, tiến trình (process) là gì?
A. Một chương trình đang được lưu trữ trên đĩa.
B. Một đoạn mã tĩnh không hoạt động.
C. Một chương trình đang được thực thi cùng với các tài nguyên liên quan.
D. Một thư viện chứa các hàm và thủ tục.
78. Sự khác biệt chính giữa xác thực (authentication) và ủy quyền (authorization) là gì?
A. Xác thực là quá trình xác định danh tính của người dùng, trong khi ủy quyền là quá trình xác định người dùng được phép làm gì.
B. Xác thực là quá trình xác định người dùng được phép làm gì, trong khi ủy quyền là quá trình xác định danh tính của người dùng.
C. Xác thực chỉ áp dụng cho người dùng, trong khi ủy quyền chỉ áp dụng cho tiến trình.
D. Xác thực và ủy quyền là hai khái niệm giống nhau.
79. Đâu là lợi ích chính của việc sử dụng bộ nhớ ảo?
A. Tăng tốc độ CPU.
B. Cho phép các chương trình lớn hơn kích thước bộ nhớ vật lý được thực thi.
C. Giảm mức tiêu thụ điện năng.
D. Đơn giản hóa việc quản lý bộ nhớ.
80. 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 cấu trúc dữ liệu chứa siêu dữ liệu (metadata) 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 các tệp.
81. Cơ chế nào được sử dụng để chuyển đổi địa chỉ logic thành địa chỉ vật lý trong hệ thống sử dụng phân trang?
A. Bảng đoạn (segment table).
B. Bảng trang (page table).
C. Bộ nhớ cache.
D. Ổ đĩa cứng.
82. Trong ngữ cảnh của hệ điều hành, ‘buffer overflow’ là gì?
A. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ.
B. Một lỗi xảy ra khi một chương trình ghi dữ liệu vượt quá kích thước của bộ đệm (buffer), có thể dẫn đến việc ghi đè lên các vùng nhớ khác.
C. Một phương pháp để tối ưu hóa việc sử dụng bộ nhớ.
D. Một lỗi xảy ra khi một chương trình cố gắng truy cập vào một vùng nhớ không hợp lệ.
83. Trong ngữ cảnh của hệ điều hành thời gian thực (real-time operating system – RTOS), ‘deadline’ là gì?
A. Thời gian tối thiểu để hoàn thành một tác vụ.
B. Thời gian tối đa để hoàn thành một tác vụ.
C. Thời gian trung bình để hoàn thành một tác vụ.
D. Thời gian để hệ điều hành khởi động.
84. Đâu là mục tiêu chính của việc lập lịch CPU?
A. Tối đa hóa thời gian chờ của tiến trình.
B. Giảm thiểu thời gian đáp ứng và tối đa hóa hiệu suất CPU.
C. Tăng số lượng tiến trình trong hàng đợi sẵn sàng.
D. Giảm kích thước của bộ nhớ.
85. Trong ngữ cảnh của ảo hóa (virtualization), hypervisor là gì?
A. Một hệ điều hành khách (guest operating system).
B. Một lớp phần mềm cho phép nhiều hệ điều hành chạy đồng thời trên một máy tính vật lý.
C. Một chương trình quản lý bộ nhớ.
D. Một giao thức mạng.
86. Đâu là mục tiêu chính của việc sử dụng RAID (Redundant Array of Independent Disks)?
A. Tăng tốc độ CPU.
B. Tăng dung lượng bộ nhớ.
C. Cải thiện hiệu suất và/hoặc độ tin cậy của hệ thống lưu trữ.
D. Giảm mức tiêu thụ điện năng của hệ thống.
87. Trong ngữ cảnh của quản lý thiết bị, driver là gì?
A. Một chương trình điều khiển phần cứng.
B. Một giao diện giữa hệ điều hành và phần cứng.
C. Một thư viện chứa các hàm và thủ tục liên quan đến phần cứng.
D. Tất cả các đáp án trên.
88. Trong ngữ cảnh của quản lý bộ nhớ, phân trang (paging) là gì?
A. Một kỹ thuật chia bộ nhớ thành các đoạn có kích thước thay đổi.
B. Một kỹ thuật chia bộ nhớ thành các trang có kích thước cố định.
C. Một kỹ thuật để nén dữ liệu trong bộ nhớ.
D. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ.
89. Trong ngữ cảnh của đồng bộ hóa tiến trình, ‘deadlock’ là gì?
A. Một tình trạng khi một tiến trình bị treo vĩnh viễn.
B. Một tình trạng khi 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.
C. Một lỗi 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 hợp lệ.
D. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ.
90. Sự khác biệt chính giữa hệ điều hành mạng (network operating system) và hệ điều hành phân tán (distributed operating system) là gì?
A. Hệ điều hành mạng không hỗ trợ chia sẻ tài nguyên, trong khi hệ điều hành phân tán có hỗ trợ.
B. Hệ điều hành mạng chạy trên một máy tính duy nhất, trong khi hệ điều hành phân tán chạy trên nhiều máy tính.
C. Hệ điều hành mạng yêu cầu người dùng phải biết vị trí của tài nguyên, trong khi hệ điều hành phân tán cố gắng che giấu sự phân tán.
D. Hệ điều hành mạng chỉ được sử dụng trong mạng cục bộ (LAN), trong khi hệ điều hành phân tán được sử dụng trong mạng diện rộng (WAN).
91. 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ị tạm dừng để nhường CPU cho tiến trình khác, trong khi non-preemptive scheduling không cho phép.
B. Non-preemptive scheduling cho phép một tiến trình bị tạm dừng để nhường CPU cho tiến trình khác, trong khi preemptive scheduling không cho phép.
C. 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 đa năng.
D. Non-preemptive scheduling chỉ được sử dụng cho các hệ thống thời gian thực, trong khi preemptive scheduling được sử dụng cho các hệ thống đa năng.
92. Điều gì là ‘race condition’?
A. Một tình trạng khi hai hoặc 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, và kết quả cuối cùng phụ thuộc vào thứ tự thực hiện.
B. Một tình trạ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 trạng khi một tiến trình bị ‘đói tài nguyên’ (starvation).
D. Một lỗi phần cứng dẫn đến việc mất dữ liệu.
93. Thuật toán lập lịch nào thường được sử dụng trong các hệ thống thời gian thực (real-time systems) để đảm bảo rằng các tác vụ quan trọng được hoàn thành đúng hạn?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Round Robin.
D. Rate Monotonic Scheduling (RMS).
94. Trong ngữ cảnh của hệ thống tệp, điều gì là ‘journaling’?
A. Một kỹ thuật để nén dữ liệu trong tệp.
B. 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. Một kỹ thuật để mã hóa dữ liệu trong tệp.
D. Một kỹ thuật để sao lưu dữ liệu trong tệp.
95. Điều gì là ‘TLB (Translation Lookaside Buffer)’?
A. Một loại bộ nhớ chỉ đọc.
B. Một bộ nhớ cache đặc biệt được sử dụng để lưu trữ các ánh xạ trang (page table entries) gần đây nhất, giúp tăng tốc độ truy cập bộ nhớ ảo.
C. Một phần của CPU chịu trách nhiệm thực hiện các phép toán logic.
D. Một thiết bị lưu trữ dữ liệu tạm thời.
96. Điều gì là ‘thrashing’ trong hệ thống bộ nhớ ảo?
A. Một tình trạng khi CPU liên tục bận rộn thực hiện các tác vụ vô ích.
B. Một tình trạng khi bộ nhớ vật lý không đủ để chứa tất cả các trang cần thiết, dẫn đến việc liên tục chuyển trang vào và ra khỏi đĩa.
C. Một lỗi phần cứng dẫn đến việc mất dữ liệu trong bộ nhớ.
D. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ.
97. Cơ chế nào được sử dụng để bảo vệ bộ nhớ của các tiến trình khác nhau trong hệ thống đa chương?
A. Swapping.
B. Paging.
C. Segmentation.
D. Memory Protection Unit (MPU).
98. Tại sao kỹ thuật ‘aging’ được sử dụng trong thuật toán lập lịch?
A. Để giảm mức tiêu thụ năng lượng của CPU.
B. Để ngăn chặn tình trạng ‘đói tài nguyên’ (starvation) bằng cách tăng độ ưu tiên của các tiến trình đã chờ đợi lâu.
C. Để tăng tốc độ xử lý của các tiến trình.
D. Để giảm phân mảnh bộ nhớ.
99. Tại sao cần có cơ chế đồng bộ hóa (synchronization) trong hệ điều hành?
A. Để tăng tốc độ CPU.
B. Để đảm bảo rằng các tiến trình có thể chia sẻ tài nguyên một cách an toàn và tránh tình trạng ‘race condition’ và ‘deadlock’.
C. Để giảm kích thước của bộ nhớ.
D. Để bảo vệ hệ thống khỏi virus.
100. Sự khác biệt chính giữa ‘paging’ và ‘segmentation’ trong quản lý bộ nhớ là gì?
A. Paging chia bộ nhớ thành các khối có kích thước cố định, trong khi segmentation chia bộ nhớ thành các khối có kích thước thay đổi.
B. Segmentation chia bộ nhớ thành các khối có kích thước cố định, trong khi paging chia bộ nhớ thành các khối có kích thước thay đổi.
C. Paging được sử dụng để quản lý bộ nhớ vật lý, trong khi segmentation được sử dụng để quản lý bộ nhớ ảo.
D. Segmentation được sử dụng để quản lý bộ nhớ vật lý, trong khi paging được sử dụng để quản lý bộ nhớ ảo.
101. Trong hệ thống bộ nhớ ảo, kỹ thuật nào được sử dụng để giảm phân mảnh ngoài (external fragmentation)?
A. Paging.
B. Segmentation.
C. Compaction.
D. Swapping.
102. Mục đích chính của việc sử dụng bộ nhớ ảo (virtual memory) là gì?
A. Để tăng tốc độ truy cập bộ nhớ vật lý.
B. Để cho phép các tiến trình vượt quá kích thước bộ nhớ vật lý.
C. Để giảm phân mảnh bộ nhớ.
D. Để bảo vệ bộ nhớ của các tiến trình khác nhau.
103. Điều gì xảy ra khi một trang (page) không hợp lệ được truy cập trong hệ thống sử dụng bộ nhớ ảo?
A. Trang được tự động tải từ đĩa vào bộ nhớ.
B. Một ngắt (interrupt) được tạo ra, và hệ điều hành xử lý lỗi trang (page fault).
C. Tiến trình bị kết thúc ngay lập tức.
D. Hệ thống bỏ qua yêu cầu và tiếp tục thực hiện.
104. Tại sao hệ điều hành cần quản lý tài nguyên?
A. Để tăng tốc độ CPU.
B. Để đảm bảo rằng các tiến trình có thể chia sẻ tài nguyên một cách hiệu quả và công bằng, tránh xung đột và deadlock.
C. Để giảm kích thước của bộ nhớ.
D. Để bảo vệ hệ thống khỏi virus.
105. Điều gì xảy ra khi một tiến trình tạo ra một tiến trình con?
A. Tiến trình con chia sẻ tất cả không gian bộ nhớ với tiến trình cha.
B. Tiến trình con chạy đồng thời với tiến trình cha trong cùng một không gian địa chỉ.
C. Tiến trình con nhận được một bản sao của không gian địa chỉ của tiến trình cha.
D. Tiến trình cha bị tạm dừng cho đến khi tiến trình con kết thúc.
106. Trong lập lịch CPU, thuật toán nào có thể dẫn đến tình trạng ‘đói tài nguyên’ (starvation)?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Round Robin.
D. Priority Scheduling.
107. Điều gì là ‘swapping’?
A. Quá trình chuyển đổi giữa các tiến trình.
B. Quá trình di chuyển một tiến trình hoàn chỉnh hoặc một phần của nó từ bộ nhớ chính sang bộ nhớ phụ (đĩa) và ngược lại.
C. Quá trình thay đổi độ ưu tiên của một tiến trình.
D. Quá trình tạo ra một bản sao của một tiến trình.
108. Điều gì là mục tiêu chính của việc sử dụng nhiều hàng đợi (multi-level queue scheduling) trong lập lịch CPU?
A. Để giảm độ phức tạp của thuật toán lập lịch.
B. Để cung cấp các chính sách lập lịch khác nhau cho các loại tiến trình khác nhau.
C. Để đảm bảo rằng tất cả các tiến trình đều được thực thi trong một khoảng thời gian nhất định.
D. Để tăng tốc độ chuyển đổi ngữ cảnh (context switching).
109. Điều gì là ‘priority inversion’ và làm thế nào để giải quyết nó?
A. ‘Priority inversion’ là một tình trạng khi một tiến trình có độ ưu tiên cao bị chặn bởi một tiến trình có độ ưu tiên thấp hơn; có thể giải quyết bằng ‘priority inheritance’ hoặc ‘priority ceiling protocol’.
B. ‘Priority inversion’ là một tình trạng khi một tiến trình có độ ưu tiên thấp bị chặn bởi một tiến trình có độ ưu tiên cao hơn; có thể giải quyết bằng ‘priority inheritance’ hoặc ‘priority ceiling protocol’.
C. ‘Priority inversion’ là một tình trạng khi một tiến trình bị ‘đói tài nguyên’ (starvation); có thể giải quyết bằng cách tăng độ ưu tiên của tiến trình đó.
D. ‘Priority inversion’ là một lỗi phần cứng; cần phải thay thế phần cứng.
110. Kỹ thuật nào được sử dụng để giải quyết vấn đề ‘busy waiting’ trong khi chờ đợi một tài nguyên?
A. Spin lock.
B. Semaphore.
C. Mutex.
D. Condition variable.
111. Điều gì là ‘critical section’?
A. Một phần của bộ nhớ được sử dụng để lưu trữ dữ liệu quan trọng.
B. Một đoạn mã mà nhiều tiến trình có thể truy cập đồng thời.
C. Một đoạn mã mà chỉ một tiến trình có thể truy cập tại một thời điểm để tránh tình trạng tranh chấp dữ liệu.
D. Một phần của hệ điều hành chịu trách nhiệm quản lý tài nguyên.
112. Sự 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 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.
B. Mutex có thể được giải phóng (released) bởi bất kỳ tiến trình nào, trong khi semaphore nhị phân chỉ có thể được giải phóng bởi tiến trình đã khóa nó.
C. Mutex thuộc sở hữu của tiến trình khóa nó và chỉ tiến trình đó mới có thể giải phóng nó, trong khi semaphore nhị phân có thể được báo hiệu (signaled) bởi một tiến trình khác với tiến trình đã chờ đợi nó.
D. Không có sự khác biệt, cả hai đều có thể được sử dụng thay thế cho nhau.
113. Thuật toán lập lịch nào đảm bảo thời gian chờ đợi tối thiểu cho tất cả các tiến trình?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Round Robin.
D. Priority Scheduling.
114. Khi nào thì deadlock có thể xảy ra?
A. Khi một tiến trình yêu cầu một tài nguyên mà nó đã giữ.
B. Khi một tập hợp các 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 giải phóng một tài nguyên mà nó không giữ.
D. Khi một tiến trình yêu cầu một tài nguyên mà không có sẵn.
115. Trong hệ thống bộ nhớ ảo, điều gì xảy ra khi một trang (page) bị ‘dirty’?
A. Trang đó bị xóa khỏi bộ nhớ.
B. Trang đó đã được sửa đổi và cần được ghi lại vào đĩa trước khi có thể bị thay thế.
C. Trang đó không được sử dụng trong một thời gian dài.
D. Trang đó chứa dữ liệu không hợp lệ.
116. Điều gì là ‘context switching’?
A. Quá trình chuyển dữ liệu giữa bộ nhớ và đĩa.
B. Quá trình chuyển 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 để CPU có thể chuyển sang thực hiện tiến trình khác.
D. Quá trình tạo ra một tiến trình mới.
117. Trong hệ thống bộ nhớ ảo, chiến lược thay thế trang (page replacement algorithm) nào tối ưu nhất về mặt lý thuyết (nhưng không thực tế)?
A. First-In, First-Out (FIFO).
B. Least Recently Used (LRU).
C. Optimal Page Replacement.
D. Random Page Replacement.
118. Trong ngữ cảnh của quản lý bộ nhớ, điều gì là ‘working set’?
A. Tập hợp tất cả các trang mà một tiến trình có thể truy cập.
B. Tập hợp các trang mà một tiến trình hiện đang sử dụng trong một khoảng thời gian nhất định.
C. Tập hợp các trang được lưu trữ trên đĩa.
D. Tập hợp các trang được chia sẻ giữa nhiều tiến trình.
119. Trong ngữ cảnh của hệ thống tệp (file system), điều gì là ‘inode’?
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 thông tin về tệp, chẳng hạn như kích thước, quyền truy cập và vị trí của dữ liệu trên đĩa.
C. Một danh sách các tệp trong một thư mục.
D. Một chương trình được sử dụng để quản lý tệp.
120. Tại sao cần có cơ chế ‘page coloring’ trong hệ thống bộ nhớ ảo?
A. Để làm cho bộ nhớ trông đẹp hơn.
B. Để giảm phân mảnh bộ nhớ.
C. Để cải thiện hiệu suất của bộ nhớ cache bằng cách giảm xung đột cache.
D. Để bảo vệ bộ nhớ khỏi các cuộc tấn công.
121. Thuật toán nào thường được sử dụng để lập lịch các tiến trình trong hệ thống thời gian thực (real-time systems) để đảm bảo đáp ứng thời hạn?
A. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Rate Monotonic Scheduling (RMS)
D. Round Robin
122. Trong lập lịch CPU, ‘độ trễ’ (latency) thường được dùng để chỉ điều gì?
A. Thời gian một tiến trình chạy.
B. Thời gian một tiến trình phải chờ để bắt đầu chạy.
C. Tổng thời gian một tiến trình thực thi từ khi bắt đầu đến khi kết thúc.
D. Thời gian cần thiết để chuyển ngữ cảnh giữa hai tiến trình.
123. Trong ngữ cảnh của lập lịch CPU, ‘aging’ là một kỹ thuật được sử dụng để giải quyết vấn đề gì?
A. Giảm thời gian chờ của các tiến trình.
B. Ngăn chặn tình trạng ‘đói tài nguyên’ bằng cách tăng độ ưu tiên của các tiến trình chờ đợi lâu.
C. Tăng throughput của hệ thống.
D. Giảm độ trễ của hệ thống.
124. Bốn điều kiện cần thiết để deadlock xảy ra là gì?
A. Mutual exclusion, hold and wait, no preemption, circular wait.
B. Mutual exclusion, no hold and wait, preemption, no circular wait.
C. No mutual exclusion, hold and wait, no preemption, circular wait.
D. Mutual exclusion, hold and wait, preemption, circular wait.
125. Trong lập lịch CPU, mục tiêu của ‘cân bằng tải’ (load balancing) là gì?
A. Đảm bảo tất cả các tiến trình đều có độ ưu tiên như nhau.
B. Phân phối công việc đồng đều trên các bộ xử lý để tối đa hóa hiệu suất.
C. Giảm thiểu thời gian chờ của các tiến trình.
D. Tăng thời gian hồi đáp của các tiến trình.
126. Để tránh ‘race condition’, cần sử dụng cơ chế đồng bộ hóa nào?
A. Lập lịch CPU.
B. Ngắt.
C. Mutexes, semaphores, hoặc monitors.
D. Bộ nhớ ảo.
127. Thuật toán lập lịch CPU nào có mục tiêu giảm thiểu thời gian chờ trung bình của các tiến trình?
A. First-Come, First-Served (FCFS)
B. Round Robin
C. Shortest Job First (SJF)
D. Priority Scheduling
128. Đâu là một nhược điểm của thuật toán Shortest Job First (SJF)?
A. Dễ cài đặt.
B. Yêu cầu biết trước thời gian thực thi của các tiến trình.
C. Không công bằng.
D. Không hiệu quả.
129. Trong ngữ cảnh của lập lịch CPU, ‘quantum’ là gì?
A. Thời gian tối thiểu mà một tiến trình phải chạy.
B. Thời gian tối đa mà một tiến trình có thể chạy trước khi bị ngắt.
C. Độ ưu tiên của một tiến trình.
D. Kích thước của một tiến trình trong bộ nhớ.
130. Thuật toán lập lịch nào có thể được coi là ‘công bằng’ nhất trong việc cấp phát CPU?
A. Shortest Job First (SJF)
B. Priority Scheduling
C. First-Come, First-Served (FCFS)
D. Round Robin
131. Trong lập lịch CPU, ‘chuyển ngữ cả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 lưu trạng thái của một tiến trình và khôi phục trạng thái của một tiến trình khác.
C. Quá trình cấp phát bộ nhớ cho một tiến trình.
D. Quá trình tạo một tiến trình mới.
132. Trong lập lịch CPU, ‘race condition’ có thể xảy ra khi nào?
A. Khi hai 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.
B. Khi một tiến trình phải chờ một sự kiện xảy ra.
C. Khi một tiến trình bị preempted.
D. Khi một tiến trình hoàn thành việc thực thi.
133. Trong ngữ cảnh của lập lịch CPU, ‘thời gian hồi đáp’ (turnaround time) được định nghĩa là gì?
A. Thời gian một tiến trình phải chờ để được cấp CPU.
B. Tổng thời gian một tiến trình thực thi.
C. Thời gian từ khi một tiến trình được tạo ra đến khi nó hoàn thành.
D. Thời gian CPU thực sự xử lý một tiến trình.
134. Thuật toán lập lịch nào có thể dẫn đến ‘hiệu ứng đoàn xe’ (convoy effect), trong đó một tiến trình dài chặn tất cả các tiến trình ngắn phía sau nó?
A. Round Robin
B. Shortest Job First (SJF)
C. First-Come, First-Served (FCFS)
D. Priority Scheduling
135. Trong lập lịch đa cấp (multilevel queue scheduling), các tiến trình được gán vào các hàng đợi khác nhau dựa trên thuộc tính nào?
A. Thời gian thực thi.
B. Độ ưu tiên.
C. Loại tiến trình (ví dụ: tương tác, batch).
D. Kích thước bộ nhớ yêu cầu.
136. Trong lập lịch CPU, ‘throughput’ là gì?
A. Thời gian một tiến trình phải chờ để được thực thi.
B. Số lượng tiến trình hoàn thành trong một đơn vị thời gian.
C. Thời gian cần thiết để chuyển ngữ cảnh.
D. Lượng bộ nhớ mà một tiến trình sử dụng.
137. Một hệ thống sử dụng thuật toán lập lịch Round Robin với quantum là 10ms. Nếu một tiến trình cần 25ms để hoàn thành, nó sẽ cần bao nhiêu lần chuyển CPU?
138. Điều gì xảy ra khi một tiến trình bị ‘preempted’?
A. Tiến trình hoàn thành việc thực thi.
B. Tiến trình tạm dừng và trạng thái của nó được lưu lại để tiếp tục sau.
C. Tiến trình bị hủy bỏ.
D. Tiến trình được chuyển sang một hàng đợi khác.
139. Mutex là gì?
A. Một loại semaphore có thể đếm được.
B. Một cơ chế khóa độc quyền (exclusive lock) chỉ cho phép một tiến trình truy cập vào tài nguyên tại một thời điểm.
C. Một cơ chế cho phép nhiều tiến trình truy cập vào tài nguyên cùng một lúc.
D. Một cơ chế lập lịch CPU.
140. Semaphore là gì?
A. Một biến nguyên được sử dụng để kiểm soát quyền truy cập vào các tài nguyên chia sẻ.
B. Một loại mutex.
C. Một cơ chế lập lịch CPU.
D. Một loại bộ nhớ.
141. Đâu là một ưu điểm của thuật toán lập lịch First-Come, First-Served (FCFS)?
A. Giảm thiểu thời gian chờ trung bình.
B. Đơn giản và dễ cài đặt.
C. Ngăn chặn tình trạng ‘đói tài nguyên’.
D. Ưu tiên các tiến trình quan trọng.
142. Điều gì xảy ra khi một tiến trình có độ ưu tiên cao hơn đến trong khi một tiến trình có độ ưu tiên thấp hơn đang chạy trong hệ thống sử dụng thuật toán Priority Scheduling có tính ‘ưu tiên chiếm quyền’ (preemptive)?
A. Tiến trình đang chạy tiếp tục chạy cho đến khi hoàn thành.
B. Tiến trình có độ ưu tiên thấp hơn bị tạm dừng và tiến trình có độ ưu tiên cao hơn bắt đầu chạy.
C. Hệ thống sẽ sập.
D. Tiến trình có độ ưu tiên cao hơn phải chờ cho đến khi tiến trình hiện tại hoàn thành.
143. Thuật toán lập lịch nào có thể được sử dụng để tối ưu hóa việc sử dụng CPU trong các hệ thống batch?
A. Round Robin
B. Shortest Job First (SJF)
C. Priority Scheduling
D. First-Come, First-Served (FCFS)
144. 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 ‘đói tài nguyên’ (starvation)?
A. Shortest Job First (SJF)
B. First-Come, First-Served (FCFS)
C. Round Robin
D. Priority Scheduling
145. Thuật toán lập lịch nào thường được sử dụng trong các hệ thống thời gian thực mềm (soft real-time systems)?
A. First-Come, First-Served (FCFS)
B. Round Robin
C. Priority Scheduling
D. Earliest Deadline First (EDF)
146. Sự khác biệt chính giữa mutex và semaphore là gì?
A. Mutex chỉ có thể được khóa và mở khóa bởi cùng một tiến trình, trong khi semaphore có thể được báo hiệu (signal) bởi một tiến trình khác với tiến trình đã chờ (wait).
B. Semaphore chỉ có thể được sử dụng trong không gian kernel, trong khi mutex chỉ có thể được sử dụng trong không gian người dùng.
C. Mutex nhanh hơn semaphore.
D. Semaphore đơn giản hơn mutex.
147. Deadlock là gì?
A. Một tình huống trong đó một tiến trình không thể truy cập vào CPU.
B. Một tình huống trong đó hai hoặc nhiều tiến trình bị chặn vĩnh viễn, chờ đợi lẫn nhau để giải phóng các tài nguyên mà chúng đang giữ.
C. Một tình huống trong đó một tiến trình chiếm quá nhiều bộ nhớ.
D. Một tình huống trong đó một tiến trình chạy quá lâu.
148. Thuật toán lập lịch nào có thể được sử dụng để giảm thiểu ‘thời gian phản hồi’ (response time) trong các hệ thống tương tác?
A. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Round Robin
D. Priority Scheduling
149. Trong hệ thống đa xử lý, lập lịch ‘gang scheduling’ là gì?
A. Lập lịch các tiến trình theo nhóm để chúng chạy đồng thời trên các bộ xử lý khác nhau.
B. Lập lịch các tiến trình dựa trên độ ưu tiên của chúng.
C. Lập lịch các tiến trình để chúng không bao giờ chạy đồng thời.
D. Lập lịch các tiến trình để chúng chia sẻ bộ nhớ.
150. 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, thường được sử dụng trong các hệ thống chia sẻ thời gian?
A. Shortest Job First (SJF)
B. Priority Scheduling
C. Round Robin
D. First-Come, First-Served (FCFS)