Bài giảng hệ điều hành chương 3 liên lạc giữa các tiến trình - Pdf 30

10/28/2005 Trần Hạnh Nhi 1
BÀI GIẢNG 3 : LIÊN LẠC GIỮA CÁC TIẾN TRÌNH
CƠ CHE
CƠ CHE
Á
Á
?
?
VA
VA
Á
Á
N
N
Đ
Đ
E
E
À
À
?
?
TRAO
TRAO
Đ
Đ
O
O
Å
Å
I THÔNG TIN GI

 Phối hợp xử lý
P
JOB
R1
R2
L
Q
10/28/2005 Trần Hạnh Nhi 3
Các cơ chế liên lạc
 Chia sẻ tài nguyên chung
 Signal
 Pipe
 Shared Memory
 Trao đổi thông điệp
 Message
 Socket
10/28/2005 Trần Hạnh Nhi 4
IPC theo nguyên tắc chia sẻ tài nguyên chung
User Process User Process
OS - Kernel
shared
resources
Các tiến trình chia sẻ
Memory
File System Space
Communication Facilities, Common communication protocol
10/28/2005 Trần Hạnh Nhi 5
Signal
 Signal
 Meaning

SIGCHLD 17 Child process termination signal
SIGCONT 18 Continue after a SIGSTOP or SIGSTP signal
SIGSTOP 19 Stop the process
SIGTSTP 20 Terminal stop: generated by < CTRL Z >
SIGWINCH 28 Change of window size
10/28/2005 Trần Hạnh Nhi 7
Nhận xét Signals
 Liên lạc không đồng bộ
 Không biết trước thời điểm
 Thiếu tin cậy
 Không cho phép trao đổi dữ liệu
Sig
Result
L
Q
SH
L
Q
?
Quiz : OK
A B
10/28/2005 Trần Hạnh Nhi 8
Pipes
 Pipe
 Kernel buffer (File) có kích thước giới hạn (4K, 8K…)
 HĐH cung cấp hàm WritePipe & ReadPipe
 WritePipe khi Pipe đầy ?
 ReadPipe khi Pipe rỗng ?
 Phảiù xét đến các khả năng đồng bộ
 Hỗ trợ liên lạc (UNIX original )

 Không giới hạn số lượng tiến trình, chiều trao đổi, và thứ tự
truy cập
 Mâu thuẫn truy xuất - > nhu cầu đồng bộ
10/28/2005 Trần Hạnh Nhi 11
IPC theo nguyên tắc trao đổi thông điệp
User Process
OS-Kernel
User Process
OS-Kernel
Network
 Không có bộ nhớ chung
 Cần có đường kết nối giữa các máy tính
10/28/2005 Trần Hạnh Nhi 12
Message
 Message
 Dữ liệu có cấu trúùc
 Cấu trúc và thông dòch msg được thỏa thuận giữa 2 tiến trình liên
lạc
 HĐH cung cấp 2 primitive chính
 send(destination, message)
 receive(source, message)
 Các vấn đề quan tâm :
 Direct or indirect addressing
 Blocking or non-blocking communication
 Reliable or unreliable communication
 Buffered or un-buffered communication
10/28/2005 Trần Hạnh Nhi 13
Ñònh daïng Message
10/28/2005 Trần Hạnh Nhi 14
Nhận xét message

Socket Communication
10/28/2005 Trần Hạnh Nhi 19
Máy A
(UNIX)
Máy B
(Windows)
Liên lạc giữa các hệ thống không đồng nhất
P1
P2
Send( )
Receive( )
Socket
Socket
10/28/2005 Trần Hạnh Nhi 20
Liên lạc thông qua Socket
 Hỗ trợ 2 phương thức liên lạc
 Connection-oriented (TCP/IP)
 Stream
 Reliable
 Bi-directional communication
 Connectionless (UDP/IP)
 Datagram
 Unreliable
 Bi-directional communication
 Cho phép liên lạc giữa các tiến trình trên các mạng không
đồng nhất
10/28/2005 Trần Hạnh Nhi 21
Phương thức Connection-Oriented
 Thực hiện trên TCP (Transmission Control Protocol.)
 Phải thực hiện kết nối giữa 2 tiến trình trước khi trao đổi dữ liệu

sa_family_t sin_family; /* address family */
in_port_t sin_port; /* protocol port number */
struct in_addr sin_addr; /* IP addr in NW byte
order */
char sin_zero[8]; /* unused, set to zero */
};
10/28/2005 Trần Hạnh Nhi 24
Port Numbers
 Port là 1 khái niệm trừu tượng được TCP/UDP sử dụng
để phân biệt các ứng dụng trên một máy chủ
 Một port được xác đònh bằng 1 số nguyên 16 bit là
port
number
.
 3 miền giá trò đươc dành cho
 Well-known ports (0-1023)
 Registered ports (1024-49151)
 Dynamic ports (49512 – 65535)
10/28/2005 Trần Hạnh Nhi 25
Some Well-Known Ports


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status