Bộ đề 1

Câu 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?

Câu 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ì?

Câu 3

Trong ngữ cảnh scheduling, 'context switch' là gì?

Câu 4

Phân tích sự khác biệt giữa 'binary semaphore' và 'counting semaphore'.

Câu 5

Mutex và semaphore khác nhau chủ yếu ở điểm nào?

Câu 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ì?

Câu 7

So sánh ưu và nhược điểm của preemptive scheduling và non-preemptive scheduling.

Câu 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?

Câu 9

Deadlock xảy ra khi nào?

Câu 10

Mục đích của cơ chế 'signal' và 'wait' trong semaphore là gì?

Câu 11

Mục đích chính của việc sử dụng thread là gì?

Câu 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?

Câu 13

Thuật toán scheduling nào có thể gây ra 'starvation'?

Câu 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ì?

Câu 15

Trong ngữ cảnh đồng bộ hóa tiến trình, spinlock là gì?

Câu 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?

Câu 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?

Câu 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?

Câu 19

Trong bài toán 'Dining Philosophers', mục đích chính của việc giải quyết là gì?

Câu 20

Trong Round Robin scheduling, 'quantum' đại diện cho điều gì?

Câu 21

Trong ngữ cảnh của concurrency, 'atomic operation' là gì?

Câu 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?

Câu 23

Trong các phương pháp giải quyết deadlock, 'resource ordering' thuộc nhóm nào?

Câu 24

Sự khác biệt chính giữa 'user-level threads' và 'kernel-level threads' là gì?

Câu 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?

Câu 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?

Câu 27

Ưu điểm của việc sử dụng 'thread pool' là gì?

Câu 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?

Câu 29

Sự khác biệt chính giữa 'preemptive' và 'non-preemptive' scheduling là gì?

Câu 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?