Bài giảng môn học Hệ điều hành - Chương 5, Phần 3: Đồng bộ
Semaphore
Là công cụ đồng bộ cung cấp bởi OS mà không đòi hỏi busy waiting
Semaphore S là một biến số nguyên.
Ngoài thao tác khởi động biến thì chỉ có thể được truy xuất qua hai tác vụ có́ tính đơn nguyên (atomic) và loại trừ (mutual exclusive) wait(S) hay còn gọi là P(S): giảm giá trị semaphore (S=S-1) . Kế đó nếu giá
trị này âm thì process thực hiện lệnh wait() bị blocked. signal(S) hay còn gọi là V(S): tăng giá trị semaphore (S=S+1) . Kế đó nếu giá trị này không dương, một process đang blocked bởi một lệnh wait() sẽ được hồi phục để thực thi.
Tránh busy waiting: khi phải đợi thì process sẽ được đặt vào một blocked queue, trong đó chứa các process đang chờ đợi cùng một sự kiện.
Bài giảng môn học Hệ điều hành - Chương 5, Phần 3: Đồng bộ trang 1
Bài giảng môn học Hệ điều hành - Chương 5, Phần 3: Đồng bộ trang 2
Bài giảng môn học Hệ điều hành - Chương 5, Phần 3: Đồng bộ trang 3
Bài giảng môn học Hệ điều hành - Chương 5, Phần 3: Đồng bộ trang 4
Bài giảng môn học Hệ điều hành - Chương 5, Phần 3: Đồng bộ trang 5
Tải về để xem đầy đủ hơn
File đính kèm:
- bai_giang_mon_hoc_he_dieu_hanh_chuong_5_phan_3_dong_bo.pdf