Để thực hiện liên lạc bằng socket, cần tiến hành các thao tác ::
Tạo lập hay mở một socket
Gắn kết một socket với một địa chỉ
Liên lạc : có hai kiểu liên lạc tùy thuộc vào chế độ nối kết:
Liên lạc trong chế độ không liên kết
Liên lạc trong chế độ nối kết
Hủy một socket
15 trang |
Chia sẻ: tranhoai21 | Lượt xem: 1659 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Liên lạc giữa các Tiến Trình, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chương V-I: Liên lạc giữa các Tiến TrìnhCƠ CHẾ ?VẤN ĐỀ ?TRAO ĐỔI THÔNG TIN GIỮA CÁC TIẾN TRÌNHGIẢI PHÁP ?1Nhu Cầu Liên LạcQLp Chia sẻ thông tinR Phối hợp tăng tốc độ xử lý QLpJOB2Các Cơ Chế Liên LạcSignal : Không truyền được dữ liệuCác tín hiệu được gửi đi bởi?khi nhận thì xử lý ra sao?3Các Cơ Chế Liên LạcPipe Truyền dữ liệu không cấu trúc4Các Cơ Chế Liên LạcShared MemoryMâu thuẫn truy xuất => nhu cầu đồng bộ hoá5Các Cơ Chế Liên LạcMessageLiên lạc trên môi trường phân tánLiên kết tiềm ẩnSend(message) : gởi một thông điệpReceive(message) : nhận một thông điệpLiên kết tường minhSend(destination, message) : gởi một thông điệp đến destinationReceive(source,message) : nhận một thông điệp từ source6Các Cơ Chế Liên LạcSocket: là một thiết bị truyền thông hai chiều như tập tinMỗi Socket là một thành phần trong một mối nối giữa các máy trong mạngCác thuộc tính của socket: Domaine: định nghĩa dạng thức địa chỉ và các nghi thức sử dụng. Có nhiều domaines, ví dụ UNIX, INTERNET, XEROX_NS, ... Type: định nghĩa các đặc điểm liên lạca) độ tin cậyb) độ bảo toàn thứ tự dữ liệuc) Lặp lại dữ liệud) Chế độ nối kếte) Bảo toàn giới hạn thông điệpf) Khả năng gởi thông điệp khẩn7Các Cơ Chế Liên LạcĐể thực hiện liên lạc bằng socket, cần tiến hành các thao tác :: Tạo lập hay mở một socket Gắn kết một socket với một địa chỉ Liên lạc : có hai kiểu liên lạc tùy thuộc vào chế độ nối kết:Liên lạc trong chế độ không liên kết Liên lạc trong chế độ nối kết Hủy một socket VD: Giao tiếp trong TCP 8Race conditionhits = hits + 1read hits hits =hits + 1read hits P1P2hits = 1, 2 ?hits = 0time Kết quả cuối cùng không dự đoán được ! P1 và P2 chia sẻ biến chung hits9Vùng tranh chấp (Miền găng - critical section)hits = hits + 1read hits hits = hits + 1read hitsP1P2CSCSCS là đoạn chương trình có khả năng gây ra hiện tượng race condition10Giải pháp tổng quátBảo đảm tính “độc quyền truy xuất” miền găng tại một thời điểmhits = hits + 1P1P2hits = 2hits = 0timehits = hits + 111Mô hình đảm bảo độc quyền truy xuấtKiểm tra và dành quyền vào CSCS;Từ bỏ quyền sử dụng CS12Hẹn hòLàm thế nào bảo đảm trình tự thực hiện Job1 - Job2 ?P1P2Job1;Job2;13Giải phápHai tiến trình cần trao đổi thông tin về diễn tiến xử lýP1P2Job1;Job2;14Mô hình tổ chức phối hợp hoạt động giữa hai tiến trìnhP1P2Job1;Chờ ;Báo hiệu ;Job2;15