Chương Chương 6: Deadlocks 6: Deadlocks 7.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 14, 2005 N N Ộ Ộ I DUNG I DUNG Vấn Deadlock Mô hình hệ thống Đặctrưng Deadlock Các phương pháp quản lý Deadlocks Phòng ngừa Deadlock Tránh Deadlock Phát hiện Deadlock Phụchồitừ Deadlock 7.3 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 14, 2005 M M Ụ Ụ C TIÊU C TIÊU Phát triểnmộtmôtả deadlocks, hiệntượng ngăncản tập các giao dịch cạnh tranh hoàn tất nhiệmvụ của chúng Giớithiệumộtsố phương pháp khác nhau để ngăn ngừa, tránh deadlocks trong hệ thống máy tính. Giớithiệuphương pháp phát hiệnvàphụchồitừ deadlocks 7.4 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 14, 2005 V V Ấ Ấ N Đ N Đ Ề Ề Deadlock Deadlock Mộttập các quá trình bị nghẽn, mỗimộtchiếmgiữ mộttài nguyên và chờđợitậu tài nguyên bị chiếmgiữ bởi quá trình khác trong tậphợp. VD. z Hệ thống có hai ổđĩa. z P 1 và P 2 mỗimộtchiếmgiữ một ổđĩavàmỗimộtcần ổđĩa kia. VD. z semaphores A và B, đượckhởi động là 1 P 0 P 1 wait (A); wait(B) wait (B); wait(A) 7.5 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 14, 2005 V V Í Í D D Ụ Ụ QUA C QUA C Ầ Ầ U U Lưu thông chỉ theo mộtchiều. Mỗiphầncủacầu được xem như một tài nguyên. Nếu deadlock xảyranósẽ đượcgiảiquyếtnếumộtxelùi lại(trưng các tài nguyên và cuộnlại). Một vài xe có thể bị lùi lại khi deadlock xảyra. Có thể xảyra“sự chết đói”. 7.6 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 14, 2005 MÔ HÌNH H MÔ HÌNH H Ệ Ệ TH TH Ố Ố NG NG Các kiểu tài nguyên: R 1 , R 2 , . . ., R m Các chu kỳ CPU, không gian bộ nhớ, các thiếtbị I/O Mỗi tài nguyên kiểu R i có W i thể hiện. Mỗi quá trình sử dụng một tài nguyên như sau: z Yêu cầu tài nguyên z Sử dụng tài nguyên z Giải phóng tài nguyên 7.7 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 14, 2005 Đ Đ Ặ Ặ C TRƯNG DEADLOCK C TRƯNG DEADLOCK Loạitrừ tương hỗ (Mutual exclusion): chỉ một quá trình sử dụng một tài nguyên tạimộtthời điểm. Giữ và chờ (Hold and wait): một quá trình chiếmgiữ ít nhấtmột tài nguyên và chờ tậu các tài nguyên bổ xung bị chiếmgiữ bởi các quá trình khác. Không có trưng dụng: một tài nguyên chỉ có thểđượcgiải phóng bởisự tình nguyệncủa quá trình chiếmgiữ nó (sau khi quá trình đã hoàn thành nhiệmvụ củanó). Chờđợi vòng tròn: Tồntạimộttập{P 0 , P 1 , …, P 0 } các quá trình chờđợi sao cho P 0 chờ một tài nguyên bị chiếmgiữ bởi P 1 , P 1 chờ một tài nguyên bị chiếmgiữ bởi P 2 , …, P n–1 chờ một tài nguyên bị chiếmgiữ bởi P n , và P n chờ mộttài nguyên bị chiếmgiữ bởi P 0 . Điềukiệncần để deadlock xảyra: 7.8 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 14, 2005 Đ Đ Ồ Ồ TH TH Ị Ị C C Ấ Ấ P PH P PH Á Á T T T T À À I NGUYÊN I NGUYÊN V được phân hoạch thành hai kiểu: z P = {P 1 , P 2 , …, P n }, gồmtấtcả các quá trình trong hệ thống. z R = {R 1 , R 2 , …, R m }, gồmtấtcả các kiểu tài nguyên trong hệ thống. Cung yêu cầu – cung hướng từ P i đếnR j : P i → R j Cung gán – hướng từ R j đếnP i : R j → P i Mộttậpcácđỉnh V và mộttập các cung E. 7.9 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 14, 2005 Đ Đ Ồ Ồ TH TH Ị Ị C C Ấ Ấ P PH P PH Á Á T T T T À À I NGUYÊN (Cont.) I NGUYÊN (Cont.) Quá trình Kiều tài nguyên với 4 thể hiện P i yêu cầuthể hiệncủa R j P i đang chiếmgiữ mộtthể hiệncủakiểu tài nguyên R j P i P i R j R j 7.10 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 14, 2005 V V Í Í D D Ụ Ụ Đ Đ Ồ Ồ TH TH Ị Ị C C Ấ Ấ P PH P PH Á Á T T T T À À I NGUYÊN I NGUYÊN [...]... Operating System Concepts - 7th Edition, Feb 14, 2005 7.13 Silberschatz, Galvin and Gagne ©2005 CÁC PHƯƠNG PHÁP QUẢN LÝ DEADLOCKS Đảm bảo hệ thống không bao giờ rơi vào trạng thái deadlock Cho phép hệ thống rơi vào trạng thái deadlock sau đó phát hiện và phục hồi Bỏ lơ vấn đề và xem như deadlocks không bao giờ xảy ra (được sử dụng trong hầu hết các HĐH kể cả UNIX) Operating System Concepts - 7th Edition,... được các tài nguyên cần thiết và cứ như vậy Operating System Concepts - 7th Edition, Feb 14, 2005 7.18 Silberschatz, Galvin and Gagne ©2005 SỰ KIỆN CƠ SỞ Nếu hệ thống trong trạng thái an toàn ⇒ không có deadlocks Nếu hệ thống không trong trạng thái an toàn ⇒ có thể có deadlock Tránh ⇒ đảm bảo hệ thống không bao giờ rơi vào trạng thái không an toàn Operating System Concepts - 7th Edition, Feb 14, 2005... thể cấp theo yêu cầu của P0 Yêu cầu (3,3,0) bởi P4 được cấp? Yêu cầu (0,2,0) bời P0 được cấp? Operating System Concepts - 7th Edition, Feb 14, 2005 7.32 Silberschatz, Galvin and Gagne ©2005 PHÁT HIỆN DEADLOCKS Cho phép hệ thống rơi vào trạng thái deadlock Thuật toán phát hiện deadlock Sơ đồ phục hồi Operating System Concepts - 7th Edition, Feb 14, 2005 7.33 Silberschatz, Galvin and Gagne ©2005 MỖI . Chương Chương 6: Deadlocks 6: Deadlocks 7.2 Silberschatz, Galvin and Gagne ©2005 Operating. triểnmộtmôtả deadlocks, hiệntượng ngăncản tập các giao dịch cạnh tranh hoàn tất nhiệmvụ của chúng Giớithiệumộtsố phương pháp khác nhau để ngăn ngừa, tránh deadlocks