Bài giảng Hệ điều hành mạng nâng cao - Hoàng Xuân Dậu - Chương 4: Cơ chế giao tiếp giữa các tiến trình
• Truyền thông gi ữa các tiến trình (Inter
Process Communication -IPC)được hỗ
trợ bởi HĐH m ạng/HĐH phân t án theo 2
phương th ức chủ yếu:
– Truyền thông đi ệp (Message Passing)
– Các cuộc gọi thủ tục từ xa (Remote
Procedure Calls)
Hệ điều hành mạng nâng cao Giảng viên: Hoàng Xuân Dậu Email: dauhoang@vnn.vn Khoa Công nghệ thông tin 1 Học viện Công nghệ BC-VT HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 2 IV. Các cơ chế giao tiếp giữa các tiến trình phân tán HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 3 Mô hình truyền thông giữa các tiến trình HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 4 Các phương thức truyền thông • Truyền thông giữa các tiến trình (Inter Process Communication - IPC) được hỗ trợ bởi HĐH mạng/HĐH phân tán theo 2 phương thức chủ yếu: – Truyền thông điệp (Message Passing) – Các cuộc gọi thủ tục từ xa (Remote Procedure Calls) HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 5 Middlewares phục vụ truyền thông HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 6 Truyền thông điệp • Là phương thức truyền thông cơ sở được hỗ trợ bởi hệ điều hành • Cho phép một tiến trình trên một máy truyền môt gói dữ liệu hoặc một chuỗi bytes đến một tiến trình khác trên máy đó hoặc máy khác • Socket là một trong những kỹ thuật được dùng phổ biến nhất trong phương thức truyền thông điệp. HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 7 Socket và Ports Socket = Internet address + Port HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 8 Sockets (tiếp) • Các đặc điểm: – Là điểm giao tiếp trong truyền thông giữa các tiến trình – Các thông điệp được truyền giữa các sockets – Socket có thể tạo dựa trên giao thức TCP hoặc UDP – Mỗi tiến trình có thể sử dụng nhiều cổng để tạo nhiều sockets – Không thể chia sẻ các cổng, trừ trường hợp sử dụng IP multicast. • Cài đặt: – Socket được hỗ trợ bởi hầu hết các HĐH – Java sockets HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 9 Sockets: tương tác server-client HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 10 Gọi thủ tục từ xa - RPC • Là phương thức truyền thông giữa các tiến trình được thực hiện theo cơ chế gọi thủ tục/hàm. • Khác với gọi thủ tục cục bộ (trong một tiến trình), thủ tục được gọi từ xa được thực hiện trong ngữ cảnh của một tiến trình khác, và tiến trình đó có thể chạy ở máy khác. • RPC giúp đơn giản hoá lập trình truyền thông, do người lập trình không phải tự viết toàn bộ phần mã phục vụ truyền thông giữa các tiến trình. HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 11 Gọi thủ tục từ xa (tiếp) HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 12 Các lớp/nhóm RPC • RPC nhóm 1: – RPC được tích hợp vào ngôn ngữ lập trình – Ví dụ: Java RMI • RPC nhóm 2: – Một ngôn ngữ đặc biệt (Interface Definition Language - IDL) được sử dụng để định nghĩa giao diện giao tiếp – Độc lập với ngôn ngữ lập trình – Ví dụ: Sun RPC, CORBA HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 13 RPC đồng bộ và không đồng bộ (a) - RPC đồng bộ; (b) - RPC không đồng bộ HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 14 Cơ chế thực hiện RPC Proxies, stubs, dispatchers được tạo ra tự động nhờ trình biên dịch IDL HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 15 Client: các thành phần chính • Proxies: – Đóng vai trò như phiên bản cục bộ của giao diện từ xa – Chuyển hướng tất cả các cuộc gọi đến client stub • Client stub: – Thực hiện marshalling các cuộc gọi và yêu cầu truyền lại thông điệp – Thực hiện unmarshalling các thông điệp trả lời. HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 16 Server: các thành phần chính • Dispatchers: – Tiếp nhận các thông điệp đến và chuyển chúng cho server stub phù hợp • Server stubs (skeletons): – Unmarshals các thông điệp và triệu gọi thực hiện các đoạn mã phù hợp – Marshals các thông điệp trả lời và khởi tạo việc gửi chúng cho client. HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 17 RPC - Ví dụ HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 18 RPC - Ví dụ HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 19 RPC - Ví dụ HĐH mạng nâng cao IV. Cơ chế giao tiếp giữa các tiến trình 20 Cơ chế thực hiện Java RMI
File đính kèm:
- Bài giảng Hệ điều hành mạng nâng cao - Hoàng Xuân Dậu - Chương 4 Cơ chế giao tiếp giữa các tiến trình.pdf