1. Một giải pháp để tránh deadlock là sử dụng thuật toán Banker’s Algorithm. Thuật toán này thuộc loại nào?
A. Deadlock Avoidance.
B. Deadlock Prevention.
C. Deadlock Detection.
D. Deadlock Recovery.
2. Trong ngữ cảnh của hệ điều hành, ‘aging’ là một kỹ thuật được sử dụng để giải quyết vấn đề gì?
A. Starvation.
B. Deadlock.
C. Race condition.
D. Priority inversion.
3. Trong ngữ cảnh scheduling, ‘context switch’ 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 để cho phép một tiến trình khác chạy.
B. Quá trình cấp phát bộ nhớ cho một tiến trình.
C. Quá trình tạo một tiến trình mới.
D. Quá trình xóa một tiến trình.
4. Phân tích sự khác biệt giữa ‘binary semaphore’ và ‘counting semaphore’.
A. Binary semaphore chỉ có thể có giá trị 0 hoặc 1 và thường được dùng để thực hiện mutex, trong khi counting semaphore có thể có giá trị bất kỳ và dùng để đếm số lượng tài nguyên có sẵn.
B. Counting semaphore nhanh hơn binary semaphore.
C. Binary semaphore phức tạp hơn counting semaphore.
D. Counting semaphore chỉ dùng cho hệ thống đa xử lý.
5. Mutex và semaphore khác nhau chủ yếu ở điểm nào?
A. Mutex chỉ có thể được giải phóng bởi tiến trình nắm giữ nó, trong khi semaphore có thể được giải phóng bởi bất kỳ tiến trình nào.
B. Semaphore là một biến boolean, trong khi mutex là một số nguyên.
C. Mutex chỉ dùng để bảo vệ tài nguyên phần cứng, trong khi semaphore dùng cho tài nguyên phần mềm.
D. Mutex nhanh hơn semaphore.
6. Trong ngữ cảnh của hệ điều hành, thuật ngữ ‘race condition’ thường đề cập đến điều gì?
A. Một tình huống khi nhiều tiến trình cùng 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. Một lỗi lập trình khiến chương trình chạy chậm hơn dự kiến.
C. Một tình huống khi một tiến trình chiếm giữ tất cả tài nguyên hệ thống.
D. Một loại tấn công bảo mật nhằm vào kernel của hệ điều hành.
7. So sánh ưu và nhược điểm của preemptive scheduling và non-preemptive scheduling.
A. Preemptive scheduling có thể gây ra overhead lớn hơn do chuyển ngữ cảnh thường xuyên, nhưng đảm bảo thời gian phản hồi tốt hơn, trong khi non-preemptive scheduling đơn giản hơn nhưng có thể dẫn đến thời gian chờ đợi lâu hơn.
B. Preemptive scheduling đơn giản hơn non-preemptive scheduling.
C. Non-preemptive scheduling phù hợp hơn cho hệ thống thời gian thực.
D. Preemptive scheduling luôn hiệu quả hơn non-preemptive scheduling.
8. Tại sao việc chia sẻ tài nguyên có kiểm soát lại quan trọng trong hệ điều hành đa nhiệm?
A. Để ngăn chặn race condition và đảm bảo tính nhất quán của dữ liệu.
B. Để tăng tốc độ xử lý của hệ thống.
C. Để giảm kích thước của kernel.
D. Để đơn giản hóa việc lập trình ứng dụng.
9. Deadlock xảy ra khi nào?
A. 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ữ.
B. 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ệ.
C. Khi hệ thống thiếu bộ nhớ ảo.
D. Khi một tiến trình thực hiện một phép chia cho không.
10. Mục đích của cơ chế ‘signal’ và ‘wait’ trong semaphore là gì?
A. Để đồng bộ hóa các tiến trình và kiểm soát quyền truy cập vào tài nguyên.
B. Để cấp phát bộ nhớ cho các tiến trình.
C. Để tạo và xóa các tiến trình.
D. Để quản lý ngắt phần cứng.
11. Mục đích chính của việc sử dụng thread là gì?
A. Tăng cường tính đồng thời và hiệu suất của một ứng dụng.
B. Giảm kích thước của mã chương trình.
C. Tăng cường bảo mật hệ thống.
D. Đơn giản hóa việc gỡ lỗi chương trình.
12. Một hệ thống có 3 tài nguyên loại A, 2 tài nguyên loại B và 2 tài nguyên loại C. Tiến trình P1 giữ 1A, 0B, 1C; P2 giữ 2A, 0B, 0C; P3 giữ 0A, 1B, 0C. Số tài nguyên còn lại là 0A, 1B, 1C. Hệ thống có ở trạng thái an toàn không?
A. Không, vì không có tiến trình nào có thể hoàn thành.
B. Có, vì P3 có thể hoàn thành.
C. Có, vì P2 có thể hoàn thành.
D. Có, vì P1 có thể hoàn thành.
13. Thuật toán scheduling nào có thể gây ra ‘starvation’?
A. Priority scheduling.
B. First-Come, First-Served (FCFS).
C. Shortest Job First (SJF).
D. Round Robin.
14. Trong các điều kiện cần để xảy ra deadlock, điều kiện ‘circular wait’ mô tả điều gì?
A. Một chuỗi các tiến trình chờ đợi lẫn nhau theo vòng tròn.
B. Một tiến trình chờ đợi chính nó.
C. Một tiến trình chờ đợi một tài nguyên không tồn tại.
D. Một tiến trình chờ đợi vô thời hạn.
15. Trong ngữ cảnh đồng bộ hóa tiến trình, spinlock là gì?
A. Một loại khóa mà tiến trình liên tục kiểm tra cho đến khi khóa được giải phóng.
B. Một loại semaphore nhị phân.
C. Một cơ chế để tạm dừng một tiến trình.
D. Một kỹ thuật để tránh deadlock.
16. Tại sao việc sử dụng threads có thể cải thiện hiệu suất của một ứng dụng I/O-bound?
A. Vì một thread có thể tiếp tục xử lý trong khi các thread khác đang chờ I/O hoàn thành.
B. Vì threads có thể truy cập trực tiếp vào phần cứng I/O.
C. Vì threads có độ ưu tiên cao hơn các tiến trình khác.
D. Vì threads có thể tự động sửa lỗi I/O.
17. Điều gì sẽ xảy ra nếu một tiến trình cố gắng khóa một mutex mà nó đã khóa?
A. Deadlock.
B. Tiến trình sẽ bị chặn cho đến khi mutex được giải phóng bởi một tiến trình khác.
C. Hệ thống sẽ tạo ra một lỗi.
D. Mutex sẽ được giải phóng tự động.
18. Điều gì xảy ra nếu một tiến trình gọi hàm `wait()` trên một semaphore có giá trị âm?
A. Tiến trình sẽ bị chặn cho đến khi semaphore có giá trị dương.
B. Tiến trình sẽ tiếp tục thực hiện mà không bị chặn.
C. Hệ thống sẽ tạo ra một lỗi.
D. Giá trị của semaphore sẽ được đặt về 0.
19. Trong bài toán ‘Dining Philosophers’, mục đích chính của việc giải quyết là gì?
A. Ngăn chặn deadlock và starvation.
B. Tối ưu hóa việc sử dụng tài nguyên.
C. Đảm bảo tính công bằng giữa các philosopher.
D. Tăng tốc độ suy nghĩ của các philosopher.
20. Trong Round Robin scheduling, ‘quantum’ đại diện cho điều gì?
A. Thời gian tối đa mà một tiến trình được phép chạy trước khi bị ngắt.
B. Độ ưu tiên của tiến trình.
C. Tổng thời gian cần thiết để hoàn thành tiến trình.
D. Kích thước bộ nhớ mà tiến trình yêu cầu.
21. Trong ngữ cảnh của concurrency, ‘atomic operation’ là gì?
A. Một thao tác được đảm bảo hoàn thành mà không bị gián đoạn bởi các tiến trình khác.
B. Một thao tác chỉ có thể được thực hiện bởi kernel.
C. Một thao tác được thực hiện nhanh nhất có thể.
D. Một thao tác yêu cầu ít bộ nhớ nhất.
22. Giả sử có 3 tiến trình P1, P2, P3 với thời gian thực hiện lần lượt là 10, 5, 8 đơn vị thời gian. Nếu sử dụng thuật toán FCFS, thời gian chờ trung bình là bao nhiêu?
23. Trong các phương pháp giải quyết deadlock, ‘resource ordering’ thuộc nhóm nào?
A. Prevention.
B. Avoidance.
C. Detection.
D. Recovery.
24. Sự khác biệt chính giữa ‘user-level threads’ và ‘kernel-level threads’ là gì?
A. User-level threads được quản lý bởi thư viện trong không gian người dùng, trong khi kernel-level threads được quản lý bởi hệ điều hành.
B. Kernel-level threads nhanh hơn user-level threads.
C. User-level threads có thể tận dụng lợi thế của đa xử lý, trong khi kernel-level threads thì không.
D. Kernel-level threads dễ dàng triển khai hơn user-level threads.
25. Giả sử có 5 tiến trình P1, P2, P3, P4, P5 với độ ưu tiên lần lượt là 3, 1, 4, 1, 5 (số nhỏ hơn có độ ưu tiên cao hơn). Nếu sử dụng thuật toán Priority Scheduling (preemptive), tiến trình nào sẽ chạy đầu tiên?
26. Điều gì xảy ra khi một tiến trình cố gắng truy cập một tài nguyên mà nó không có quyền?
A. Hệ điều hành sẽ từ chối yêu cầu và có thể phát sinh một ngoại lệ hoặc lỗi.
B. Hệ điều hành sẽ tự động cấp quyền truy cập cho tiến trình.
C. Hệ điều hành sẽ tạm dừng tiến trình cho đến khi có quyền truy cập.
D. Hệ điều hành sẽ bỏ qua yêu cầu.
27. Ưu điểm của việc sử dụng ‘thread pool’ là gì?
A. Giảm chi phí tạo và hủy thread.
B. Tăng số lượng thread tối đa mà hệ thống có thể hỗ trợ.
C. Đơn giản hóa việc đồng bộ hóa thread.
D. Tăng cường bảo mật cho các thread.
28. Giả sử có 4 tiến trình P1, P2, P3, P4 với thời gian burst lần lượt là 5, 3, 8, 6. Nếu sử dụng thuật toán Round Robin với quantum = 4, thời gian hoàn thành của P2 là bao nhiêu?
29. Sự khác biệt chính giữa ‘preemptive’ và ‘non-preemptive’ scheduling là gì?
A. Preemptive scheduling cho phép hệ điều hành ngắt một tiến trình đang chạy để ưu tiên tiến trình khác, trong khi non-preemptive scheduling thì không.
B. Non-preemptive scheduling sử dụng hàng đợi ưu tiên, trong khi preemptive thì không.
C. Preemptive scheduling chỉ áp dụng cho hệ thống đa xử lý, trong khi non-preemptive áp dụng cho hệ thống đơn xử lý.
D. Non-preemptive scheduling hiệu quả hơn preemptive scheduling về mặt sử dụng CPU.
30. Giả sử có 4 tiến trình đến cùng một lúc với thời gian burst lần lượt là 6, 8, 7, 3. Sử dụng thuật toán SJF (non-preemptive), thời gian chờ trung bình là bao nhiêu?
31. Trong ngữ cảnh của lập lịch CPU, ‘thời gian chờ’ (waiting time) được định nghĩa là gì?
A. Thời gian CPU thực sự xử lý một tiến trình
B. Tổng thời gian một tiến trình ở trạng thái sẵn sàng trong hàng đợi
C. Thời gian từ khi một tiến trình được tạo đến khi nó hoàn thành
D. Thời gian một tiến trình chờ để vào vùng critical section
32. Thuật toán nào sau đây không phù hợp với hệ thống thời gian thực (real-time system)?
A. Rate Monotonic Scheduling (RMS)
B. Earliest Deadline First (EDF)
C. First-Come, First-Served (FCFS)
D. Shortest Job First (SJF)
33. Lợi ích chính của việc sử dụng đa luồng (multithreading) là gì?
A. Giảm kích thước bộ nhớ yêu cầu
B. Tăng tốc độ CPU
C. Cải thiện tính đáp ứng và hiệu suất của ứng dụng
D. Đơn giản hóa việc gỡ lỗi
34. Khi nào một tiến trình chuyển từ trạng thái ‘Running’ sang trạng thái ‘Waiting’?
A. Khi nó hoàn thành việc thực thi.
B. Khi nó cần chờ một sự kiện hoặc tài nguyên.
C. Khi nó bị ngắt bởi một tiến trình có độ ưu tiên cao hơn.
D. Khi nó hết thời gian lượng tử (time quantum).
35. 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’ (starvation)?
A. Round Robin
B. First-Come, First-Served (FCFS)
C. Shortest Job First (SJF) không độc quyền
D. Priority Scheduling
36. Trong lập lịch CPU, việc sử dụng ‘time quantum’ quá lớn có thể dẫn đến điều gì?
A. Tăng thời gian chờ trung bình.
B. Giảm số lượng chuyển đổi ngữ cảnh.
C. Hệ thống hoạt động giống như FCFS.
D. Tất cả các đáp án trên.
37. Điều gì xảy ra khi một tiến trình có độ ưu tiên cao đến hàng đợi sẵn sàng trong hệ thống sử dụng lập lịch độc quyền?
A. Tiến trình hiện tại tiếp tục chạy cho đến khi nó hoàn thành.
B. Tiến trình có độ ưu tiên cao hơn sẽ chiếm CPU ngay lập tức, ngắt tiến trình hiện tại.
C. Hệ thống sẽ gặp lỗi vì xung đột ưu tiên.
D. Tiến trình mới sẽ bị từ chối vì hệ thống đang bận.
38. Trong ngữ cảnh quản lý tiến trình, ‘Context Switching’ (chuyển đổi ngữ cảnh) là gì?
A. Quá trình thay đổi độ ưu tiên của một tiến trình.
B. Quá trình chuyển đổi CPU từ một tiến trình sang 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.
39. Khi một tiến trình bị ‘preempted’ (chiếm quyền), điều gì xảy ra?
A. Tiến trình bị hủy bỏ.
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 được chuyển sang hàng đợi I/O.
D. Tiến trình được cấp thêm thời gian CPU.
40. Thuật toán nào sau đây thường được sử dụng trong các hệ thống thời gian thực cứng (hard real-time systems)?
A. Shortest Job First (SJF)
B. First-Come, First-Served (FCFS)
C. Earliest Deadline First (EDF)
D. Round Robin
41. Trong lập lịch CPU, thuật ngữ ‘aging’ (lão hóa) đề cập đến điều gì?
A. Quá trình giảm độ ưu tiên của các tiến trình theo thời gian.
B. Quá trình tăng độ ưu tiên của các tiến trình chờ đợi lâu trong hàng đợi.
C. Quá trình loại bỏ các tiến trình không hoạt động khỏi hệ thống.
D. Quá trình phân bổ bộ nhớ cho các tiến trình.
42. Sự khác biệt chính giữa lập lịch ‘độc quyền’ (preemptive) và ‘không độc quyền’ (non-preemptive) là gì?
A. Lập lịch độc quyền sử dụng hàng đợi ưu tiên, trong khi lập lịch không độc quyền thì không.
B. Lập lịch độc quyền cho phép một tiến trình bị ngắt giữa chừng, trong khi lập lịch không độc quyền thì không.
C. Lập lịch không độc quyền luôn nhanh hơn lập lịch độc quyền.
D. Lập lịch độc quyền yêu cầu phần cứng đặc biệt, trong khi lập lịch không độc quyền thì không.
43. Khi một tiến trình tạo ra một tiến trình con, tiến trình con có được cấp phát không gian địa chỉ như thế nào?
A. Tiến trình con chia sẻ không gian địa chỉ với tiến trình cha.
B. 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.
C. Tiến trình con được cấp một không gian địa chỉ hoàn toàn mới, trống rỗng.
D. Hệ điều hành tự động chọn không gian địa chỉ phù hợp cho tiến trình con.
44. Trong các hệ thống thời gian thực, lập lịch ‘Rate Monotonic’ ưu tiên tiến trình dựa trên yếu tố nào?
A. Thời gian thực thi của tiến trình.
B. Chu kỳ (period) của tiến trình.
C. Thời hạn (deadline) của tiến trình.
D. Độ quan trọng của tiến trình.
45. Thuật toán lập lịch nào có thể tối thiểu hóa thời gian chờ trung bình?
A. First-Come, First-Served (FCFS)
B. Priority Scheduling
C. Shortest Job First (SJF)
D. Round Robin
46. Trạng thái nào không phải là một trạng thái của tiến trình?
A. New
B. Running
C. Waiting
D. Blocked
47. Trong ngữ cảnh lập lịch CPU, ‘response time’ (thời gian phản hồi) là gì?
A. Tổng thời gian để một tiến trình hoàn thành.
B. Thời gian từ khi một yêu cầu được gửi đến khi phản hồi đầu tiên được tạo ra.
C. Thời gian CPU thực sự xử lý một tiến trình.
D. Thời gian một tiến trình chờ trong hàng đợi.
48. Điều gì xảy ra khi một tiến trình gọi hàm ‘fork() ‘ trong hệ thống Unix/Linux?
A. Tiến trình hiện tại kết thúc.
B. Một tiến trình mới, giống hệt tiến trình hiện tại, được tạo ra.
C. Một luồng mới được tạo trong tiến trình hiện tại.
D. Hệ thống sẽ khởi động lại.
49. Điều gì là mục tiêu chính của việc lập lịch CPU?
A. Giảm kích thước bộ nhớ
B. Tối đa hóa việc sử dụng CPU và giảm thiểu thời gian chờ
C. Tăng số lượng chương trình có thể chạy đồng thời
D. Đơn giản hóa thiết kế hệ điều hành
50. Loại lập lịch nào thường được sử dụng để tối đa hóa hiệu suất của CPU?
A. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Round Robin
D. Priority Scheduling
51. Trong các thuật toán lập lịch, thuật toán nào có thể dẫn đến hiệu ứng ‘convoy effect’?
A. Round Robin
B. Shortest Job First (SJF)
C. First-Come, First-Served (FCFS)
D. Priority Scheduling
52. Sự khác biệt chính giữa ‘preemptive SJF’ và ‘non-preemptive SJF’ là gì?
A. Preemptive SJF luôn cho thời gian chờ trung bình thấp hơn.
B. Preemptive SJF cho phép một tiến trình mới đến ngắt tiến trình đang chạy nếu nó có thời gian thực thi ngắn hơn.
C. Non-preemptive SJF yêu cầu nhiều bộ nhớ hơn.
D. Non-preemptive SJF dễ cài đặt hơn.
53. Trong các hệ thống đa chương trình, mục tiêu chính của lập lịch là gì?
A. Giảm thiểu số lượng chương trình trong bộ nhớ.
B. Tối đa hóa việc sử dụng CPU và tăng thông lượng.
C. Đảm bảo tất cả các chương trình đều nhận được thời gian CPU bằng nhau.
D. Đơn giản hóa việc quản lý bộ nhớ.
54. Trong ngữ cảnh của lập lịch CPU, ‘turnaround time’ (thời gian hoàn thành) được định nghĩa là gì?
A. Thời gian CPU thực sự xử lý một tiến trình.
B. Tổng thời gian một tiến trình ở trạng thái sẵn sàng trong hàng đợi.
C. Thời gian từ khi một tiến trình được tạo đến khi nó hoàn thành.
D. Thời gian một tiến trình chờ để vào vùng critical section.
55. Thuật toán lập lịch nào dựa trên cơ sở mỗi tiến trình được cấp một lượng thời gian CPU nhất định (time quantum)?
A. Shortest Job First (SJF)
B. First-Come, First-Served (FCFS)
C. Priority Scheduling
D. Round Robin
56. Hàm `wait()` thường được sử dụng để làm gì trong quản lý tiến trình?
A. Tạo một tiến trình mới.
B. Kết thúc một tiến trình.
C. Cho phép một tiến trình cha chờ cho đến khi tiến trình con của nó kết thúc.
D. Chuyển một tiến trình sang trạng thái ‘Waiting’.
57. Thành phần nào của hệ điều hành chịu trách nhiệm chuyển một tiến trình từ trạng thái ‘Ready’ sang trạng thái ‘Running’?
A. Memory Manager
B. Device Driver
C. CPU Scheduler
D. File System
58. Trong ngữ cảnh lập lịch CPU, ‘throughput’ (thông lượng) được định nghĩa là gì?
A. Thời gian cần thiết để một tiến trình hoàn thành
B. Số lượng tiến trình hoàn thành trên một đơn vị thời gian
C. Lượng bộ nhớ mà một tiến trình sử dụng
D. Độ ưu tiên của một tiến trình
59. Lợi ích chính của việc sử dụng ‘kernel-level threads’ (luồng mức hạt nhân) so với ‘user-level threads’ (luồng mức người dùng) là gì?
A. Kernel-level threads nhanh hơn để tạo và quản lý.
B. Kernel-level threads có thể được lập lịch song song trên nhiều CPU.
C. Kernel-level threads dễ dàng gỡ lỗi hơn.
D. Kernel-level threads chiếm ít bộ nhớ hơn.
60. Sự khác biệt chính giữa ‘tiến trình’ (process) và ‘luồng’ (thread) là gì?
A. Tiến trình là một đơn vị thực thi, trong khi luồng là một đơn vị quản lý bộ nhớ.
B. Tiến trình có không gian địa chỉ riêng, trong khi các luồng trong cùng một tiến trình chia sẻ không gian địa chỉ.
C. Luồng có thể chạy độc lập, trong khi tiến trình phải được quản lý bởi hệ điều hành.
D. Tiến trình tiêu thụ ít tài nguyên hơn so với luồng.
61. Circular wait (Chờ đợi vòng tròn) có nghĩa là gì trong ngữ cảnh của deadlock?
A. Một tập hợp các tiến trình chờ đợi lẫn nhau theo một vòng tròn.
B. Các tiến trình phải chờ đợi theo một vòng tròn để được cấp tài nguyên.
C. Một tiến trình phải chờ đợi chính nó để hoàn thành.
D. Các tiến trình phải chờ đợi một khoảng thời gian cố định trước khi được cấp tài nguyên.
62. Deadlock (tắc nghẽn) là gì?
A. Một tình huống trong đó một tiến trình chiếm giữ một tài nguyên và chờ đợi một tài nguyên khác đang được chiếm giữ bởi một tiến trình khác, dẫn đến việc không tiến trình nào có thể tiếp tục.
B. Một tình huống trong đó một tiến trình liên tục bị ngắt bởi các tiến trình khác.
C. Một tình huống trong đó hệ thống bị treo do lỗi phần cứng.
D. Một tình huống trong đó một tiến trình sử dụng quá nhiều tài nguyên CPU.
63. Thuật toán lập lịch nào có thể dẫn đến tình trạng ‘aging’ (lão hóa) để giải quyết vấn đề starvation?
A. Shortest Job First (SJF).
B. First-Come, First-Served (FCFS).
C. Priority Scheduling.
D. Round Robin.
64. Trong ngữ cảnh của hệ điều hành, mục tiêu chính của việc lập lịch CPU là gì?
A. Tối đa hóa thời gian phản hồi và giảm thiểu thời gian chờ.
B. Tối đa hóa số lượng tiến trình hoàn thành trên một đơn vị thời gian (throughput) và giảm thiểu thời gian phản hồi.
C. Giảm thiểu thời gian chờ và tối đa hóa việc sử dụng CPU.
D. Tối đa hóa việc sử dụng CPU và tối đa hóa số lượng tiến trình hoàn thành trên một đơn vị thời gian (throughput).
65. Mutex lock là gì?
A. Một cơ chế đồng bộ hóa cho phép nhiều tiến trình truy cập vào một tài nguyên cùng một lúc.
B. Một cơ chế đồng bộ hóa chỉ cho phép một tiến trình truy cập vào một tài nguyên tại một thời điểm.
C. Một kỹ thuật quản lý bộ nhớ.
D. Một thuật toán lập lịch CPU.
66. Deadlock prevention (Ngăn chặn deadlock) hoạt động bằng cách nào?
A. Cho phép deadlock xảy ra và sau đó giải quyết nó.
B. Đảm bảo rằng ít nhất một trong bốn điều kiện cần thiết cho deadlock không thể xảy ra.
C. Phát hiện deadlock và sau đó thu hồi tài nguyên.
D. Yêu cầu các tiến trình khai báo trước tất cả các tài nguyên mà chúng sẽ cần.
67. Starvation (đói tài nguyên) có thể xảy ra trong thuật toán lập lịch nào?
A. Round Robin.
B. First-Come, First-Served (FCFS).
C. Shortest Job First (SJF).
D. Priority Scheduling.
68. No preemption (Không thu hồi) có nghĩa là gì trong ngữ cảnh của deadlock?
A. Hệ điều hành có thể thu hồi một tài nguyên từ một tiến trình đang giữ nó.
B. Một tiến trình không thể bị ngắt khi đang sử dụng một tài nguyên.
C. Một tài nguyên chỉ có thể được giải phóng bởi tiến trình đang giữ nó một cách tự nguyện.
D. Các tiến trình không thể thu hồi lẫn nhau.
69. Sự khác biệt chính giữa lập lịch độc quyền (preemptive) và không độc quyền (non-preemptive) là gì?
A. Lập lịch độc quyền cho phép một tiến trình bị ngắt giữa chừng, trong khi lập lịch không độc quyền thì không.
B. Lập lịch không độc quyền yêu cầu thời gian burst phải được biết trước.
C. Lập lịch độc quyền đơn giản hơn để triển khai.
D. Lập lịch không độc quyền hiệu quả hơn về mặt sử dụng CPU.
70. Thời gian chờ trung bình (average waiting time) là gì?
A. Tổng thời gian tất cả các tiến trình phải chờ để được thực thi.
B. Thời gian trung bình mà mỗi tiến trình phải chờ trong hàng đợi sẵn sàng.
C. Thời gian cần thiết để chuyển đổi giữa các tiến trình.
D. Thời gian cần thiết để một tiến trình hoàn thành sau khi đến.
71. Đâu là nhược điểm chính của thuật toán First-Come, First-Served (FCFS)?
A. Có thể dẫn đến convoy effect, trong đó một tiến trình dài chặn nhiều tiến trình ngắn.
B. Đòi hỏi phải biết trước thời gian burst của tất cả các tiến trình.
C. Khó triển khai.
D. Không công bằng đối với các tiến trình có độ ưu tiên thấp.
72. Một cách để phục hồi từ deadlock là gì?
A. Ngăn chặn tất cả các yêu cầu tài nguyên.
B. Khởi động lại hệ thống.
C. Thu hồi tài nguyên từ các tiến trình cho đến khi deadlock được giải quyết.
D. Yêu cầu tất cả các tiến trình phải chạy tuần tự.
73. Đâu là lợi ích chính của việc sử dụng lập lịch đa xử lý (multiprocessor scheduling)?
A. Giảm độ phức tạp của hệ điều hành.
B. Tăng throughput và giảm thời gian phản hồi bằng cách tận dụng nhiều CPU.
C. Đơn giản hóa việc quản lý bộ nhớ.
D. Giảm tiêu thụ điện năng.
74. Thuật toán Banker’s Algorithm được sử dụng để làm gì?
A. Ngăn chặn deadlock.
B. Tránh deadlock.
C. Phát hiện deadlock.
D. Phục hồi từ deadlock.
75. Trong lập lịch thời gian thực (real-time scheduling), điều gì quan trọng nhất?
A. Tối đa hóa throughput.
B. Đảm bảo các tiến trình hoàn thành trong thời hạn nghiêm ngặt.
C. Giảm thiểu thời gian chờ trung bình.
D. Tối ưu hóa việc sử dụng CPU.
76. Trong ngữ cảnh của lập lịch CPU, ‘response time’ (thời gian phản hồi) được định nghĩa là gì?
A. Thời gian từ khi một tiến trình được tạo đến khi nó hoàn thành.
B. Thời gian từ khi một yêu cầu được gửi đến khi phản hồi đầu tiên được tạo ra.
C. Thời gian một tiến trình phải chờ trong hàng đợi sẵn sàng.
D. Tổng thời gian một tiến trình sử dụng CPU.
77. Mutual exclusion (Loại trừ lẫn nhau) có nghĩa là gì trong ngữ cảnh của deadlock?
A. Nhiều tiến trình có thể truy cập cùng một tài nguyên cùng một lúc.
B. Một tài nguyên chỉ có thể được sử dụng bởi một tiến trình tại một thời điểm.
C. Các tiến trình phải loại trừ lẫn nhau khỏi việc sử dụng CPU.
D. Các tiến trình phải loại trừ lẫn nhau khỏi việc sử dụng bộ nhớ.
78. Deadlock detection and recovery (Phát hiện và phục hồi deadlock) hoạt động bằng cách nào?
A. Ngăn chặn deadlock xảy ra.
B. Tránh deadlock bằng cách cấp phát tài nguyên cẩn thận.
C. Phát hiện deadlock khi nó xảy ra và sau đó thực hiện các hành động để giải quyết nó.
D. Yêu cầu các tiến trình khai báo trước tất cả các tài nguyên mà chúng sẽ cần.
79. Semaphore là gì?
A. Một loại bộ nhớ đặc biệt được sử dụng để lưu trữ dữ liệu chia sẻ.
B. Một biến nguyên thủy được sử dụng để kiểm soát quyền truy cập vào các tài nguyên chia sẻ bởi nhiều tiến trình.
C. Một thuật toán lập lịch CPU.
D. Một kỹ thuật quản lý bộ nhớ.
80. Thuật toán lập lịch nào ưu tiên tiến trình có thời gian burst ngắn nhất?
A. Round Robin.
B. Shortest Job First (SJF).
C. Priority Scheduling.
D. First-Come, First-Served (FCFS).
81. Đ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 để xảy ra deadlock (tắc nghẽn)?
A. Mutual exclusion (Loại trừ lẫn nhau).
B. Hold and wait (Giữ và chờ).
C. No preemption (Không thu hồi).
D. Priority inversion (Đảo ngược ưu tiên).
82. Deadlock avoidance (Tránh deadlock) hoạt động bằng cách nào?
A. Cho phép hệ thống rơi vào trạng thái deadlock và sau đó phục hồi.
B. Cấp phát tài nguyên một cách cẩn thận để đảm bảo rằng hệ thống không bao giờ rơi vào trạng thái không an toàn.
C. Ngăn chặn tất cả các yêu cầu tài nguyên.
D. Yêu cầu tất cả các tiến trình phải chạy tuần tự.
83. Trong thuật toán Round Robin, tham số ‘quantum’ đại diện cho điều gì?
A. Thời gian tối đa mà một tiến trình được phép chạy trước khi bị ngắt.
B. Thời gian tối thiểu mà một tiến trình được phép chạy.
C. Thời gian trung bình mà tất cả tiến trình cần để hoàn thành.
D. Thời gian hệ thống cần để chuyển đổi giữa các tiến trình.
84. Hold and wait (Giữ và chờ) có nghĩa là gì trong ngữ cảnh của deadlock?
A. Một tiến trình phải giữ tất cả các tài nguyên cần thiết trước khi bắt đầu thực thi.
B. Một tiến trình có thể giữ một số tài nguyên và đồng thời chờ đợi để có được các tài nguyên khác đang được giữ bởi các tiến trình khác.
C. Các tiến trình phải chờ đợi lẫn nhau để hoàn thành.
D. Một tiến trình phải giữ một tài nguyên trong một khoảng thời gian tối thiểu.
85. Sự khác biệt chính giữa mutex và semaphore là gì?
A. Mutex có thể được sử dụng bởi nhiều tiến trình, trong khi semaphore chỉ có thể được sử dụng bởi một tiến trình.
B. Mutex chỉ cho phép một tiến trình truy cập vào tài nguyên, trong khi semaphore có thể cho phép nhiều tiến trình (tối đa một số giới hạn) truy cập vào tài nguyên.
C. Mutex là một biến boolean, trong khi semaphore là một số nguyên.
D. Mutex chỉ được sử dụng trong kernel, trong khi semaphore chỉ được sử dụng trong user space.
86. Resource-allocation graph (Đồ thị cấp phát tài nguyên) được sử dụng để làm gì?
A. Ngăn chặn deadlock.
B. Tránh deadlock.
C. Phát hiện deadlock.
D. Phục hồi từ deadlock.
87. Trong ngữ cảnh của deadlock, ‘safe state’ (trạng thái an toàn) là gì?
A. Một trạng thái trong đó không có deadlock.
B. Một trạng thái trong đó hệ thống có thể cấp phát tài nguyên cho tất cả các tiến trình theo một thứ tự nào đó mà không dẫn đến deadlock.
C. Một trạng thái trong đó tất cả các tiến trình đã hoàn thành.
D. Một trạng thái trong đó hệ thống đang chạy ở hiệu suất tối đa.
88. Trong lập lịch đa cấp (multilevel queue scheduling), các tiến trình được gán cho hàng đợi dựa trên yếu tố nào?
A. Độ ưu tiên của tiến trình.
B. Kích thước bộ nhớ yêu cầu.
C. Loại tiến trình (ví dụ: tương tác, batch).
D. Thời gian burst dự kiến.
89. Đ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 lập lịch ưu tiên độc quyền)?
A. Tiến trình đang chạy tiếp tục 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ẽ chuyển sang thuật toán FCFS.
D. Tiến trình có độ ưu tiên cao hơn phải chờ đến khi tiến trình hiện tại hoàn thành.
90. Phương pháp nào sau đây KHÔNG phải là một cách để xử lý deadlock?
A. Deadlock prevention (Ngăn chặn deadlock).
B. Deadlock avoidance (Tránh deadlock).
C. Deadlock detection and recovery (Phát hiện và phục hồi deadlock).
D. Deadlock ignoring (Bỏ qua deadlock).
91. Trong ngữ cảnh của hệ thống tệp (file system), ‘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 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 các khối dữ liệu.
C. Một bảng chứa danh sách tất cả các tệp trong hệ thống.
D. Một chương trình được sử dụng để quản lý tệp.
92. Mục tiêu chính của các thuật toán thay thế trang (page replacement algorithms) là gì?
A. Giảm thiểu số lượng page fault.
B. Tăng tốc độ truy cập bộ nhớ.
C. Tối ưu hóa việc sử dụng CPU.
D. Đảm bảo tính công bằng giữa các tiến trình.
93. Trong các thuật toán lập lịch CPU, thuật toán nào có thể gây ra 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.
94. Sự khác biệt chính giữa ‘preemptive scheduling’ và ‘non-preemptive scheduling’ là gì?
A. Preemptive scheduling ưu tiên các tiến trình I/O-bound, trong khi non-preemptive scheduling ưu tiên các tiến trình CPU-bound.
B. Preemptive scheduling cho phép một tiến trình đang chạy bị ngắt để nhường CPU cho tiến trình khác, trong khi non-preemptive scheduling thì không.
C. Preemptive scheduling sử dụng lượng tử thời gian (time quantum), trong khi non-preemptive scheduling thì không.
D. Preemptive scheduling yêu cầu phần cứng hỗ trợ đặc biệt, trong khi non-preemptive scheduling thì không.
95. Thuật toán Banker’s Algorithm được sử dụng để làm gì?
A. Để phát hiện và phục hồi từ deadlock.
B. Để ngăn chặn deadlock bằng cách cấp phát tài nguyên một cách an toàn.
C. Để tối ưu hóa việc sử dụng CPU.
D. Để quản lý bộ nhớ ảo.
96. Sự khác biệt chính giữa hard link và symbolic link (soft link) là gì?
A. Hard link trỏ đến inode của tệp, trong khi symbolic link trỏ đến đường dẫn của tệp.
B. 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.
C. Symbolic link nhanh hơn hard link.
D. Hard link tiêu thụ nhiều không gian hơn symbolic link.
97. Trong ngữ cảnh của quản lý bộ nhớ, ‘phân trang’ (paging) là gì?
A. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ.
B. Một kỹ thuật để chia bộ nhớ vật lý thành các khối có kích thước cố định, gọi là ‘khung trang’ (frames).
C. Một kỹ thuật để bảo vệ bộ nhớ khỏi bị truy cập trái phép.
D. Một kỹ thuật để giảm thiểu phân mảnh ngoại vi.
98. Mutex lock (khóa loại trừ lẫn nhau) được sử dụng để làm gì?
A. Để tăng tốc độ truy cập bộ nhớ.
B. Để ngăn chặn tình trạng ‘đoản mạch’ (short circuiting).
C. Để bảo vệ các vùng dữ liệu quan trọng (critical section) và ngăn chặn nhiều tiến trình/luồng truy cập cùng một lúc.
D. Để quản lý việc cấp phát CPU cho các tiến trình.
99. Tình trạng ‘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 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 một tiến trình sử dụng CPU quá lâu.
D. Khi hệ thống hết bộ nhớ.
100. Thuật toán thay thế trang nào sau đây thường được coi là tối ưu (nhưng không thực tế để triển khai) vì nó yêu cầu biết trước tương lai?
A. First-In, First-Out (FIFO).
B. Least Recently Used (LRU).
C. Optimal Replacement.
D. Random Replacement.
101. RAID (Redundant Array of Independent Disks) là gì?
A. Một loại bộ nhớ chỉ đọc.
B. Một kỹ thuật để kết hợp nhiều ổ đĩa thành một đơn vị lưu trữ logic để tăng hiệu suất và/hoặc độ tin cậy.
C. Một giao thức mạng để chia sẻ tệp.
D. Một hệ thống tệp được sử dụng trên các thiết bị di động.
102. Thuật toán thay thế trang Least Recently Used (LRU) hoạt động như thế nào?
A. Thay thế trang đã ở trong bộ nhớ lâu nhất.
B. Thay thế trang ít được sử dụng nhất.
C. Thay thế trang ít được sử dụng gần đây nhất.
D. Thay thế một trang ngẫu nhiên.
103. Đ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 để xảy ra deadlock (bế tắc)?
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).
104. 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, trong khi mutex có thể được sử dụng trong cả không gian kernel và không gian người dùng.
B. Mutex chỉ có thể được giải phóng bởi tiến trình/luồng đã khóa nó, trong khi semaphore có thể được giải phóng bởi một tiến trình/luồng khác.
C. Semaphore nhanh hơn mutex.
D. Mutex có thể đếm số lượng tài nguyên có sẵn, trong khi semaphore thì không.
105. Trong ngữ cảnh của hệ điều hành, mục tiêu chính của việc sử dụng nhiều hàng đợi (multiple queues) trong thuật toán lập lịch là gì?
A. Giảm thiểu thời gian chờ đợi trung bình cho tất cả các tiến trình.
B. Tăng cường tính công bằng bằng cách đảm bảo mọi tiến trình đều nhận được một lượng thời gian CPU tối thiểu.
C. Phân loại các tiến trình dựa trên độ ưu tiên hoặc đặc điểm để áp dụng các chính sách lập lịch khác nhau cho từng loại.
D. Đảm bảo rằng các tiến trình I/O-bound luôn được ưu tiên hơn các tiến trình CPU-bound.
106. Điều gì sẽ xảy ra nếu lượng tử thời gian (time quantum) trong thuật toán Round Robin quá lớn?
A. Thuật toán sẽ tương đương với Shortest Job First (SJF).
B. Thuật toán sẽ tương đương với First-Come, First-Served (FCFS).
C. Thuật toán sẽ gây ra tình trạng ‘đói tài nguyên’ (starvation).
D. Hiệu suất của hệ thống sẽ được cải thiện đáng kể.
107. Trong ngữ cảnh của hệ thống tệp, ‘mount point’ là gì?
A. Một điểm trên đĩa nơi dữ liệu được lưu trữ.
B. 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.
C. Một chương trình được sử dụng để truy cập tệp.
D. Một thiết bị phần cứng được sử dụng để lưu trữ dữ liệu.
108. Tại sao việc chọn một lượng tử thời gian (time quantum) phù hợp lại quan trọng trong thuật toán Round Robin?
A. Để giảm thiểu thời gian chờ đợi trung bình.
B. Để tối ưu hóa việc sử dụng bộ nhớ.
C. Để cân bằng giữa thời gian đáp ứng và chi phí chuyển đổi ngữ cảnh.
D. Để đảm bảo tính công bằng tuyệt đối giữa các tiến trình.
109. Trong ngữ cảnh của lập lịch đa luồng (multithreading), điều gì xảy ra khi một luồng (thread) bị chặn (blocked) trong một tiến trình?
A. Toàn bộ tiến trình bị chặn.
B. Các luồng khác trong cùng tiến trình vẫn có thể tiếp tục chạy.
C. Tiến trình bị hủy bỏ.
D. Hệ điều hành chuyển sang tiến trình khác.
110. Nếu một deadlock được phát hiện, hệ điều hành có thể làm gì để phục hồi (recovery)?
A. Khởi động lại toàn bộ hệ thống.
B. Hủy bỏ một hoặc nhiều tiến trình liên quan đến deadlock.
C. Tăng dung lượng bộ nhớ.
D. Chuyển các tiến trình sang một CPU khác.
111. Ưu điểm chính của việc sử dụng luồng (threads) thay vì tiến trình (processes) là gì?
A. Luồng an toàn hơn tiến trình.
B. Luồng tiêu thụ ít tài nguyên hơn và có chi phí chuyển đổi thấp hơn so với tiến trình.
C. Luồng có thể chạy trên nhiều CPU cùng một lúc.
D. Luồng không bị ảnh hưởng bởi lỗi trong các tiến trình khác.
112. Phương pháp nào sau đây liên quan đến việc định kỳ kiểm tra hệ thống để xem có deadlock xảy ra hay không?
A. Deadlock prevention (ngăn chặn deadlock).
B. Deadlock avoidance (tránh deadlock).
C. Deadlock detection (phát hiện deadlock).
D. Deadlock ignorance (bỏ qua deadlock).
113. 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 cố định, trong khi phân đoạn chia bộ nhớ thành các khối có kích thước thay đổi.
B. Phân trang nhanh hơn phân đoạn.
C. Phân đoạn yêu cầu phần cứng hỗ trợ đặc biệt, trong khi phân trang thì không.
D. Phân trang bảo vệ bộ nhớ tốt hơn phân đoạn.
114. Trong ngữ cảnh của 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 địa chỉ bộ nhớ không hợp lệ.
B. Khi một trang (page) không có trong bộ nhớ vật lý và cần được nạp từ đĩa.
C. Khi hệ thống hết bộ nhớ ảo.
D. Khi một tiến trình cố gắng ghi vào một trang chỉ đọc.
115. Điều gì xảy ra khi một tiến trình chuyển từ trạng thái ‘chờ’ (waiting) sang trạng thái ‘sẵn sàng’ (ready)?
A. Tiến trình được cấp CPU ngay lập tức.
B. Tiến trình được chuyển đến hàng đợi ưu tiên cao nhất.
C. Tiến trình được đưa vào hàng đợi sẵn sàng và chờ được cấp CPU.
D. Tiến trình bị hủy bỏ.
116. Thuật toán lập lịch nào sau đây tối ưu hóa việc sử dụng CPU bằng cách giảm thiểu số lượng chuyển đổi ngữ cảnh?
A. Round Robin.
B. Shortest Job First (SJF).
C. First-Come, First-Served (FCFS).
D. Priority Scheduling.
117. Trong các trạng thái của tiến trình, trạng thái ‘terminated’ có nghĩa là gì?
A. Tiến trình đang chờ một sự kiện I/O hoàn thành.
B. Tiến trình đang thực thi các lệnh của nó.
C. Tiến trình đã hoàn thành việc thực thi và đã được hệ thống giải phóng tài nguyên.
D. Tiến trình đang chờ để được cấp CPU.
118. Phương pháp nào sau đây có thể được sử dụng để ngăn chặn (prevention) deadlock?
A. Cho phép các tiến trình yêu cầu tất cả các tài nguyên chúng cần trước khi bắt đầu thực thi.
B. Sử dụng thuật toán Banker’s Algorithm.
C. Phát hiện và phục hồi từ deadlock.
D. Bỏ qua vấn đề deadlock và hy vọng nó không xảy ra.
119. 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 chờ trong hàng đợi sẵn sàng.
B. Tổng thời gian một tiến trình sử dụng CPU.
C. Thời gian từ khi tiến trình được tạo ra đến khi nó hoàn thành.
D. Thời gian cần thiết để chuyển một tiến trình vào và ra khỏi CPU.
120. Điều gì xảy ra khi bạn xóa một tệp mà có một hard link trỏ đến nó?
A. Tệp và tất cả các hard link trỏ đến nó đều bị xóa.
B. Tệp bị xóa, nhưng hard link vẫn tồn tại và trỏ đến một vị trí không hợp lệ.
C. Tệp bị xóa, nhưng dữ liệu vẫn còn trên đĩa cho đến khi bị ghi đè.
D. Tệp chỉ bị xóa khi tất cả các hard link trỏ đến nó đều bị xóa.
121. Trong các thuật toán lập lịch thời gian thực (real-time scheduling), thuật toán nào đảm bảo rằng mỗi tác vụ sẽ hoàn thành trước thời hạn của nó?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Earliest Deadline First (EDF).
D. Round Robin.
122. Thuật toán lập lịch nào sau đây có thể được coi là ‘công bằng’ nhất, trong đó mỗi tiến trình nhận được một lượng thời gian CPU như nhau?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Priority Scheduling.
D. Round Robin.
123. Trong lập lịch CPU trên hệ thống đa xử lý, sự khác biệt giữa ‘symmetric multiprocessing (SMP)’ và ‘asymmetric multiprocessing’ là gì?
A. Trong SMP, chỉ có một CPU có thể thực hiện các tác vụ hệ điều hành.
B. Trong asymmetric multiprocessing, tất cả các CPU đều thực hiện các tác vụ tương tự.
C. Trong SMP, tất cả các CPU đều có thể thực hiện các tác vụ hệ điều hành, trong khi trong asymmetric multiprocessing, một CPU được chỉ định làm master và các CPU khác là slaves.
D. Asymmetric multiprocessing luôn hiệu quả hơn SMP.
124. Trong các thuật toán lập lịch CPU, thuật toán nào có thể gây ra ‘starvation’?
A. Round Robin.
B. First-Come, First-Served (FCFS).
C. Shortest Job First (SJF).
D. Priority Scheduling.
125. Thuật toán lập lịch nào sau đây có thể dẫn đến ‘convoy effect’?
A. Round Robin.
B. Shortest Job First (SJF).
C. First-Come, First-Served (FCFS).
D. Priority Scheduling.
126. Một hệ thống sử dụng Round Robin scheduling với quantum là 10ms. Nếu một tiến trình cần 35ms để hoàn thành, nó sẽ cần bao nhiêu quantum CPU?
127. Trong lập lịch CPU, sự khác biệt giữa ‘I/O-bound process’ và ‘CPU-bound process’ là gì?
A. I/O-bound process sử dụng nhiều CPU hơn CPU-bound process.
B. I/O-bound process dành nhiều thời gian chờ đợi I/O hơn là thực thi CPU, trong khi CPU-bound process thì ngược lại.
C. I/O-bound process có độ ưu tiên cao hơn CPU-bound process.
D. CPU-bound process luôn hoàn thành trước I/O-bound process.
128. Giả sử có ba tiến trình P1, P2, P3 với thời gian thực thi lần lượt là 10, 5, 8 đơn vị thời gian. Nếu sử dụng FCFS, tiến trình nào sẽ có thời gian chờ lâu nhất?
A. P1
B. P2
C. P3
D. Không thể xác định.
129. Một hệ thống sử dụng thuật toán SJF (Shortest Job First). Có 4 tiến trình đến cùng một lúc với thời gian thực thi lần lượt là 6, 8, 7, 3. Thời gian chờ trung bình là bao nhiêu?
130. Mục tiêu chính của CPU scheduling là gì?
A. Tăng kích thước bộ nhớ.
B. Giảm số lượng thiết bị ngoại vi.
C. Tối đa hóa hiệu suất CPU và đáp ứng yêu cầu của hệ thống.
D. Đơn giản hóa thiết kế hệ điều hành.
131. Một hệ thống sử dụng thuật toán lập lịch Round Robin với quantum là 20ms. Nếu một tiến trình đến và cần 60ms để hoàn thành, nó sẽ trải qua bao nhiêu context switch?
132. Đâu là ưu điểm chính của việc sử dụng multi-level queue scheduling?
A. Giảm thiểu context switching.
B. Cho phép các thuật toán lập lịch khác nhau được sử dụng cho các loại tiến trình khác nhau.
C. Đảm bảo tất cả các tiến trình đều nhận được thời gian CPU bằng nhau.
D. Loại bỏ starvation.
133. Đ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 trạng thái ‘terminated’.
B. Tiến trình yêu cầu dịch vụ từ kernel của hệ điều hành.
C. Tiến trình được cấp CPU ngay lập tức.
D. Tiến trình giải phóng tất cả các tài nguyên mà nó đang giữ.
134. Một hệ thống sử dụng thuật toán lập lịch Priority Scheduling. Các tiến trình đến với độ ưu tiên như sau: P1 (3), P2 (1), P3 (4), P4 (2). (Số nhỏ hơn = độ ưu tiên cao hơn). Tiến trình nào sẽ được thực thi đầu tiên?
135. Trong ngữ cảnh của lập lịch CPU, ‘context switch’ là gì?
A. Một lỗi phần cứng.
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 sử dụng CPU.
C. Một loại thuật toán lập lịch.
D. Việc thay đổi độ ưu tiên của một tiến trình.
136. Thế nào là ‘aging’ trong lập lịch CPU và tại sao nó được sử dụng?
A. Một kỹ thuật để giảm mức tiêu thụ năng lượng của CPU.
B. Một kỹ thuật để tăng độ ưu tiên của các tiến trình đã chờ đợi lâu để ngăn chặn starvation.
C. Một kỹ thuật để giảm kích thước của các tiến trình trong bộ nhớ.
D. Một kỹ thuật để tăng tốc độ của CPU.
137. Sự khác biệt chính giữa ‘preemptive’ và ‘non-preemptive’ scheduling là gì?
A. ‘Preemptive’ scheduling chỉ áp dụng cho các hệ thống 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 tiến trình khác, trong khi ‘non-preemptive’ thì không.
C. ‘Non-preemptive’ scheduling luôn hiệu quả hơn ‘preemptive’ scheduling.
D. ‘Preemptive’ scheduling không hỗ trợ độ ưu tiên.
138. Trong lập lịch CPU, ‘processor affinity’ là gì?
A. Khả năng của một tiến trình di chuyển giữa các CPU khác nhau.
B. Xu hướng của một tiến trình tiếp tục chạy trên cùng một CPU để tận dụng cache.
C. Việc gán độ ưu tiên cho các tiến trình dựa trên CPU mà chúng đang chạy.
D. Khả năng của một CPU tự động điều chỉnh tốc độ của nó.
139. Điều gì xảy ra khi một tiến trình ở trạng thái ‘waiting’?
A. Nó đang thực thi trên CPU.
B. Nó đang chờ một sự kiện xảy ra, chẳng hạn như hoàn thành I/O.
C. Nó đã hoàn thành thực thi.
D. Nó đang cạnh tranh để giành quyền truy cập CPU.
140. Thời gian chờ trung bình (average waiting time) là một tiêu chí quan trọng để đánh giá hiệu suất của thuật toán lập lịch CPU. Thuật toán nào sau đây thường tối ưu hóa tiêu chí này?
A. First-Come, First-Served (FCFS).
B. Priority Scheduling.
C. Shortest Job First (SJF).
D. Round Robin.
141. Trong lập lịch CPU, thuật ngữ ‘starvation’ đề cập đến điều gì?
A. Một tình trạng khi CPU quá tải.
B. Một tình trạng khi một tiến trình không bao giờ nhận được CPU vì các tiến trình khác liên tục được ưu tiên hơn.
C. Một tình trạng khi một tiến trình sử dụng quá nhiều bộ nhớ.
D. Một tình trạng khi hệ điều hành bị treo.
142. Trong lập lịch CPU, ‘context switch time’ ảnh hưởng đến hiệu suất hệ thống như thế nào?
A. Nó không ảnh hưởng đến hiệu suất.
B. Nó càng ngắn, hiệu suất càng cao.
C. Nó càng dài, hiệu suất càng cao.
D. Nó chỉ ảnh hưởng đến hiệu suất của các hệ thống thời gian thực.
143. Sự khác biệt giữa ‘hard real-time’ và ‘soft real-time’ system là gì?
A. ‘Hard real-time’ system có yêu cầu thời gian ít nghiêm ngặt hơn ‘soft real-time’ system.
B. Trong ‘hard real-time’ system, việc bỏ lỡ một thời hạn có thể gây ra hậu quả nghiêm trọng, trong khi ‘soft real-time’ system thì không.
C. ‘Soft real-time’ system luôn sử dụng preemptive scheduling.
D. ‘Hard real-time’ system không thể xử lý các tác vụ có độ ưu tiên thấp.
144. Tiến trình chuyển từ trạng thái ‘running’ sang trạng thái ‘ready’ khi nào?
A. Khi tiến trình kết thúc thực thi.
B. Khi tiến trình yêu cầu một tài nguyên đang bận.
C. Khi tiến trình bị ngắt bởi bộ lập lịch để nhường CPU cho tiến trình khác.
D. Khi tiến trình chuyển sang trạng thái ‘waiting’.
145. Trong lập lịch CPU, ‘response time’ 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 chạy trên CPU.
C. Thời gian từ khi một yêu cầu được gửi đến khi phản hồi đầu tiên được tạo ra.
D. Thời gian để hệ điều hành chuyển đổi giữa các tiến trình.
146. Trong lập lịch CPU, ‘throughput’ được định nghĩa là gì?
A. Thời gian để một tiến trình hoàn thành.
B. Số lượng tiến trình hoàn thành trong một đơn vị thời gian.
C. Thời gian một tiến trình phải chờ để được cấp CPU.
D. Lượng bộ nhớ mà một tiến trình sử dụng.
147. Một hệ thống đa xử lý sử dụng ‘load balancing’. Mục tiêu chính của load balancing là gì?
A. Giảm mức tiêu thụ năng lượng của CPU.
B. Đảm bảo rằng tất cả các CPU đều có khối lượng công việc tương đương.
C. Tăng kích thước bộ nhớ cache.
D. Giảm số lượng tiến trình đang chạy.
148. Trong lập lịch CPU, ‘aging’ thường được sử dụng để giải quyết vấn đề nào?
A. Deadlock.
B. Starvation.
C. Race condition.
D. Fragmentation.
149. Trong multi-level feedback queue scheduling, điều gì xảy ra với một tiến trình nếu nó sử dụng hết quantum thời gian của nó ở một hàng đợi?
A. Nó bị hủy bỏ.
B. Nó được chuyển đến một hàng đợi có độ ưu tiên cao hơn.
C. Nó được chuyển đến một hàng đợi có độ ưu tiên thấp hơn.
D. Nó vẫn ở trong cùng hàng đợi.
150. Trong lập lịch CPU, thuật ngữ ‘preemption’ có nghĩa là gì?
A. Một tiến trình tự nguyện nhường CPU.
B. Hệ điều hành tạm thời dừng một tiến trình đang chạy để cho phép tiến trình khác chạy.
C. Một tiến trình bị hủy bỏ do lỗi.
D. Một tiến trình yêu cầu thêm bộ nhớ.