Chương V-I: Liên lạc giữa các Tiến TrìnhVẤN TRAO ĐỔI THÔNG TIN GIỮA CÁC TIẾN TRÌNH GIẢI... Các Cơ Chế Liên Lạc Truyền dữ liệu không cấu trúc... Các Cơ Chế Liên Lạc Shared Memory Mâu thu
Trang 1Chương V-I: Liên lạc giữa các Tiến Trình
VẤN
TRAO ĐỔI THÔNG TIN GIỮA CÁC TIẾN TRÌNH
GIẢI
Trang 2Nhu 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ý
L
p
JOB
Trang 3Các Cơ Chế Liên Lạc
Signal : Không truy n ề được d li uữ ệ
Các tín hi u ệ đượ ử đ ở c g i i b i?khi nh n thì x lý ra sao? ậ ử
Trang 4Các Cơ Chế Liên Lạc
Truyền dữ liệu không cấu trúc
Trang 5Các Cơ Chế Liên Lạc
Shared Memory
Mâu thuẫn truy xuất => nhu cầu đồng bộ hoá
Trang 6Các Cơ Chế Liên Lạc
Message
Liên lạc trên môi trường phân tán
Liên kết tiềm ẩn
Send(message) : gởi một thông điệp
Receive(message) : nhận một thông điệp
Liên kết tường minh
Send(destination, message) : gởi một thông điệp đến destination
Receive(source,message) : nhận một thông điệp từ source
Trang 7Các Cơ Chế Liên Lạc
Socket
Liên lạc trên nhiều môi trường khác biệt
Trang 8Race condition
hits = hits + 1
read hits hits =hits + 1 read hits
hits = 1, 2 ?
hits = 0
time
P1 và P2 chia sẻ biến chung hits
Trang 9Vùng tranh chấp (Miền găng - critical section)
hits = hits + 1
read hits hits = hits + 1 read hits
CS
CS
CS là đoạn chương trình có khả năng gây ra hiện
Trang 10Giải pháp tổng quát
Bảo đảm tính “độc quyền truy xuất” miền găng tại
thời điểm
hits = hits + 1
hits = 2
hits = 0
time
hits = hits + 1
Trang 11Mô hình đảm bảo độc quyền truy xuất
CS;
Trang 12Hẹn hò
Làm thế nào bảo đảm trình tự thực hiện Job1 -
Job2 ?
Job1;
Job2;
Trang 13Giải pháp
Hai tiến trình cần trao đổi thông tin về diễn tiến
xử lý
Job1;
Job2;
Trang 14Mô hình tổ chức phối hợp hoạt động giữa hai tiến
trình
Báo