Banker’s algorithm là kỹ thuật TRÁNH deadlock (deadlock avoidance): trước khi cấp tài nguyên, hệ thống kiểm tra việc cấp có giữ được trạng thái an toàn không.
Mỗi tiến trình khai báo trước nhu cầu tối đa (Max) cho từng loại tài nguyên. Hệ thống theo dõi: Allocation (đang giữ), Need = Max − Allocation, và Available (còn trống).
Safe state: tồn tại một thứ tự thực thi (safe sequence) sao cho mỗi tiến trình lần lượt được cấp đủ Need từ Available (cộng phần tài nguyên các tiến trình trước đó trả lại), chạy xong rồi giải phóng. Nếu tồn tại chuỗi như vậy → an toàn, bảo đảm không deadlock. Unsafe state không chắc chắn deadlock, nhưng có nguy cơ.
Khi có request: giả định cấp thử → chạy safety algorithm; nếu vẫn safe thì cấp thật, nếu không thì bắt tiến trình chờ.
Hạn chế thực tế: cần biết trước Max, giả định số tiến trình/tài nguyên cố định → hiếm dùng trong OS thật, chủ yếu mang giá trị lý thuyết.