LÝ THUYẾT HỆ ĐIỀU HÀNH - CHƯƠNG 5 doc

17 580 1
LÝ THUYẾT HỆ ĐIỀU HÀNH - CHƯƠNG 5 doc

Đ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

Chương DEADLOCK Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -1- CHƯƠNG : DEADLOCK Định nghĩa deadlock  Điều kiện để có deadlock  Các phương pháp giải  – – – –  Chống deadlock Tránh deadlock Phát deadlock Phục hồi deadlock Bài tập Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -2- ĐỊNH NGHĨA   Quá trình deadlock : đợi kiện không xảy Một hệ thống bị deadlock : có q trình bị deadlock P1 10KB 8KB 8KB P2 P3 4KB spooler 3KB 7KB 15KB buffer Tắc nghẽn giao thơng Bài giảng môn hệ điều hành HCM printer Tắc nghẽn quản lý in ấn Vũ Lê Hùng Khoa CNTT – ĐHBK TP -3- VÍ DỤ & BẢN CHẤT DEADLOCK Hai q trình bị deadlock: Process1 P(S1); P(S2); Process2 P(S2); P(S1); Critical Section; Critical Section; V(S1); V(S2); V(S2); V(S1); Bài giảng môn hệ điều hành HCM Dạng deadlock: R1 R2 Process1 Process2 Vũ Lê Hùng Khoa CNTT – ĐHBK TP -4- DEADLOCK VÀ TRÌ HỖN VƠ HẠN ĐỊNH  Deadlock – –  Trì hỗn vơ hạn định (Indefinite postponement) – – –  Đợi kiện không xảy Nguyên nhân ? Đợi kiện xảy không xác định thời điểm Biểu deadlock Nguyên nhân ? Deadlock có khác vịng lặp vơ hạn ? Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ÑHBK TP -5- ĐIỀU KIỆN XẢY RA DEADLOCK Điều kiện mutual exclusion: trình cần thực loại trừ tương hỗ vùng tranh chấp Điều kiện hold & wait: trình giữ tài nguyên yêu cầu thêm tài nguyên khác Điều kiện no-preemption: tài nguyên giải phóng trình dùng xong Điều kiện circular-wait: q trình giữ đợi tài ngun tạo thành vịng luẩn quẩn Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -6- 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 điều kiện deadlock xảy Tránh deadlock (deadlock avoidance) – – Vẫn cho điều kiện deadlock tồn Cấp tài nguyên hợp lý, an toàn Phát deadlock (deadlock detection)  Phục hồi deadlock (deadlock recovery)  Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ÑHBK TP -7- NGĂN NGỪA DEADLOCK (Havender) Cấm điều kiện multual-exclusion ?  Cấm điều kiện hold & wait  – –  Cấm điều kiện no-preemption –  Quá trình yêu cầu tất tài nguyên lần Chỉ xử lý đủ tất tài nguyên cầøn thiết Nếu yêu cầu tài nguyên khơng được, q trình phải giải phóng tất tài nguyên giữ yêu cầu lại (?) Loại bỏ circular-wait – Sắp xếp tài nguyên theo trật tự chung cấp cho q trình theo trật tự Chứng minh ? Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -8- NGĂN NGỪA DEADLOCK (Havender)  Ví dụ Q trình u cầu thực tế P1 R6, R4, R1 P2 R2, R5, R4 P3 R3, R7, R1 P3 P1 R1 R2 R3 R4 R5 P2  R6 R7 Nhận xét p/p ngăn ngừa deadlock Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -9- TRÁNH DEADLOCK  Giải thuật nhà băng (Banker’s Algorithm) – – –  Ràng buộc – – –  Yêu cầu vay cực đại  vốn nhà băng Khách không trả vốn 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ạng thái nhà băng – –  Hệ điều hành ~ nhà Băng Quá trình ~ khách hàng Tài nguyên ~ vốn vay An toàn (Safe): thỏa yêu cầu khách, ngân hàng thu vốn đủ Khơng an tồn ( Unsafe) : ngược lại  deadlock Hệ thống phải cấp phát tài nguyên cho không rơi vào trạng thái Unsafe Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -10- VÍ DỤ  Trạng thái sau an tồn Tại ? Đang mượn Cần tối đa Cần thêm P1 P2 P3 Vơn 12 , cịn lại  Trạng thái sau khơng an tồn Tại ? Đang mượn Cần tối đa Cần thêm P1 10 P2 P3 Vôn 12 , cịn lại Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -11- PHÁT HIỆN DEADLOCK   Ghi nhận, theo dõi yêu cầu, cấp phát tài nguyên cho trình Dùng đồ thị RAG (Resource Allocation Graph) P1 yêu cầu n tài nguyên loại R1 n Quá trình Tài nguyên R1 P1 P2 giữ tài nguyên loại R2 P2 R2 Tài ngun Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -12- PHÁT HIỆN DEADLOCK  Giản lược RAG Tài nguyên rảnh  cấp cho trình yêu cầu Quá trình đủ tài nguyên  xoá cạnh vào, xoá qtrình Lặp lại với trình khác đến tối giản  Khi giải thuật dừng – –  RAG khơng cịn cạnh: khơng có deadlock RAG có chu trình (cycle): deadlock Nhận xét – Phí tổn lớn Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -13- VÍ DỤ : GIẢN ƯỚC RAG P2 P3 R3 R1 P4 P1 P2 P3 R3 Bài giảng môn hệ điều hành HCM R3 P4 P1 P4 R2 P3 R1 R2 R1 P1 P2 P2 R2 P3 R1 R3 P4 P1 R2 Vuõ Lê Hùng Khoa CNTT – ĐHBK TP -14- BÀI TẬP : GIẢN ƯỚC RAG R1 P2 P1 R5 R6 R2 P4 P3 Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -15- PHỤC HỒÀI DEADLOCK  Đi kèm với p.p phát deadlock  Thực – – – – Chọn lựa trình để thu hồi tài nguyên Treo (suspend) trình Thu hồi tài nguyên (preemptive) Phục hồi (resume) trình cịn lại  Khó giải trọn vẹn Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ÑHBK TP -16- BÀI TẬP Hệ thống tốn 10% thời gian cho ứng dụng để ngăn ngừa deadlock Hệ thống không ngăn ngừa nên cần 10% thời gian ứng dụng để phục hồi ứng dụng bị deadlock So sánh phí tổn hệ thống Tìm trạng thái hệ thống sau Đã mượn Khách Nhu cầu tối đa A B C A B C P1 1 P2 1 1 P3 0 1 P4 Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -17- ... hạn ? Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -5 - ĐIỀU KIỆN XẢY RA DEADLOCK Điều kiện mutual exclusion: trình cần thực loại trừ tương hỗ vùng tranh chấp Điều kiện hold & wait:... P1 R2 Vũ Lê Hùng Khoa CNTT – ĐHBK TP -1 4- BÀI TẬP : GIẢN ƯỚC RAG R1 P2 P1 R5 R6 R2 P4 P3 Bài giảng môn hệ điều hành HCM Vũ Lê Hùng Khoa CNTT – ĐHBK TP -1 5- PHỤC HỒÀI DEADLOCK  Đi kèm với p.p... ĐHBK TP -7 - NGĂN NGỪA DEADLOCK (Havender) Cấm điều kiện multual-exclusion ?  Cấm điều kiện hold & wait  – –  Cấm điều kiện no-preemption –  Quá trình yêu cầu tất tài nguyên lần Chỉ xử lý đủ

Ngày đăng: 23/07/2014, 06:21

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

Tài liệu liên quan