1
BÀI 4 : LIÊN LẠC GIỮA CÁC TIẾN
TRÌNH
& VẤN ĐỀ ĐỒNG BỘ HOÁ
CƠ CHẾ ?
CƠ CHẾ ?
VẤN
VẤN
ĐỀ ?
ĐỀ ?
TRAO ĐỔI THÔNG TIN GIỮA CÁC TIẾN TRÌNH
TRAO ĐỔI THÔNG TIN GIỮA CÁC TIẾN TRÌNH
GỈAI
GỈAI
PHÁP ?
PHÁP ?
2
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
3
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
4
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
5
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
6
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
7
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
8
Rendez-Vous
Làm thế nào bảo đảm trình tự thực hiện Job1 -
Job2 ?
P1
P2
Job1;
Job2;
9
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;
10
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;
Không có nhận xét nào:
Đăng nhận xét