intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Hệ điều hành - Chương 3: Deadlock (Lương Minh Huấn)

Chia sẻ: Bạch Khinh Dạ Lưu | Ngày: | Loại File: PDF | Số trang:62

81
lượt xem
12
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Hệ điều hành - Chương 3: Deadlock (Lương Minh Huấn) có nội dung trình bày về khái niệm deadlock, điều kiện xảy ra deadlock, các phương pháp phòng tránh deadlock, ngăn chặn deadlock, phòng tránh deadlock, phát hiện deadlock, phục hồi deadlock,... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Hệ điều hành - Chương 3: Deadlock (Lương Minh Huấn)

  1. TRƯỜNG ĐẠI HỌC SÀI GÒN CHƯƠNG 3: DEADLOCK GV: Lương Minh Huấn
  2. NỘI DUNG I. Khái niệm deadlock II. Điều kiện xảy ra deadlock III. Các phương pháp phòng tránh deadlock 1. Ngăn chặn deadlock 2. Phòng tránh deadlock 3. Phát hiện deadlock 4. Phục hồi deadlock
  3. I. KHÁI NIỆM DEADLOCK ➢Hệ thống gồm nhiều tiến trình hoạt động đồng thời cùng sử dụng tài nguyên. ▪ Tài nguyên cần nhiều loại (VD: CPU, bộ nhớ,..). ▪ Mỗi loại tài nguyên có nhiều đơn vị (VD: 2 CPU, 5 máy in..) ➢Mỗi tiến trình thường gồm dãy liên tục các thao tác ▪ Đòi hỏi tài nguyên: Nếu tài nguyên không có sẵn (đang được sử dụng bởi tiến trình khác) ) tiến trình yêu cầu phải đợi ▪ Sử dụng tài nguyên theo yêu cầu (in ấn, đọc dữ liệu...) ▪ Giải phóng tài nguyên được cấp
  4. I. KHÁI NIỆM DEADLOCK ➢Khi các tiến trình dùng chung ít nhất 2 tài nguyên, hệ thống có thể gặp "nguy hiểm" ➢Xét ví dụ: ▪ Hệ thống có hai tiến trình P1 & P2 ▪ Hai tiến trình P1 & P2 dùng chung hai tài nguyên R1 & R2 ▪ R1 được điều độ bởi đèn báo S1 (S1  1) ▪ R2 được điều độ bởi đèn báo S2 (S2  1)
  5. I. KHÁI NIỆM DEADLOCK
  6. I. KHÁI NIỆM DEADLOCK
  7. I. KHÁI NIỆM DEADLOCK ➢Hai (hay nhiều) ôtô đối đầu nhau trên 1 cây cầu hẹp chỉ đủ độ rộng cho 1 chiếc. ➢Mỗi đoạn của cây cầu có thể xem như 1 tài nguyên ➢Nếu deadlock xuất hiện: nó có thể được giải quyết nếu 1 hay 1 số ôtô lùi lại nhường đường rồi lên sau
  8. I. KHÁI NIỆM DEADLOCK ➢DeadLock là trạng thái trong hệ thống có ít nhất hai tiến trình đang dừng chờ lẫn nhau và chúng không thể chạy tiếp được. ➢Sự chờ đợi này có thể kéo dài vô hạn nếu không có sự tác động từ bên ngoài.
  9. II. ĐIỀU KIỆN XẢY RA DEADLOCK ➢Cần có 4 điều kiện sau, không được thiếu điều kiện nào: ➢Có tài nguyên găng: ▪ Tài nguyên được sử dụng theo mô hình không phân chia được (muntual exclusion). • Chỉ có một tiến trình dùng tài nguyên tại một thời điểm • Tiến trình khác cũng yêu cầu tài nguyên => yêu cầu phải được hõan lại tới khi tài nguyên được giải phóng. ▪ Chờ đợi trước khi vào đoạn găng (hold and wait). • Tiến trình không được vào đoạn găng phải xếp hàng chờ đợi. • Trong khi chờ đợi vẫn chiếm giữ các tài nguyên được cung cấp
  10. II. ĐIỀU KIỆN XẢY RA DEADLOCK ▪ Không có hệ thống phân phối lại tài nguyên găng (no preemption) • Tài nguyên không thể được trưng dụng • Tài nguyên được giải phóng chỉ bởi tiến trình đang chiếm giữ khi đã hoàn thành nhiệm vụ. ▪ Chờ đợi vòng tròn (circular wait): tồn tại 1 chu kỳ đóng các yêu cầu tài nguyên. • Tạo ra chu kỳ không kết thúc được.
  11. ĐỒ THỊ CUNG CẤP TÀI NGUYÊN ➢Dùng để mô hình hóa tình trạng bế tắc trong hệ thống ➢Là đồ thị định hướng gồm tập đỉnh V và tập cung E ➢Tập đỉnh V được chia thành 2 kiểu đỉnh: ▪ P = {P1; P2; …; Pn} Tập chứa tất cả các tiến trình trong hệ thống ▪ R = {R1; R2;…; Rm} Tập chứa tất cả các kiểu tài nguyên trong hệ thống. ➢Tập các cung E gồm 2 loại: ▪ Cung yêu cầu: đi từ tiến trình Pi tới tài nguyên Rj : Pi → Rj ▪ Cung sử dụng: đi từ tài nguyên Rj tới tiến trình Pi : Rj → Pi
  12. ĐỒ THỊ CUNG CẤP TÀI NGUYÊN ➢Khi một tiến trình Pi yêu cầu tài nguyên Rj 1. Cung yêu cầu Pi → Rj được chèn vào đồ thị 2. Nếu yêu cầu được thỏa mãn, cung yêu cầu chuyển thành cung sử dụng Rj → Pi 3. Khi tiến trình Pi giải phóng tài nguyên Rj , cung sử dụng Rj → Pi bị xóa khỏi đồ thị
  13. ĐỒ THỊ CUNG CẤP TÀI NGUYÊN
  14. ĐỒ THỊ CUNG CẤP TÀI NGUYÊN
  15. ĐỒ THỊ CUNG CẤP TÀI NGUYÊN
  16. ĐỒ THỊ CUNG CẤP TÀI NGUYÊN
  17. ĐỒ THỊ CUNG CẤP TÀI NGUYÊN ➢Đồ thị không chứa chu trình, không deadlock ➢Nếu đồ thị chứa đựng chu trình ▪ Nếu tài nguyên chỉ có 1 đơn vị => deadlock ▪ Nếu tài nguyên có nhiều hơn 1 đơn vị: có khả năng deadlock
  18. III. CÁC PHƯƠNG PHÁP XỬ LÝ BẾ TẮC ➢Ngăn ngừa ▪ Áp dụng các biện pháp để đảm bảo hệ thống không bao giờ rơi vào tình trạng deadlock. ▪ Tốn kém ▪ Áp dụng cho hệ thống hay xảy ra deadlock và tổn thất do deadlock gây ra lớn.
  19. III. CÁC PHƯƠNG PHÁP XỬ LÝ BẾ TẮC ➢Phòng tránh ▪ Kiểm tra từng yêu cầu tài nguyên của tiến trình và không chấp nhận yêu cầu nếu việc cung cấp tài nguyên có khả năng dẫn đến tình trạng deadlock. ▪ Thường yêu cầu các thông tin phụ trợ ▪ Áp dụng cho hệ thống ít xảy ra deadlock nhưng tổn hại lớn
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2