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)

pdf20 trang | Chuyên mục: Hệ Điều Hành | Chia sẻ: dkS00TYs | Lượt xem: 1895 | Lượt tải: 2download
Tóm tắt nội dung 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, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

  • pdfBà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
Tài liệu liên quan