1
Khoa KTMT V c Lungũ Đứ
Chương V-I: Liên lạc giữa các Tiến Trình
CƠ
CƠ
CHẾ
CHẾ
?
?
VẤN
VẤN
ĐỀ
ĐỀ
?
?
TRAO
TRAO
ĐỔI
ĐỔI
THÔNG
THÔNG
TIN
TIN
GIỮA
GIỮA
CÁC
CÁC
TIẾN
TIẾN
TRÌNH
TRÌNH
GIẢI
GIẢI
PHÁP
PHÁP
?
?
2
Khoa KTMT V c Lungũ Đứ
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
Khoa KTMT V c Lungũ Đứ
Cá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?ệ đượ ử đ ở ậ ử
4
Khoa KTMT V c Lungũ Đứ
Các Cơ Chế Liên Lạc
Pipe
Truyền dữ liệu không cấu trúc
5
Khoa KTMT V c Lungũ Đứ
Các Cơ Chế Liên Lạc
Shared Memory
Mâu thuẫn truy xuất => nhu cầu đồng bộ hoá
6
Khoa KTMT V c Lungũ Đứ
Cá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ởimộtthôngđiệp
Receive(message):nhậnmộtthôngđiệp
Liên kết tường minh
Send(destination,message):gởimộtthôngđiệpđếndestination
Receive(source,message):nhậnmộtthôngđiệptừsource
7
Khoa KTMT V c Lungũ Đứ
Các Cơ Chế Liên Lạc
Socket
Liên lạc trên nhiều môi trường khác biệt
8
Khoa KTMT V c Lungũ Đứ
Race condition
hits = hits + 1
read hits
hits =hits + 1
read hits
P1
P2
hits = 1, 2 ?
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
9
Khoa KTMT V c Lungũ Đứ
Vùng tranh chấp (Miền găng - critical section)
hits = hits + 1
read hits
hits = hits + 1
read hits
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
10
Khoa KTMT V c Lungũ Đứ
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
11
Khoa KTMT V c Lungũ Đứ
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
12
Khoa KTMT V c Lungũ Đứ
Hẹn hò
Làm thế nào bảo đảm trình tự thực hiện Job1 -
Job2 ?
P1
P2
Job1;
Job2;
13
Khoa KTMT V c Lungũ Đứ
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;
14
Khoa KTMT V c Lungũ Đứ
Mô hình tổ chức phối hợp hoạt động giữa hai tiến
trình
P1
P2
Job1;
Chờ ;
Báo
hiệu ;
Job2;