nguyenanhque.hdh.dl

Màu nền
Font chữ
Font size
Chiều cao dòng

FCFS: 

SJF:

SRTF: lập bảng

DEADLOCK:

VII.3.1 Giải thuật an toàn

Giải thuật để xác định hệ thống ở trạng thái an toàn hay không có thể được mô tả

như sau:

1)  Gọi Work và Finish là các vector có chiều dài m và n tương ứng. Khởi tạo

Work:=Available và Finish[i]:=false cho i = 1, 2, …,n.

2)  Tìm i thỏa:

a)  Finish[i] = false

b)  Need i ≤ Work.

Nếu không có i nào thỏa, di chuyển tới bước 4

3)  Work:=Work + Allocation i

Finish[i] := true

Di chuyển về bước 2.

4)  Nếu Finish[i] = true cho tất cả i, thì hệ thống đang ở trạng thái an toàn.

Giải thuật này có thể yêu cầu độ phức tạp mxn2

  thao tác để quyết định trạng thái

là an toàn hay không.

VII.3.2 Giải thuật yêu cầu tài nguyên

Cho Requesti là vector yêu cầu cho quá trình Pi. Nếu Requesti[j] = k, thì quá

trình Pi muốn k thể hiện của loại tài nguyên Rj. Khi một yêu cầu tài nguyên được thực

hiện bởi quá trình Pi, thì các hoạt động sau được thực hiện:

1)  Nếu Requesti ≤ Needi, di chuyển tới bước 2. Ngược lại, phát sinh một điều

kiện lỗi vì quá trình vượt quá yêu cầu tối đa của nó.

2)  Nếu Requesti ≤ Available, di chuyển tới bước 3. Ngược lại, Pi phải chờ vì tài

nguyên không sẳn có.

3)  Giả sử hệ thống cấp phát các tài nguyên được yêu cầu tới quá trình Pi bằng

cách thay đổi trạng thái sau:

Available  := Available – Requesti;

Allocationi := Allocationi + Requesti;

Needi := Needi – Requesti;

Nếu kết quả trạng thái cấp phát tài nguyên là an toàn, thì giao dịch được hoàn thành

và quá trình Pi được cấp phát tài nguyên của nó. Tuy nhiên, nếu trạng thái mới là

không an toàn, thì Pi phải chờ Requesti và trạng thái cấp phát tài nguyên cũ được phục

hồi.

Bạn đang đọc truyện trên: Truyen2U.Pro