No Slide Title BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH Chương 7 Bế tắc (Deadlocks) Bộ môn Khoa học máy tính Khoa Công nghệ thông tin 7 2 Nội dung chương 7Nội dung chương 7 Mô hình hệ thống Mô tả bế tắc [.]
BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH Chương 7: Bế tắc (Deadlocks) Bộ mơn Khoa học máy tính Khoa Cơng nghệ thơng tin Nội dung chương Mơ hình hệ thống Mô tả bế tắc Các phương pháp xử lý bế tắc Ngăn ngừa bế tắc Tránh khỏi bế tắc Phát bế tắc Phục hồi từ bế tắc Phương pháp kết hợp xử lý bế tắc 7.2 Mục tiêu Mô tả bế tắc, tình trạng ngăn cản tiến trình đồng thời hoàn thành tác vụ Giới thiệu phương pháp khác để ngăn ngừa tránh khỏi bế tắc hệ thống máy tính 7.3 Vấn đề bế tắc (Deadlock) Trong môi trường đa chương trình, số tiến trình tranh số tài nguyên hạn chế Một tiến trình yêu cầu tài nguyên, tài nguyên đáp ứng thời điểm tiến trình chuyển sang trạng thái chờ Các tiến trình chờ không thay đổi lại trạng thái tài ngun mà u cầu bị giữ tiến trình chờ khác ví dụ: tắc nghẽn cầu 7.4 Ví dụ qua cầu Hai (hay nhiều hơn) ô tô đối đầu cầu hẹp đủ độ rộng cho Mỗi đoạn cầu xem tài nguyên Nếu bế tắc xuất hiện, giải hay số ô tô lùi lại nhường đường tiến sau 7.5 7.1 Mơ hình hệ thống Các loại tài nguyên R1, R2, , Rm Các chu kỳ CPU, không gian nhớ, tệp, thiết bị vào-ra Mỗi loại 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 tiến trình Mỗi tiến trình sử dụng tài nguyên theo bước sau: yêu cầu (request): yêu cầu không giải (vd tài nguyên tiến trình khác sử dụng) tiến trình yêu cầu phải đợi nhận tài nguyên sử dụng (use) giải phóng (release) 7.6 7.2 Mơ tả bế tắc Bế tắc xảy điều kiện sau đồng thời tồn tại: Ngăn chặn lẫn nhau: thời điểm, tiến trình sử dụng tài nguyên Giữ đợi: tiến trình giữ tài nguyên đợi để nhận tài nguyên khác giữ tiến trình khác Khơng có ưu tiên: tài ngun tiến trình (tự nguyện!) giải phóng hồn thành cơng việc Chờ đợi vịng trịn: tồn tập tiến trình chờ đợi {P0, P1, …, Pn, P0} P0 đợi tài nguyên bị giữ P1, P1 đợi tài nguyên bị giữ P2, … Pn–1 đợi tài nguyên bị giữ Pn, Pn đợi tài nguyên bị giữ P0 7.7 Biểu đồ phân phối tài nguyên Một tập đỉnh V tập cạnh E V chia thành loại: P = {P1, P2, …, Pn}, tập tất tiến trình R = {R1, R2, …, Rm}, tập loại tài nguyên Mỗi cá thể hình vng bên cạnh yêu cầu – cạnh có hướng Pi Rj (tiến trình Pi đợi nhận hay nhiều cá thể tài nguyên Rj) Pi Rj cạnh định – cạnh có hướng Rj Pi (tiến trình Pi giữ hay nhiều cá thể tài nguyên Rj) Pi Rj 7.8 Vd đồ thị phân phối tài ngun khơng chu trình Nếu đồ thị khơng chu trình khơng có tiến trình bị bế tắc Nếu đồ thị có chu trình tồn bế tắc 7.9 Vd đồ thị phân phối tài ngun có chu trình Bế tắc Khơng bế tắc: P4 P2 kết thúc, khiến P1 P3 kết thúc 7.10