Flowchart · Giải thuật Banker

Kiểm tra trạng thái an toàn trong giải thuật Banker

Thuật toán kiểm tra an toàn của Banker Khởi tạo Work bằng Available, lặp tìm tiến trình chưa xong có Need không vượt Work, giả sử nó chạy xong và trả Allocation vào Work; nếu mọi tiến trình đều xong thì trạng thái an toàn, ngược lại không an toàn. LẶP LẠI CÓ KHÔNG CÓ KHÔNG Khởi tạo Work = Available · Finish[i] = false Còn Pi chưa xong mà Need_i ≤ Work? Pi chạy xong, trả tài nguyên Work = Work + Allocation_i Finish[i] = true nối Pi vào chuỗi an toàn Mọi Finish[i] đều true? Trạng thái an toàn đã có chuỗi an toàn Không an toàn có thể dẫn tới deadlock GHI CHÚ Need_i = Max_i − Allocation_i Need ≤ Work: so từng loại tài nguyên CHÚ GIẢI Bắt đầu / kết thúc Bước xử lý Rẽ nhánh Điểm nhập nhánh Kết quả mong muốn © tiennhm