Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
200,54 KB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN -o0o NHĨM ĐỀ TÀI 05 TÌM HIỂU CÁC GIẢI THUẬT QUẢN LÝ TẮC NGHẼN VÀ VIẾT CHƯƠNG TRÌNH MINH HỌA BÀI TẬP CUỐI KÌ – MƠN HỆ ĐIỀU HÀNH GVHD : ĐINH HUY HOÀNG Thành phố Hồ Chí Minh, năm 2022 Bảng đánh giá kết thực cơng việc nhóm: Tên MSSV Trần Việt Anh 2001207216 Trần Trọng Ân 2001207334 Lại Trần Ngọc Khánh 2001207389 Nguyễn Anh Thái 2001200103 Mơ tả cơng việc Tìm hiểu giải thuật quản lý tắc nghẽn, Viết chương trình minh họa Tìm hiểu giải thuật quản lý tắc nghẽn, Viết chương trình minh họa Tìm hiểu giải thuật quản lý tắc nghẽn, Làm Word báo cáo Tìm hiểu giải thuật quản lý tắc nghẽn, Làm Powerpoint thuyết trình MỤC LỤC TẮC NGHẼN (DEADLOCK) GIẢI THUẬT BANKER Cấu trúc liệu giải thuật Banker Giải thuật xác định trạng thái an tồn Ví dụ giải thuật Banker Giải thuật yêu cầu tài nguyên tiến trình Pi PHÁT HIỆN TẮC NGHẼN Tài nguyên có thực thể Tài nguyên có nhiều thực thể Ví dụ giải thuật phát tắc nghẽn TẮC NGHẼN (DEADLOCK) Định nghĩa: - Một tập hợp tiến trình định nghĩa tình trạng tắc nghẽn khi tiến trình tập hợp chờ đợi kiện mà có tiến trình khác tập hợp phát sinh - Nói cách khác, tiến trình tập hợp chờ cấp phát tài nguyên bị tiến trình khác trạng thái blocked chiếm giữ Như khơng có tiến trình tiếp tục xử lý , giải phóng tài ngun cho tiến trình khác sử dụng, tất tiến trình tập hợp bị khóa vĩnh viễn ! GIẢI THUẬT BANKER - Áp dụng cho tài nguyên có nhiều thực thể - Mỗi tiến trình phải sử dụng độ ưu tiên cao - Khi tiến trình u cầu tài ngun, phải chờ - Khi tiến trình có đầy đủ tài nguyên, phải trả lại chúng thời gian xác định Cấu trúc liệu giải thuật Banker - Gọi n số tiến trình; m số tài nguyên - Available: vector với độ dài m, số thực thể khả dụng (có - sẵn) Nếu available[j]=k, có k thực thể tài nguyên Rj khả dụng - Max: ma trận nxm, số thực thể tối đa mà tiến trình yêu cầu Nếu - Max[i,j]=k, tiến trình Pi u cầu nhiều k thực thể tài nguyên Rj - Allocation: ma trận nxm, số thực thể tài nguyên cấp phát - cho tiến trình Nếu Allocation[i,j]=k, hành tiến trình Pi - cấp phát k thực thể tài nguyên Rj - Need: ma trận nxm, số thực thể tiến trình cần để hồn thành tác vụ.Nếu Need[i,j]=k, tiến trình Pi cần thêm k thực thể Rj để hoàn thành tác vụ Need[i,j]=Max[i,j]-Allocation[i,j] Giải thuật xác định trạng thái an toàn - Gọi Work Finish vector với độ dài tương ứng m n Khởi tạo: Work = Available Finish [i] = false với i = 0, 1, , n- - Tìm i thỏa điều kiện: - Finish[i]=false - Need i ≤ Work + Nếu không tồn i qua Bước - Work = Work + Allocationi + Finish[i] = true + Quay lại Bước - Nếu Finish [i] == true với tất i, hệ thống trạng thái an tồn Ví dụ giải thuật Banker - tiến trình: P0 đến P4 - loại tài nguyên: + A (10 thực thể); B (5 thực thể) C (7 thực thể) - Hiện trạng thời điểm T0 : Allocation Max ABC Available ABC P0 010 753 P1 200 322 P2 302 902 P3 211 222 P4 002 433 ABC 332 - - Ma trận Need xác định Max – Allocation Need ABC - P0 743 P1 122 P2 600 P3 011 P4 431 Hệ thống trạng thái an tồn chuỗi < P1 , P3 , P4 , P2 , P 0> ¿ thỏa mãn điều kiện an toàn Giải thuật yêu cầu tài nguyên tiến trình Pi - Request i – vector tài nguyên yêu cầu tiến trình Pi Nếu Request i [j]=k tiến trình Pi muốn k thực thể tài nguyên R j - Nếu Request i ≤ Need itới Bước Ngược lại, đưa lỗi tiến trình vượt q địi hỏi tối đa - Nếu Request i ≤Available tới Bước Ngược lại, Pi phải chờ tài ngun khơng có sẵn - Giả sử hệ thống cấp phát cho Pi tài ngun mà u cầu cập nhật tình trạng hệ thống sau: Available = Available – Request i ; Allocationi = Allocationi + Request i ; Need i=Needi −Request i ; - Nếu trạng thái an toàn => tài nguyên cấp phát cho Pi - Nếu trạng thái khơng an tồn => Pi phải chờ, trạng thái cấp phát tài nguyên cũ phục hồi PHÁT HIỆN TẮC NGHẼN - Cho phép hệ thống rơi vào trạng thái tắc nghẽn - Giải thuật phát tắc nghẽn - Cách thức phục hồi Tài nguyên có thực thể - Đồ thị chờ (wait-for graph) + Đỉnh tiến trình + Pi → P j Pi chờ P j - Gọi giải thuật tìm kiếm chu trình đồ thị Nếu có chu trình tồn tắc nghẽn - Giải thuật để phát chu trình đồ thị địi hỏi n2 thao tác lệnh, n số đỉnh đồ thị Đồ thị cấp phát tài nguyên đồ thị chờ Tài nguyên có nhiều thực thể - Available: vector với độ dài m, cho biết số tài nguyên khả dụng loại - Allocation: ma trận nxm, xác định số tài nguyên loại cấp phát hành cho tiến trình - Request: ma trận nxm, cho biết yêu cầu tiến trình Nếu Request[i][j]=k tiến trình Pi yêu cầu thêm k thực thể tài nguyên R j Giải thuật phát tắc nghẽn - Gọi Work Finish vector với độ dài tương ứng m n, khởi tạo sau: + Work = available + Với I = ,2, ,n Allocationii ≠ Finish[i] = false; ngược lại,Finish[i] = true - Tìm i cho thỏa điều kiện: + Finish[i] == false + Requesti ≤ Work + Nếu i khơng tồn qua Bước - Work = Work + Allocationi + Finish[i] = true + Quay lại Bước - Nếu Finish[i] == false với vài i, ≤ i ≤ n , hệ thống trạng + thái tắc nghẽn Ngoài ra, Finish[i] == false Pi bị tắc nghẽn Ví dụ giải thuật phát tắc nghẽn - Cho tiến trình từ P0 đến P4; tài nguyên: A (7 thực thể), B (2 thực thể) C (6 thực thể) - Hiện trạng thời điểm T0 Allocation Request ABC Available ABC P0 010 000 P1 200 202 P2 303 000 P3 211 100 P4 002 002 ABC 000 - Chuỗi < P0 , P , P3 , P1 , P 4> cho kết Finish[i] = true với i - P2 yêu cầu thêm thực thể tài nguyên C Request ABC - P0 000 P1 202 P2 001 P3 100 P4 002 Hệ thống có an tồn? + Có thể địi lại tài ngun giữ tiến trình P0, khơng đủ tài nguyên để thi hành tiến trình khác + Tắc nghẽn tồn tại, bao gồm tiến trình P1, P2, P3 P4 ... việc Tìm hiểu giải thuật quản lý tắc nghẽn, Viết chương trình minh họa Tìm hiểu giải thuật quản lý tắc nghẽn, Viết chương trình minh họa Tìm hiểu giải thuật quản lý tắc nghẽn, Làm Word báo cáo Tìm. .. Tìm hiểu giải thuật quản lý tắc nghẽn, Làm Powerpoint thuyết trình MỤC LỤC TẮC NGHẼN (DEADLOCK) GIẢI THUẬT BANKER Cấu trúc liệu giải thuật Banker Giải thuật xác định trạng thái an tồn Ví dụ giải. .. tồn Ví dụ giải thuật Banker Giải thuật yêu cầu tài nguyên tiến trình Pi PHÁT HIỆN TẮC NGHẼN Tài nguyên có thực thể Tài ngun có nhiều thực thể Ví dụ giải thuật phát tắc nghẽn TẮC NGHẼN (DEADLOCK)