Chapter 5 Deadlock

50 1.4K 4
Chapter 5 Deadlock

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chapter 5: Chapter 5: DEADLOCK DEADLOCK 2 Ch ng 5 : DEADLOCKươ Ch ng 5 : DEADLOCKươ N i dung:ộ N i dung:ộ  Đònh nghóa deadlock Đònh nghóa deadlock  Điều kiện để có deadlock Điều kiện để có deadlock  Các phương pháp giải quyết Các phương pháp giải quyết  Ngăn ngừa deadlock Ngăn ngừa deadlock  Tránh deadlock Tránh deadlock  Phát hiện deadlock Phát hiện deadlock  Phục hồi deadlock Phục hồi deadlock  Bài tập Bài tập 3 15KB buffer 8KB 4KB 3KB printer 10KB 8KB 7KB P1 P2 P3 spooler Tắc nghẽn trong giao thông Tắc nghẽn trong quản lý in ấn  Ví dụ Ví dụ 4 Năm nhà triết học cùng ngồi ăn tối với món spaghetti nổi tiếng. Mỗi nhà triết học dùng 2 cái nóa để có thể ăn spaghetti. Nhưng trên bàn chỉ có tổng cộng 5 cái nóa để xen kẽ với 5 cái đóa. Nếu 5 nhà triết học đều cầm 5 cái nóa bên trái cùng lúc, thì sẽ không có ai có cái nóa bên phải để có thể bắt đầu thưởng thức spaghetti. BÀI TOÁN VỀ 5 TRIẾT GIA ĂN TỐI 5  Mỗi tiến trình trong tập hợp đều chờ đợi một Mỗi tiến trình trong tập hợp đều chờ đợi một sự kiện mà chỉ có một tiến trình khác trong tập sự kiện mà chỉ có một tiến trình khác trong tập hợp mới có thể phát sinh. hợp mới có thể phát sinh.  Hay : Mỗi tiến trình trong tập hợp đều chờ Hay : Mỗi tiến trình trong tập hợp đều chờ được cấp phát tài nguyên hiện đang bò một quá được cấp phát tài nguyên hiện đang bò một quá trình khác cũng ở trạng thái blocked chiếm giữ. trình khác cũng ở trạng thái blocked chiếm giữ.  Một hệ thống bò deadlock : có tiến trình bò Một hệ thống bò deadlock : có tiến trình bò deadlock. deadlock. ĐỊNH NGHĨA ĐỊNH NGHĨA 6 V DUẽ & BAN CHAT V DUẽ & BAN CHAT DEADLOCK DEADLOCK Hai tieỏn trỡnh bũ deadlock: Hai tieỏn trỡnh bũ deadlock: Process1 Process1 P(S1); P(S1); P(S2); P(S2); Critical Critical Section; Section; V(S1); V(S1); V(S2); V(S2); Process2 Process2 P(S2); P(S2); P(S1); P(S1); Critical Critical Section; Section; V(S2); V(S2); V(S1); V(S1); Process1 R1 Process2 R2 Daùng deadlock: 7 DEADLOCK VÀ TRÌ HOÃN DEADLOCK VÀ TRÌ HOÃN VÔ HẠN ĐỊNH VÔ HẠN ĐỊNH  Deadlock Deadlock  Đợi sự kiện Đợi sự kiện không bao giờ xảy ra không bao giờ xảy ra  Nguyên nhân ? Nguyên nhân ?  Trì hoãn vô hạn đònh Trì hoãn vô hạn đònh ( ( Indefinite postponement Indefinite postponement ) )  Đợi sự kiện Đợi sự kiện có thể xảy ra có thể xảy ra nhưng không xác đònh thời điểm nhưng không xác đònh thời điểm  Biểu hiện như deadlock Biểu hiện như deadlock  Nguyên nhân ? Nguyên nhân ?  Deadlock có khác vòng lặp vô hạn ? Deadlock có khác vòng lặp vô hạn ? 8 ĐIỀU KIỆN XẢY RA ĐIỀU KIỆN XẢY RA DEADLOCK DEADLOCK 1. 1. Có sử dụng tài nguyên không thể chia sẻ Có sử dụng tài nguyên không thể chia sẻ ( ( mutual exclusion) mutual exclusion) 2. 2. Sự chiếm giữ và yêu cầu thêm tài nguyên Sự chiếm giữ và yêu cầu thêm tài nguyên ( ( wait for wait for ) ) 3. 3. Không thu hồi tài nguyên từ tiến trình đang Không thu hồi tài nguyên từ tiến trình đang giữ chúng ( giữ chúng ( no-preemption no-preemption ) ) 4. 4. Tồn tại một chu trình trong đồ thò cấp phát Tồn tại một chu trình trong đồ thò cấp phát tài nguyên ( tài nguyên ( circular-wait) circular-wait) 9 ĐỒ THỊ CẤP PHÁT TÀI NGUYÊN ĐỒ THỊ CẤP PHÁT TÀI NGUYÊN ( ( Resource Allocation Graph) Resource Allocation Graph)  Process: Process:  Loại tài nguyên với 4 thực thể: Loại tài nguyên với 4 thực thể:  P P i i yêu cầu một thực thể của yêu cầu một thực thể của R R j j : :  P P i i đang giữ một thực thể của đang giữ một thực thể của R R j j : : P i P i P i R j R j R j Ký hiệu Ký hiệu 10 Ví duï veà RAG Ví duï veà RAG R 1 R 3 P 1 P 2 P 3 R 2 R 4 [...]... xảy ra tắc nghẽn GIẢI QUYẾT DEADLOCK  Ngăn ngừa deadlock (deadlock prevention)    Qui đònh cấp, dùng tài nguyên nghiêm ngặt Không cho các điều kiện deadlock xảy ra Tránh deadlock (deadlock avoidance)  Vẫn cho các điều kiện deadlock tồn tại  Cấp tài nguyên hợp lý, an toàn Phát hiện deadlock (deadlock detection)  Phục hồi deadlock (deadlock recovery)  NGĂN NGỪA DEADLOCK Cấm điều kiện tài nguyên... R1 P1 P3 P2 Deadlock xảy ra! R2 R4 RAG và deadlock  Ví dụ một RAG chứa chu trình nhưng không xảy ra deadlock: P4 có thể trả lại instance của R2 R1 P1 P2 R2 P3 P4 RAG và deadlock (tt)   RAG không chứa chu trình (cycle) ⇒ không có deadlock RAG chứa một (hay nhiều) chu trình  Nếu mỗi loại tài nguyên chỉ có một thực thể ⇒ deadlock  Nếu mỗi loại tài nguyên có nhiều thực thể ⇒ có thể xảy ra deadlock ĐỒ... phát này không dẫn đến tình trạng unsafe thì sẽ cấp phát ngay Trạng thái safe/unsafe và deadlock ang ở trạng thái safe ⇒ không  Nếu hệ thống   deadlock Nếu hệ thống đang ở trạng thái unsafe ⇒ có thể dẫn đến deadlock Tránh deadlock bằng cách bảo đảm hệ thống không đi đến trạng thái unsafe deadlock unsafe safe TRÁNH DEADLOCK Giải thuật banker  Áp dụng cho hệ thống cấp phát tài nguyên trong đó mỗi loại...  có thể deadlock Hệ thống phải cấp phát tài nguyên sao cho không rơi vào trạng thái Unsafe VÍ DỤ  Trạng thái sau là an toàn Tại sao ? Đang mượn Cần tối đa Cần thêm P1 1 4 3 P2 4 6 2 P3 5 8 3 Vốn 12 , còn lại 2 VÍ DỤ  Trạng thái sau là không an toàn Tại sao ? Đang mượn Cần tối đa Cần thêm P1 8 10 2 P2 2 5 3 P3 1 3 2 Vốân 12 , còn lại 1 Giải thuật kiểm tra trạng thái an toàn – Ví dụ  Có 5 process... NGĂN NGỪA DEADLOCK Cấm điều kiện không thu hồi tài nguyên (no-preemption)    Nếu yêu cầu tài nguyên không được, tiến trình phải giải phóng tất cả tài nguyên đang giữ và yêu cầu lại (?) Loại bỏ một chu kỳ (circular-wait)  Sắp xếp tài nguyên theo trật tự và chung cấp cho tiến trình theo đúng trật tự đó  NGĂN NGỪA DEADLOCK (Havender) Ví dụ Tiến trình Yêu cầu P1 thực tế R6, R4, R1 P2 R2, R5, R4 P3... chung cấp cho tiến trình theo đúng trật tự đó  NGĂN NGỪA DEADLOCK (Havender) Ví dụ Tiến trình Yêu cầu P1 thực tế R6, R4, R1 P2 R2, R5, R4 P3 R3, R7, R1 P3 P1 P2  R1 R2 R3 R4 R5 R6 Nhận xét về p/p ngăn ngừa deadlock R7 TRÁNH DEADLOCK Một số khái niệm cơ sở Trạng thái an toàn  Một chuỗi cấp phát an toàn  Chiến lược cấp phát  Giải thuật xác đònh trạng thái an toàn  Giải thuật yêu cầu tài nguyên ... 2 Vốân 12 , còn lại 1 Giải thuật kiểm tra trạng thái an toàn – Ví dụ  Có 5 process P ,…, P Có 5 process P0 ,…, P4  Có 3 loại tài nguyên: A (có 10 instance), B (5 instance) và C (7 instance)  Sơ đồ cấp phát trong hệ thống tại thời điểm T0 Allocation Max Available Need A B C A B C A B C A B C P0 0 1 0 7 5 3 P1 2 0 0 3 2 2 1 2 2 P2 3 0 2 9 0 2 6 0 0 P3 2 1 1 2 2 2 0 1 1 P4 0 0 2 4 3 3 4 3 1 3 3 2 7... 3 3 4 3 1 3 3 2 7 4 3      GT kiểm tra trạng thái an toàn – Vd (tt) Chuỗi an toàn Allocation Need Work ABC ABC A B C P0 010 743 3 3 2 P1 200 122 5 3 2 P2 302 600 P3 211 011 P4 002 431 7 4 3 7 4 5 10 4 7 10 5 7   GT cấp phát tài nguyên – Ví dụ Yêu cầu (1, 0, 2) của P1 có thỏa được không? Kiểm tra điều kiện Request1 ≤ Available:  (1, 0, 2) ≤ (3, 3, 2) là đúng Giả đònh thỏa... instance  Bắt chước nghiệp vụ ngân hàng (banking) TRÁNH DEADLOCK  Giải thuật nhà băng (Banker’s Algorithm) Hệ điều hành = nhà Băng  Tiến trình = khách hàng  Tài nguyên = vốn vay   Ràng buộc Yêu cầu vay cực đại ≤ vốn nhà băng  Khách không trả vốn nếu vay chưa đủ yêu cầu cực đại  Khi vay đủ, khách phải trả đủ vốn sau thời gian hữu hạn  TRÁNH DEADLOCK  Trạng thái nhà băng    An toàn (Safe): thỏa... tape drives và 3 quá trình P0, P1, P2  Tại thời điểm t0 cần tối đa đang giữ P0 10 5 P1 4 2 P2 9 2  Còn 3 tape drive sẵn sàng  Chuỗi là chuỗi an toàn ⇒ hệ thống là an toàn Chuỗi an toàn (tt)  Giả sử tại thời điểm t1, P2 yêu cầu và được cấp phát 1 tape drive  còn 2 tape drive sẵn sàng cần tối đa P0 10 5 P1 4 2 P2 • đang giữ 9 3 Hệ thống trở nên không an toàn  Khi một process yêu cầu

Ngày đăng: 12/05/2014, 23:17

Mục lục

  • VÍ DỤ & BẢN CHẤT DEADLOCK

  • DEADLOCK VÀ TRÌ HOÃN VÔ HẠN ĐỊNH

  • ĐIỀU KIỆN XẢY RA DEADLOCK

  • ĐỒ THỊ CẤP PHÁT TÀI NGUYÊN (Resource Allocation Graph)

  • Ví dụ về RAG

  • Ví dụ về RAG (tt)

  • RAG và deadlock (tt)

  • CÁC PHƯƠNG PHÁP XỬ LÝ DEADLOK

  • NGĂN NGỪA DEADLOCK (Havender)

  • Trạng thái safe và unsafe

  • Chuỗi an toàn (tt)

  • Trạng thái safe/unsafe và deadlock

  • TRÁNH DEADLOCK Giải thuật banker

  • Giải thuật kiểm tra trạng thái an toàn – Ví dụ

  • GT kiểm tra trạng thái an toàn – Vd (tt)

  • GT cấp phát tài nguyên – Ví dụ

  • GT cấp phát tài nguyên – Ví dụ (tt)

  • VÍ DỤ 1 : GIẢN ƯỚC

  • BÀI TẬP : GIẢN ƯỚC

  • Chuỗi cấp phát an toàn <P1,P3,P2,P4>

Tài liệu cùng người dùng

Tài liệu liên quan