Ôn thi Viên Chức Ngành Y tế Tài liệu ôn thi môn Công nghệ thông tin Phần Tìm hiểu về Deadlock Ôn thi Viên Chức Ngành Y tế Tài liệu ôn thi môn Công nghệ thông tin Phần Tìm hiểu về Deadlock Ôn thi Viên Chức Ngành Y tế Tài liệu ôn thi môn Công nghệ thông tin Phần Tìm hiểu về Deadlock
Deadlock Vấn đề deadlock hệ thống Các điều kiện tồn Deadlock Các phương pháp giải Deadlock • • • • Deadlock prvention ( ngăn chặn deadlock) Deadlock avoidance (tránh deadlock) Deadlock detection (phát deadlock) Deadlock recovery (Phục hồi hệ thống bị deadlock) Phương pháp tổng hợp để xử lý Deadlock Vấn đề Deadlock Trong mơi trường multiprogramming số process tranh số tài nguyên hạn chế process yêu cầu tài nguyên Nếu tài nguyên ko thể đáp ứng thời điểm process chuyển sang trạng thái chờ Các process chờ ko thay đổi lại trạng thái tài ngun mà u cầu bị giữ process khác Ví dụ : tắc nghẽn cầu Ví dụ qua cầu • Hai (hay nhiều ) ô tô đối đầu cầu hẹp đủ độ rộng cho • Mỗi đọan cầu xem tài ngun • Nếu deadlock xuất hiện: giải hay số ô tô lùi lại nhường đường lên sau 1.Mơ hình hố hệ thống Các lọai tài nguyên R1, R2,…,Rm Các chu kỳ CPU, ko gian nhớ, file, thiết bị in/out Mỗi lọai tài nguyên Ri có Wi cá thể(instance) Vd: hệ thống có CPU, có máy in đáp ứng yêu cầu nhiều process Mỗi process sử dụng tài nguyên theo bước sau: yêu cầu tài nguyên(request): yêu cầu ko giải (vd tài nguyê process khác sử dụng) process yêu cầu phải đợi nhận tài nguyên Sử dụng tài nguyên (use) Hòan trả tải nguyên (release) Điều kiện tồn Deadlock Dealock xẩy điều kiện sau tồn tại: Ngăn chặn lẫn (mutual exclusion): với tài nguyên, có process xử dụng thời điểm Giữ đợi (hold and wait): process sở hữu tài nguyên cấp phép yêu cấu xin thêm tài ngun khác Khơng có ưu tiên (no preemption): tài nguyên process (tự nguyện) giải phóng hịan thành cơng việc Chờ đợi vòng tròn (circular wait): tồn chu kỳ đóng yêu cầu tài nguyên Resource Allocation Graph(RAG) Biểu đồ phân phối tài nguyên Ví dụ RAG khơng chu trình • Nếu đồ thị ko chu trình ko có process bị deadlock • Nếu đồ thị có chu trình tồn deadlock Ví dụ RAG có chu trình Deadlock Khơng Deadlock: P4 or P2 kết thúc khiến P1 P3 kết thúc Kết luận Nếu RAG ko chu trình => ko xẩy deadlock Nếu RAG có chu trình => • Nếu loại tài nguyên có cá thể chắn xẩy deadlock • Nếu loại tài ngun có vài cá thể deadlock xẩy Các P.P giải deadlock Deadlock Prevention ngăn ngừa deadlock Tìm cách ngăn chặn cho điều kiện ko xẩy ra: Ngăn cản lẫn nhau:(mutual exclusion) - đảm bảo hệ thống ko có file ko thể chia sẻ Một process ko chờ tài nguyên chia sẻ (shareble resource) Vd read-only file Nhưng có số tài nguyên ko chia sẻ Vd : chế độ tồn hình Giữ đợi:(Hold and wait) - sử dụng chế “All or none” Cách : bắt buộc process phải yêu cầu tịan tài ngun cấn thiết lần, có đủ tài nguyên hế thống cấp phát, ko đủ tài nguyên, process bị block Cách 2: yêu cầu tài nguyên process không sở hữu tài ngun cả.nếu có phải trả lại trước yêu cầu Khuyết điểm : • • Hiệu sử dụng tài nguyên thấp Có khả xẩy bị đói starvation Giải thuật banker kiểm tra an tồn Tư tưởng : tìm chuỗi an tồn Nếu tìm trạng thái an toàn, trái lại trạng thái ko an toàn Giải thuật cấp phát tài nguyên cho process Pi Giải thuật Banker–Ví dụ(t.t) Kiểm tra an tồn Ví dụ P1 u cầu (1,0, 2) Deadlock Detection Mơ hình Single-Instance Mơ hình Multiple-Instance Detection Algorithm Giải thuật phát deadlock Detection Algorithm- Ví dụ Detection Algorithm-Ví dụ (t.t) Cách sử dụng giải thuật Thời điểm mức thường xuyên cần đến giải thuật phụ thuộc: • Deadlock có khả thường xun xảy nào? • Có process bị tác động deadlock xuất Nếu giải thuật phát deadlock sử dụng, có nhiều chu trình biểu đồ tài ngun ta khơng thể tìm process “gây” deadlock Nếu phát deadlock, cần phục hồi lại hai cách • Dừng process • Thu hồi tài nguyên Deadlock Recorery -dừng process Deadlock Recorery -Thu hồi tài nguyên Phương pháp tổng hợp