Thị cấp phát tài nguyên (Resource allocation graph RAG)

Một phần của tài liệu giáo trình nguyên lý hệ điều hành Chương 2: QUẢN LÝ TIẾN TRÌNH; CHƯƠNG 3. LẬP LỊCH CPU; CHƯƠNG 4. ĐỒNG BỘ HOÁ TIẾN TRÌNH; CHƯƠNG 5. BẾ TẮC (Trang 45 - 47)

CHƯƠNG 5 BẾ TẮC 5.1 Mô hình hệ thống

5.1.4.thị cấp phát tài nguyên (Resource allocation graph RAG)

Hệ thống gồm các loại tài nguyên, kí hiệu R1, R2,…, Rm. Mỗi loại tài nguyên RiWi

thực thể (thực thể). Trong hệ thống hiện có các tiến trình P0, P1,…,Pn.

Bế tắc có thể được mô tả chính xác hơn bằng cách biểu diễn bởi đồ thị có hướng gọi là đồ thị cấp phát tài nguyên hệ thống. Đồ thị có tập đỉnh V và tập cạnh E

Tập đỉnh V gồm 2 loại:

P = {P1, P2,…, Pn } (Tất cả tiến trình trong hệ thống).

R = {R1, R2,…, Rm } (Tất cả các loại tài nguyên trong hệ thống). Tập cạnh E gồm 2 loại:

Cạnh yêu cầu (Request edge): cạnh có hướng từ Pi đến Rj chỉ ra rằng tiến trình Pi yêu cầu một thực thể loại Rj.

Cạnh cấp phát (Assignment edge): cạnh có hướng từ Rj đến Pi chỉ ra rằng tiến trình Pi

được cấp phát một thực thể loại Rj.

Ta ký hiệu mỗi tiến trình Pi là một hình tròn, và mỗi loại tài nguyên Rj là hình chữ nhật. Vì loại tài nguyên Rj có thể có nhiều hơn một thực thể, chúng ta hiển thị mỗi thực thể là một chấm nằm trong hình vuông. Chú ý rằng một cạnh yêu cầu trỏ tới chỉ một hình vuông Rj, trái lại một cạnh cấp phát cũng phải trỏ tới một trong các dấu chấm trong hình vuông.

Đồ thị cấp phát tài nguyên được trong hình 5.1 mô tả trường hợp sau: Các tập P, R, và E:

P = {P1, P2, P3} R = {R1, R2, R3, R4} R = {R1, R2, R3, R4}

E = {P1→R1, P2 →R3, R1 →P2, R2→P2, R3→P3} Các thực thể tài nguyên: Các thực thể tài nguyên:

Một thực thể của tài nguyên loại R1. Hai thực thể của tài nguyên loại R2. Một thực thể của tài nguyên loại R3. Một thực thể của tài nguyên loại R4. Trạng thái của các tiến trình:

Tiến trình P1 đang giữ một thực thể của loại tài nguyên R2 và đang chờ một thực thể của loại tài nguyên R1.

66

Tiến trình P2 đang giữ một thực thể của loại tài nguyên R1 và R2 và đang chờ một thực thể của loại tài nguyên R3.

Tiến trình P3 đang giữ một thực thể của R3.

Hình 5.1. Đồ thị cấp phát tài nguyên.

Đồ thị cấp phát tài nguyên cho thấy rằng, nếu đồ thị không chứa chu trình, thì không có tiến trình nào trong hệ thống bị bế tắc. Nếu đồ thị có chứa chu trình, thì bế tắc có thể tồn tại.

Hình 5.2. Hệ thống có bế tắc.

Nếu mỗi loại tài nguyên có đúng một thực thể, thì một chu trình ngụ ý rằng một bế tắc xảy ra. Nếu một chu trình bao gồm chỉ một tập hợp các loại tài nguyên, mỗi loại tài nguyên chỉ có một thực thể thì bế tắc xảy ra. Mỗi tiến trình chứa trong chu trình bị bế tắc. Trong trường hợp này, một chu trình trong đồ thị là điều kiện cần và đủ để tồn tại bế tắc.

67

Nếu mỗi loại tài nguyên có nhiều thực thể thì có chu trình chưa chắc bế tắc đã xảy ra. Trong trường hợp này, một chu trình trong đồ thị là điều kiện cần nhưng chưa đủ để tồn tại bế tắc.

Một phần của tài liệu giáo trình nguyên lý hệ điều hành Chương 2: QUẢN LÝ TIẾN TRÌNH; CHƯƠNG 3. LẬP LỊCH CPU; CHƯƠNG 4. ĐỒNG BỘ HOÁ TIẾN TRÌNH; CHƯƠNG 5. BẾ TẮC (Trang 45 - 47)