BÀI 4
LIÊN LẠC GIỮA CÁC
TIẾN TRÌNH & VẤN ĐỀ
ĐỒNG BỘ HÓA
LIÊN LẠC GIỮA CÁC TIẾN
TRÌNH
& VẤN ĐỀ ĐỒNG BỘ
HOÁ
TRAO ĐỔI THÔNG TIN GIỮA CÁC T
CƠ CHẾ
VẤN
? ĐỀ ?
GỈAI
PHÁP ?
2
Nhu Cầu Liên Lạc
Q
Chia sẻ thông tin
p
L
R
Phối hợp tăng tốc độ xử lý
JOB
p
Q
L
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
P1 và P2 chia sẻ biến chung hits
hits = 0
P1
time
read hits (0)
hits = 0 + 1
hits = 1
P2
read hits (0)
hits = 0 + 1
Kết quả cuối cùng không dự đoa
5
Miền găng (critical section)
P1
CS
read hits (0)
hits = 0 + 1
P2
read hits (0)
CS
hits = 0 + 1
CS là đoạn chương trình có khả
năng gây ra hiện tượng race
6
condition
Giải pháp tổng quát
hits = 0
P1
time
P2
hits = hits + 1
hits = hits + 1
hits = 2
Bảo đảm tính “độc quyền truy
xuất” miền găng tại một thời
điểm
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
P2
P1
Job1;
Job2;
Làm thế nào bảo đảm trình tự
thực hiện Job1 - Job2 ?
9
Giải pháp
P2
P1
Job1;
Job2;
Hai tiến trình cần trao đổi thông
tin về diễn tiến xử lý
10
Mô hình tổ chức phối hợp hoạt
động giữa hài tiến trình
P2
P1
Job1;
Báo
hiệu
;
Chờ ;
Job2;
11
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
xuất” (mutual exclusion)
truy
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” (rendezvous)
12