Cau 7 hdh
Câu 7: Trình bày các nội dung về kiểu dữ liệu semaphore nhị phân và đa giá trị (giá trị, phép toán)
1/ semaphore nhị phân
Dijkstra đã sử dụng hai toán tử: P (SIGNAL - yêu cầu tài nguyên) và V (WAIT - giải phóng tài nguyên). Các toán tử này làm việc trên các biến gọi là semaphore. Trong semaphore nhị phân, tương ứng với giá trị 1 là mở semaphore (cho phép chạy) còn giá trị 0 là đóng semaphore (không chạy).
Phép toán: với mỗi semaphore, gắn một danh sách các quá trình đi tới samephore.
P(s), V(s): các toán tử thực hiện. s: biến semaphore nhị phân.
P(s): if s=1
then s<-0 {đóng semaphore}
else Kết khối quá trình này (chứa lời gọi P(s)) theo s;
đặt một quá trình đang chuẩn bị vào bộ xử lý
V(s): if Danh sách quá trình chờ đợi s không rỗng
then Tách khối quá trình chờ đợi s
else s<-1 {mở semaphore}
2/ semaphore đa giá trị
Một semaphore đa giá trị s nhận các giá trị từ 0 đến N (N là số tài nguyên cùng loại). Khi s =0 tức là không còn tài nguyên rỗi để thực hiện nhu cầu.
Phép toán: P(s), V(s): các toán tử thực hiện. s: biến semaphore đa giá trị.
P(s): if s>0
then s<-s-1
else Kết khối quá trình theo s
đặt một quá trình đang chuẩn bị vào CPU
V(s): if Danh sách quá trình chờ đợi s không rỗng
then Tách khối quá trình chờ đợi
else s<-s+1
Bạn đang đọc truyện trên: AzTruyen.Top