Trắc nghiệm: Deadlock và starvation
Hai hiện tượng rất hay bị nhầm lẫn: deadlock là chờ một sự kiện không bao giờ xảy ra, starvation là chờ một sự kiện có xảy ra nhưng không bao giờ tới lượt mình.
Các câu về chuỗi an toàn dựa trên Giải thuật Banker; còn nguồn gốc deadlock từ semaphore thì nằm ở trắc nghiệm đồng bộ tiến trình.
Ngăn deadlock = phá một trong bốn điều kiện Coffman (mutual exclusion, hold and wait, no preemption, circular wait). Nhưng phá xong vẫn có thể starvation — đó là hai bài toán khác nhau.
Điều kiện đủ để chắc chắn không deadlock với tài nguyên cùng loại: tổng (Si − 1) < m, tương đương m ≥ tổng Si − n + 1.
Chọn đáp án là biết đúng/sai ngay, bấm “Chi tiết” để xem giải thích.
- Câu 1DeadlockCuối kỳ HĐH – SPKT
Một tiến trình đang đợi một sự kiện sẽ không bao giờ xảy ra gọi là hiện tượng gì?
- Câu 2StarvationCuối kỳ HĐH – SPKT
Một tiến trình bị trì hoãn một khoảng thời gian dài lặp đi lặp lại trong khi hệ thống đáp ứng cho những tiến trình khác gọi là hiện tượng gì?
- Câu 3Ngăn deadlockCuối kỳ HĐH – SPKT
Hệ điều hành thực hiện một chính sách yêu cầu một quá trình giải phóng tất cả các tài nguyên trước khi đưa ra yêu cầu cho một tài nguyên khác. Chọn câu đúng:
- Câu 4Ngăn deadlockCuối kỳ HĐH – SPKT
Hệ thống có m tài nguyên cùng loại, chia sẻ bởi 3 tiến trình P1, P2, P3 với nhu cầu cao nhất lần lượt là 2, 5 và 7. Đối với giá trị nào của m thì deadlock sẽ không xảy ra?
- Câu 5Điều kiện an toànCuối kỳ HĐH – SPKT
n tiến trình P1…Pn chia sẻ m đơn vị tài nguyên giống hệt nhau, cấp phát và giải phóng từng đơn vị một. Nhu cầu tối đa của Pi là Si (Si > 0). Điều kiện nào là điều kiện đủ để đảm bảo deadlock không xảy ra?
- (a) với mọi i, Si < m
- (b) với mọi i, Si < n
- (c) tổng (Si − 1) < m
- (d) tổng Si < (m × n)
- Câu 6BankerCuối kỳ HĐH – SPKT
Hệ thống chia sẻ 11 tape drives. Phân bổ hiện tại và nhu cầu tối đa của 4 tiến trình như bảng dưới. Điều nào mô tả đúng nhất trạng thái hiện tại của hệ thống?
Process Maximum need Current allocation P1 9 3 P2 6 1 P3 5 3 P4 10 0
- Câu 7Tránh deadlockCuối kỳ HĐH – SPKT
Đối với loại tài nguyên có nhiều instance, thuật toán được sử dụng để tránh deadlock là …
- Câu 8Tránh deadlockCuối kỳ HĐH – SPKT
Đối với loại tài nguyên có single instance, thuật toán được sử dụng để tránh deadlock là _____
- Câu 9Điều kiện an toànCuối kỳ HĐH – SPKT
Một hệ thống có 3 tiến trình chia sẻ 4 tài nguyên. Nếu mỗi tiến trình cần tối đa 2 đơn vị tài nguyên, thì _____
- Câu 10Điều kiện CoffmanCuối kỳ HĐH – SPKT
Điều gì là cần thiết để đảm bảo tính nhất quán của kết quả và tính toàn vẹn của dữ liệu?
- Câu 11Điều kiện CoffmanCuối kỳ HĐH – SPKT
Một tài nguyên không thể bị lấy khỏi một tiến trình trừ khi tiến trình đó tự giải phóng — điều này liên quan đến điều kiện nào trong việc ngăn deadlock?
- Câu 12Chiến lược deadlockCuối kỳ HĐH – SPKT
Thực hiện vô hiệu hoá (ngăn) 1 trong số các điều kiện Mutual exclusion, Hold and Wait, No Preemption và Circular Wait liên quan đến thuật toán gì về deadlock?
- Câu 13Ngăn deadlockCuối kỳ HĐH – SPKT
Khi yêu cầu tài nguyên, tiến trình không được giữ tài nguyên nào, nếu đang có thì phải trả lại trước khi yêu cầu thêm. Điều này giải quyết được điều kiện nào trong việc ngăn deadlock?
- Câu 14Ngăn deadlockCuối kỳ HĐH – SPKT
Một tiến trình yêu cầu toàn bộ tài nguyên cần thiết một lần; đủ thì hệ thống cấp phát, không đủ thì tiến trình bị blocked. Điều này giải quyết được điều kiện nào trong việc ngăn deadlock?
- Câu 15Trạng thái hệ thốngCuối kỳ HĐH – SPKT
Trạng thái phân bố tài nguyên không xác định bởi yếu tố nào sau đây?
- Câu 16Điều kiện an toànCuối kỳ HĐH – SPKT
Một hệ điều hành có 3 tiến trình người dùng, mỗi tiến trình yêu cầu 4 đơn vị tài nguyên R. Số lượng đơn vị R tối thiểu để không deadlock nào xảy ra là:
- Câu 17Điều kiện an toànCuối kỳ HĐH – SPKT
Một máy tính có 6 tape drives, có n tiến trình cạnh tranh sử dụng. Mỗi tiến trình có thể cần 2 tape drives. Giá trị lớn nhất của n để hệ thống không bị deadlock là bao nhiêu?
- Câu 18BankerCuối kỳ HĐH – SPKT
Hệ thống có ba loại tài nguyên E, F, G và bốn tiến trình P0–P3 chạy đồng thời. Tài nguyên còn rảnh là E(3), F(3), G(0). Phát biểu nào đúng về trạng thái này?
Allocation Max E F G E F G P0 1 0 1 4 3 1 P1 1 1 2 2 1 4 P2 1 0 3 1 3 3 P3 2 0 0 5 4 1 - Câu 19Chiến lược deadlockCuối kỳ HĐH – SPKT
Điều nào sau đây không đúng đối với các kế hoạch ngăn chặn deadlock (prevention) và tránh deadlock (avoidance)?
- Câu 20Điều kiện an toànCuối kỳ HĐH – SPKT
Bốn tiến trình P1, P2, P3, P4 đang chạy, nhu cầu tối đa cho tài nguyên cùng loại tương ứng là 7, 6, 4 và 3. Số lượng tài nguyên tối thiểu cần thiết để đảm bảo không bao giờ xảy ra deadlock là bao nhiêu?
- Câu 21BankerCuối kỳ HĐH – SPKT
Có tổng cộng 9 đơn vị của một loại tài nguyên, trạng thái hiện tại như bảng dưới. Trình tự nào sau đây là một chuỗi an toàn?
Process Used Max P1 2 7 P2 1 6 P3 2 5 P4 1 4
- Câu 22BankerCuối kỳ HĐH – SPKT
Hệ thống có bốn tiến trình và 5 loại tài nguyên. Phân bổ hiện tại, nhu cầu tối đa và tài nguyên rảnh như bảng dưới. Giá trị nhỏ nhất của x để hệ thống ở trạng thái an toàn là bao nhiêu?
Allocated Maximum Available Process A 1 0 2 1 1 1 1 2 1 3 0 0 x 1 1 Process B 2 0 1 1 0 2 2 2 1 0 Process C 1 1 0 1 0 2 1 3 1 0 Process D 1 1 1 1 0 1 1 2 2 1
- Câu 23Đồ thị cấp phátCuối kỳ HĐH – SPKT
Cho đồ thị cấp phát tài nguyên của một hệ thống như hình dưới:
- R1 có 2 instance, cấp cho T2 và T3
- R2 có 2 instance, cấp cho T1 và T4
- T1 yêu cầu R1
- T3 yêu cầu R2
Phát biểu nào đúng?
- Câu 24Đồ thị cấp phátCuối kỳ HĐH – SPKT
Cho đồ thị cấp phát tài nguyên của một hệ thống như hình dưới:
- R1 có 1 instance, cấp cho T2
- R2 có 1 instance, cấp cho T1
- R3 có 1 instance, cấp cho T3
- T1 yêu cầu R1, T2 yêu cầu R2, T3 yêu cầu R2
Phát biểu nào đúng?
- Câu 25Điều kiện an toànCuối kỳ HĐH – SPKT
Hệ thống có m tài nguyên cùng loại chia sẻ bởi n thread, mỗi thread chỉ yêu cầu hoặc giải phóng một tài nguyên tại một thời điểm. Điều kiện nào là điều kiện đủ để deadlock không xảy ra?
- (1) Nhu cầu tối đa của mỗi luồng là d, với 1 < d < m
- (2) Tổng của tất cả các nhu cầu tối đa nhỏ hơn m + n
- (3) Tổng của tất cả các nhu cầu tối đa nhỏ hơn m + 1
- Câu 26DeadlockCuối kỳ HĐH – SPKT
P1, P2 thực hiện đồng thời đoạn code dưới đây dẫn đến hiện tượng gì?
P1: P2: wait(s1); wait(s2); wait(s2); wait(s1);
- Câu 27Phát hiện deadlockCuối kỳ HĐH – SPKT
Đồ thị Wait-for là gì?
- Câu 28BankerCuối kỳ HĐH – SPKT
Hệ điều hành có 13 tape drives và ba tiến trình P1, P2, P3. Nhu cầu tối đa lần lượt là 11, 5, 8; hiện đang được cấp 6, 3, 2. Trình tự nào thể hiện trạng thái an toàn?
Process Max Allocation Need P1 11 6 5 P2 5 3 2 P3 8 2 6
- Câu 29DeadlockCuối kỳ HĐH – SPKT
Một tập tiến trình bị deadlock nếu _____
- Câu 30DeadlockCuối kỳ HĐH – SPKT
Cấu trúc miền găng của P1 và P2 như dưới đây, semaphore A và B đều khởi đầu bằng 1. Có thể xảy ra Deadlock hay không?
P1 P2 Wait(A); Wait(B); ... ... Wait(B); Wait(A); ... ...
- Câu 31Đồ thị cấp phátCuối kỳ HĐH – SPKT
Đồ thị cấp phát tài nguyên (RAG) sau có thể có Deadlock hay không?
- R1 có 2 instance, đang cấp cho P2 và P3
- R2 có 2 instance, đang cấp cho P1 và P4
- P1 yêu cầu R1
- P3 yêu cầu R2
- Câu 32Đồ thị cấp phátCuối kỳ HĐH – SPKT
Đồ thị cấp phát tài nguyên (RAG) sau có thể có Deadlock hay không?
- R1, R2, R3 mỗi loại có 1 instance; R4 có 3 instance và không liên quan tới ai
- R1 cấp cho P2, R3 cấp cho P3, R2 cấp cho P1
- P1 yêu cầu R1, P2 yêu cầu R3, P3 yêu cầu R2
- Câu 33BankerCuối kỳ HĐH – SPKT
Cho bảng dữ liệu của giải thuật Banker (cột Request là nhu cầu tối đa). Chuỗi cấp phát tài nguyên an toàn cho các tiến trình là:
Allocation Request(Max) Available R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 P1 1 1 1 1 3 2 2 3 1 1 2 1 P2 1 1 0 1 2 2 2 2 P3 0 0 0 1 2 1 1 3 P4 1 2 1 1 2 4 4 3 - Câu 34BankerCuối kỳ HĐH – SPKT
Với bảng dữ liệu Banker bên dưới, tổng tài nguyên ban đầu của hệ thống cho R1, R2, R3, R4 là bao nhiêu?
Allocation Request(Max) Available R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 P1 1 1 1 1 3 2 2 3 1 1 2 1 P2 1 1 0 1 2 2 2 2 P3 0 0 0 1 2 1 1 3 P4 1 2 1 1 2 4 4 3