BÀI 4LIÊN LẠC GIỮA CÁC TIẾN TRÌNH & VẤN ĐỀ ĐỒNG BỘ HÓA... 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
Trang 1BÀI 4
LIÊN LẠC GIỮA CÁC TIẾN TRÌNH & VẤN ĐỀ
ĐỒNG BỘ HÓA
Trang 2LIÊ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 ?
Trang 3Nhu 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 4Cá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á
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
Trang 5Race condition
hits = 0 + 1
read hits (0) hits = 0 + 1 read hits (0)
hits = 1
hits = 0
time
P1 và P2 chia sẻ biến chung hits
Trang 6Miền găng (critical section)
hits = 0 + 1
read hits (0)
CS
CS
CS là đoạn chương trình có khả năng gây ra hiện tượng race condition
Trang 7Giải pháp tổng quát
Bảo đảm tính “độc quyền truy
hits = hits + 1
hits = 2
hits = 0
time
hits = hits + 1
Trang 8Mô 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
Trang 9Làm thế nào bảo đảm trình tự
Job1;
Job2;
Trang 10Giả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 11Mô hình tổ chức phối hợp hoạt động giữa hài tiến trình
Báo
hiệu
Trang 12Bài toán đồng bộ hoá
Nhiều tiến trình chia sẻ tài
nguyên chung đồng thời :
xuất” (mutual exclusion)
Các tiến trình phối hợp
hoạt động :
(rendez-vous)