TAILIEUCHUNG - Bài giảng Hệ điều hành: Chương: 5.3 - ThS. Trần Thị Như Nguyệt

Bài giảng "Hệ điều hành - Chương 5: Đồng bộ" phần 3 giúp người học có thể biết được các giải pháp đồng bộ tiến trình theo kiểu “Sleep & Wake up”; áp dụng các giải pháp này vào các bài toán đồng bộ kinh điển. nội dung chi tiết. | Bài giảng Hệ điều hành: Chương: - ThS. Trần Thị Như Nguyệt Chương 5: Đồng bộ - 3 01/2015 Mục tiêu Biết được các giải pháp đồng bộ tiến trình theo kiểu “Sleep & Wake up” bao gồm: Semaphore Critical Region Monitor Áp dụng các giải pháp này vào các bài toán đồng bộ kinh điển 2 Đồng bộ Nội dung Các giải pháp “Sleep & Wake up” Semaphore Các bài toán đồng bộ kinh điển Monitor 3 Đồng bộ Các giải pháp “Sleep & Wake up” int busy; // =1 nếu CS đang bị chiếm int blocked; // số P đang bị khóa do{ if (busy){ blocked = blocked +1; sleep(); } else busy =1; CS; busy = 0; if (blocked !=0){ wakeup (process); blocked = blocked -1; } RS; } while (1); 4 Đồng bộ Semaphore Một trong những công cụ đảm bảo sự đồng bộ của các process mà hệ điều hành cung cấp là Semaphore. Ý tưởng của Semaphore: Semaphore S là một biến số nguyên. Ngoài thao tác khởi động biến thì Semaphore chỉ có thể được truy xuất qua hai hàm có tính đơn nguyên (atomic) là wait và signal Hàm wait() và signal() còn có tên gọi khác lần lượt là P() và V() 5 Đồng bộ Semaphore Đầu tiên, hàm wait và signal được hiện thực như sau: Tuy nhiên, với cách hiện thực này, vòng lặp “while (S Semaphore Hàm wait và signal của Semaphore cải tiến, không busy waiting như sau: Định nghĩa semaphore là một record typedef struct { int value; struct process *L; /* process queue */ } semaphore; Mỗi Semaphore có một giá trị nguyên của nó và một danh sách các process. Khi các process chưa sẵn sàng để thực thi thì sẽ được đưa vào danh sách này. Danh sách này còn gọi là hàng đợi semaphore. Lưu ý: Các process

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.