YOMEDIA
Bài giảng Hệ điều hành - Chương 3: Liên lạc giữa các tiến trình
Chia sẻ: Hkmghnjm Hkmghnjm
| Ngày:
| Loại File: PDF
| Số trang:29
107
lượt xem
16
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng Hệ điều hành Chương 3: Liên lạc giữa các tiến trình trình bày về các nội dung lần lượt như sau nh cầu liên lạc thông tin, các cơ chế liên lạc: chia sẻ tài nguyên chung, trao đổi thông điệp, IPC theo nguyên tắc chia sẻ tài nguyên chung.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Hệ điều hành - Chương 3: Liên lạc giữa các tiến trình
- BAØI GIẢNG 3 : LIEÂN LAÏC GIÖÕA CAÙC TIEÁN TRÌNH
CÔ CHEÁ ?
TRAO ÑOÅI THOÂNG TIN GIÖÕA CAÙC TIEÁN TRÌNH
VAÁN ÑEÀ ?
GÆAI PHAÙP ?
10/28/2005 Trần Hạnh Nhi 1
- Nhu Caàu Lieân Laïc
Q
Chia seû thoâng tin
P L
R
Phoái hôïp xöû lyù JOB
P
R1 L
Q
R2
10/28/2005 Trần Hạnh Nhi 2
- Caùc cô cheá lieân laïc
Chia seû taøi nguyeân chung
Signal
Pipe
Shared Memory
Trao ñoåi thoâng ñieäp
Message
Socket
10/28/2005 Trần Hạnh Nhi 3
- IPC theo nguyeân taéc chia seû taøi nguyeân chung
User Process User Process
shared
resources
OS - Kernel
Caùc tieán trình chia seû
Memory
File System Space
Communication Facilities, Common communication protocol
10/28/2005 Trần Hạnh Nhi 4
- Signal
Signal
Meaning
Handler
Ñònh nghóa tröôùc khi thöïc hieän lieân laïc OS
SIGINT, SIGSTOP…
SIGUSR1, SIGUSER2 Signal
Hoã trôï lieân laïc
Kernel vôùi User Process Signal handler
Process Error
Timer
Child Process keát thuùc…
Signal Action
User process vôí nhau
Terminate Process
Process
Suspend, Resume…
10/28/2005 Trần Hạnh Nhi 5
- Name Value Function
SIGHUP 1 Terminal hangup
SIGINT 2 Interrupt by user: generated by < CTRL C >
SIGQUIT 3 Quit by user: generated by < CTRL \ >
SIGFPE 8 Floating point error such as divide by zero
SIGKILL 9 Kill the process
SIGUSR1 10 User defined signal 1
SIGSEGV 11 Segment violation: process has tried to access
memory not assigned to it
SIGUSR2 12 User defined signal 2
SIGALRM 14 Timer set with alarm() function has timed out
SIGTERM 15 Termination request
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
- Nhaän xeùt Signals
Lieân laïc khoâng ñoàng boä L
Khoâng bieát tröôùc thôøi ñieåm SH
Thieáu tin caäy
Quiz : OK Q Sig
A B
Khoâng cho pheùp trao ñoåi döõ lieäu
L
Q
10/28/2005 ?
Result
Trần Hạnh Nhi 7
- Pipes
AB AB
Q B……….A L
WritePipe() ReadPipe()
Pipe
Kernel buffer (File) coù kích thöôùc giôùi haïn (4K, 8K…)
HÑH cung caáp haøm WritePipe & ReadPipe
WritePipe khi Pipe ñaày ?
ReadPipe khi Pipe roãng ?
Phaûiù xeùt ñeán caùc khaû naêng ñoàng boä
Hoã trôï lieân laïc (UNIX original )
Giöõa 2 tieán trình Cha - Con
Moät chieàu
Khoâng caáu truùc (byte transfer)
10/28/2005 Trần Hạnh Nhi 8
- Nhaän xeùt Pipe
Öu ñieåm :
Cho pheùp trao ñoåi döõ lieäu khoâng caáu truùc
Khuyeát ñieåm
Chi phí thöïc hieän cao (system call)
Lieân laïc giöõa 2 tieán trình
Lieân laïc moät chieàu
Pipe trong caùc HÑH hieän ñaïi :
Anomynous Pipe : This…
Named Pipe : Unix , Windows NT…
Truyeàn döõ lieäu coù caáu truùc
Lieân laïc 2 chieàu
10/28/2005 Trần Hạnh Nhi 9
- Shared Memory
Shared Memory:
Laø moät phaàn khoâng gian nhôù khoâng thuoäc sôû höõu cuûa tieán trình
naøo
Ñöôïc HÑH taïo ra
Caùc tieán trình coù theå aùnh xaï ñòa chæ vaøo khoâng gian chia seû naøy
ñeå truy xuaát döõ lieäu (nhö ñoái vôùi khoâng gian noäi boä)
Khoâng giôùi haïn soá löôïng tieán trình, chieàu trao ñoåi, vaø thöù töï
truy caäp
Maâu thuaãn truy xuaát - > nhu caàu ñoàng boä
10/28/2005 Trần Hạnh Nhi 10
- IPC theo nguyeân taéc trao ñoåi thoâng ñieäp
User Process User Process
OS-Kernel OS-Kernel
Network
Khoâng coù boä nhôù chung
Caàn coù ñöôøng keát noái giöõa caùc maùy tính
10/28/2005 Trần Hạnh Nhi 11
- Message
Message
Döõ lieäu coù caáu truùùc
Caáu truùc vaø thoâng dòch msg ñöôïc thoûa thuaän giöõa 2 tieán trình lieân
laïc
HÑH cung caáp 2 primitive chính
send(destination, message)
receive(source, message)
Caùc vaán ñeà quan taâ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 12
- Ñònh daïng Message
10/28/2005 Trần Hạnh Nhi 13
- Nhaän xeùt message
Laø cô cheá IPC toång quaùt
Hoã trôï lieân laïc giöõa caùc tieán trính treân cuøng maùy
Hoã trôï lieän laïc giöõa caùc tieán trính trong heä thoáng phaân taùn
Lieân laïc giöõa caùc heä thoáng khoâng ñoàng nhaát ?
10/28/2005 Trần Hạnh Nhi 14
- Lieân laïc giöõa caùc heä thoáng khoâng ñoàng nhaát
Máy A
Send( ) //UNIX
P1
Receive( ) //WIN
(UNIX)
Máy B
P2
(Windows)
10/28/2005 Trần Hạnh Nhi 15
- Socket
Endpoint cuûa moät keát noái 2 chieàu
Töông ñöông vôùi moät network interface (hardware)
Cho pheùp caùc öùng duïng “plug in” vaøo maïng moät caùch aån duï
Laø moät giao dieän laäp trình maïng
Cho pheùp caùc tieán trình lieân laïc 2 chieàu vôùi nhau
Thieát laäp lieân laïc : taïo 2 socket, keát noái chuùng vôùi nhau
Socket description
Söû duïng moät transport protocol
Caàn ñaëc taû IPaddress vaø port keát noái
Ñöôïc hoã trôï ñaàu tieân trong Berkeley socket
Laø söï môû roäng cuûa nhaäp xuaát file tröøu töôïng
Hieän nay ñöôïc hoã trôï trong haàu heát HÑH hieän ñaïi
10/28/2005 Trần Hạnh Nhi 16
- 10/28/2005 Trần Hạnh Nhi 17
- Socket Communication
10/28/2005 Trần Hạnh Nhi 18
- Lieân laïc giöõa caùc heä thoáng khoâng ñoàng nhaát
Máy A
P1
Socket Send( )
(UNIX)
Máy B
Receive( ) Socket P2
10/28/2005 Trần Hạnh Nhi (Windows) 19
- Lieân laïc thoâng qua Socket
Hoã trôï 2 phöông thöùc lieân laïc
Connection-oriented (TCP/IP)
Stream
Reliable
Bi-directional communication
Connectionless (UDP/IP)
Datagram
Unreliable
Bi-directional communication
Cho pheùp lieân laïc giöõa caùc tieán trình treân caùc maïng khoâng
ñoàng nhaát
10/28/2005 Trần Hạnh Nhi 20
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...