Bài giảng Hệ điều hành nâng cao - Bài 4: Liên lạc giữa các tiến trình & vấn đề đồng bộ hoá
n Signal
Không truyền được dữ liệu
n Pipe
Truyền dữ liệu không cấu trúc
n Shared Memory
J Broadcast
Mâu thuẫn truy xuất => nhu cầu đồng bộ hoá
n Message
J Liên lạc trên môi trường phân tán
n Socket
J Liên lạc trên nhiều môi trường khác biệt
BÀI 4 : LIÊN LẠC GIỮA CÁC TIẾN TRÌNH & VẤN ĐỀ ĐỒNG BỘ HOÁ CƠ CHẾ ? VẤN ĐỀ ? TRAO ĐỔI THÔNG TIN GIỮA CÁC TIẾN TRÌNH GỈAI PHÁP ? 1 Nhu Cầu Liên Lạc Q L p Chia sẻ thông tin R Phối hợp tăng tốc độ xử lý Q L p JOB 2 Các Cơ Chế Liên Lạc Signal Không truyền được dữ liệu Pipe Truyền dữ liệu không cấu trúc Shared Memory Broadcast Mâu thuẫn truy xuất => nhu cầu đồng bộ hoá Message Liên lạc trên môi trường phân tán Socket Liên lạc trên nhiều môi trường khác biệt 3 Race condition hits = 0 + 1 read hits (0) hits = 0 + 1 read hits (0) P1 P2 hits = 1 hits = 0 time Kết quả cuối cùng không dự đoán được ! P1 và P2 chia sẻ biến chung hits 4 Miền găng (critical section) hits = 0 + 1 read hits (0) hits = 0 + 1 read hits (0) P1 P2 CS CS CS là đoạn chương trình có khả năng gây ra hiện tượng race condition 5 Giải pháp tổng quát Bảo đảm tính “ độc quyền truy xuất ” miền găng tại một thời điểm hits = hits + 1 P1 P2 hits = 2 hits = 0 time hits = hits + 1 6 Mô hình đảm bảo độc quyền truy xuất Kiểm tra và dành quyền vào CS CS; Từ bỏ quyền sử dụng CS 7 Rendez-Vous Làm thế nào bảo đảm trình tự thực hiện Job1 - Job2 ? P1 P2 Job1; Job2; 8 Giải pháp Hai tiến trình cần trao đổi thông tin về diễn tiến xử lý P1 P2 Job1; Job2; 9 Mô hình tổ chức phối hợp hoạt động giữa hài tiến trình P1 P2 Job1; Chờ ; Báo hiệu ; Job2; 10 Bài toán đồng bộ hoá Nhiều tiến trình chia sẻ tài nguyên chung đồng thời : Tranh chấp ? Nhu cầu “ độc quyền truy xuất ” (mutual exclusion) Các tiến trình phối hợp hoạt động : Tương quan diễn tiến xử lý ? Nhu cầu “ hò hẹn ” ( rendez-vous ) 11
File đính kèm:
- giao_trinh_he_dieu_hanh_nang_cao_bai_4_lien_lac_giua_cac_tie.ppt