Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
416,04 KB
Nội dung
H I U HÀNH (OPERATING SYSTEM) Trình bày:Nguy n Hoàng Vi t Khoa Công Ngh Thông Tin i H c C n Th 3.1 Ch ng 3: Quá trình (Process) ̇ Khái ni m v trình ̇ nh th i cho trình ̇ Các thao tác trình ̇ Giao ti p liên trình Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.2 Khái ni m v trình (1) nh ngh a ̇ H u hành có th th c thi nhi u d ng ch • Các ch ng trình H H – system calls • H th ng bó – công vi c (jobs) • H th ng chia th i gian - ch ng trình ng • hay tác v (task) H th ng m t ng i dùng – ch ng trình: i dùng (user program) ng trình ng d ng khác ̇ Quá trình - m t ch ̇ ng trình th c thi S trình di n theo cách th c tu n t M t trình bao g m: • • • • • th c thi c a Mã l nh ch ng trình (program code) B đ m ch ng trình (program counter) ghi c a CPU Ng n x p (stack) Ph n d li u (data section) Có th g m ph n b nh c p phát đ ng trình ch y (heap) Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.3 Khái ni m v trình (2) Tr ng thái c a trình (Process state) M t trình có th có m t tr ng thái sau: ̇ new: trình đ c kh i t o ̇ running: ch th c a trình đ c th c thi ̇ waiting: trình ch đ i m t s ki n xu t hi n (hoàn thành xu t/nh p, ch đ i m t tín hi u) ̇ ready: trình đ i đ đ c s d ng CPU ̇ terminated: trình k t thúc Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.4 Khái ni m v trình (3) L u đ tr ng thái c a trình Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.5 Khái ni m v trình (4) Kh i u n trình (PCB - Process Control Block) Là thông tin k t h p v i m i trình: ̇ ̇ ̇ ̇ ̇ ̇ ̇ Tr ng thái c a trình B đ m ch ng trình Các ghi Thông tin v đ nh th i s d ng CPU Thông tin v qu n lý b nh Thông tin v chi phí Thông tin v tr ng thái nh p/xu t Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.6 Khái ni m v trình (5) Chuy n CPU ph c v trình ̇ PCB đ c xem nh m t n i c t gi thông tin cho trình ̇ Thông tin tr ng thái ph i đ c l u tr m t interrupt xu t hi n, nh m cho phép trình có th ti p t c xác v sau Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.7 Khái ni m v trình (6) Chuy n ng c nh (Context Switch) ̇ Khi CPU chuy n sang m t trình khác, h th ng ph i l u l i tr ng thái c a trình c n p tr ng thái l u tr c a trình Tác v g i context switch c ̇ Th i gian cho context switch m t phí t n – h th ng th c hi n công vi c vô ích ̇ Th i gian ph thu c vào h tr c a ph n c ng: • T c đ chuy n ph thu c vào t c đ b nh , s l • • ng ghi ph i đ c chép ch th đ c bi t (nh ch th dùng n p l u tr t t c ghi) T c đ thông th ng t đ n 1000 s Th i gian có th m t th t c chai (bottleneck) H H ph c t p Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.8 nh th i cho trình (1) (Process Scheduling) Các hàng đ i đ nh th i: ̇ Hàng đ i công vi c (Job queue): ̇ ̇ ̇ t p h p t t c trình h th ng Hàng đ i s n sàng (Ready queue): t p h p t t c trình n m b nh , s n sàng ch đ th c thi Hàng đ i thi t b (Device queue): t p h p trình đ i s d ng m t thi t b xu t/nh p Quá trình có th di chuy n gi a hàng đ i khác Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.9 nh th i cho trình (2) Hàng đ i s n sàng nhi u hàng đ i thi t b Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.10 Các thao tác trình (6) H p tác trình ̇ Quá trình đ c l p không th h nh h ng ho c không b ng b i s th c thi c a trình khác ̇ H p tác trình có th nh h s th c thi c a trình khác ng ho c b nh h nh ng b i ̇ Thu n l i c a s h p tác trình: • • • • Chia s thông tin Gia t ng t c đ tính toán (n u máy có nhi u CPU) Module hóa Ti n d ng ̇ Các toán h p tác trình: ng th , b đ c – b ghi, … i s n xu t – ng Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) i tiêu 3.19 Giao ti p liên trình (1) (IPC – Interprocess Communication) ̇ IPC cung c p c ch cho phép giao ti p đ ng b h at đ ng c a trình không chia s không gian đ a ch (có th n m máy khác nhau) • H u ích cho môi tr ̇ IPC dùng h ng phân tán (ví d chat www) th ng chuy n thông p (Message Passing System) ̇ H th ng chuy n thông p có th đ c đ nh ngh a theo nhi u cách Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.20 Giao ti p liên trình (2) H th ng chuy n thông p ̇ H th ng chuy n thông p cho phép trình giao ti p v i mà không c n tham kh o đ n bi n dùng chung ̇ Cung c p nh t thao tác (operation): • send (message) – kích th c thông p c đ nh/bi n đ i • receive(message) ̇ N u P Q giao ti p v i nhau, chúng c n: • Thi t l p n i k t giao ti p (communication link) gi a chúng; • Trao đ i thông p thông qua send/receive ̇ Cài đ t n i k t giao ti p: • Thu c tính v t lý: b nh chia s , bus ph n c ng, … • Thu c tính lu n lý: giao ti p tr c hay gián ti p, đ i x ng hay b t đ i x ng, b ng b n hay tham chi u, kích th p c đ nh hay bi n đ i Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) c thông 3.21 Giao ti p liên trình (3) Giao ti p tr c ti p ̇ Các trình ph i đ c đ t tên rõ ràng: • Send (P, message) – g i thông p t i trình P • Receive(Q, message) – nh n thông p t trình Q ̇ Thu c tính c a n i k t giao ti p: • • • • • • Các n i k t đ c thi t l p t đ ng; M t n i k t k t h p v i xác m t c p trình; Gi a m i c p trình t n t i xác m t n i k t; N i k t có th m t h ng (unidirectional), nh ng thông th ng hai h ng (bi-directional); i x ng vi c đánh đ a ch : trình ph i bi t tên đ giao ti p; Thay đ i đ th c hi n tính b t đ i x ng đánh đ a ch : X Send (P, message) – g i thông p t i trình P X Receive(id, message) – nh n thông p t trình b t k Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.22 Giao ti p liên trình (4) Giao ti p gián ti p ̇ Các thông p đ c ng đ c g i nh n thông qua h p th (mailbox), c xem nh c ng (port) • M i mailbox có m t đ nh danh (id) nh t; • Các trình ch có th giao ti p n u chúng dùng chung mailbox X Send (A, message) – g i thông p t i h p th A X Receive(A, message) – nh n thông p t h p th A ̇ Thu c tính c a n i k t giao ti p: • N i k t ch đ • • • c thi t l p n u trình chia s m t h p th chung; M t n i k t có th k t h p v i nhi u trình; M i c p trình có th dùng chung nhi u n i k t giao ti p N i k t có th m t h ng hay hai h ng Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.23 Giao ti p liên trình (5) Giao ti p gián ti p ̇ Các thao tác: • T o h p th m i; • G i nh n thông p thông qua h p th ; • Xóa h p th ̇ Chia s h p th : • P1, P2, and P3 chia s h p th A • P1, g i; P2 and P3 nh n t A • Quá trình nh n thông p? Tùy vào ch n gi i pháp ̇ Gi i pháp: • Cho phép m t n i k t k t h p v i nhi u nh t trình • Cho phép ch trình th c hi n thao tác nh n t i m t th i m • Cho phép h th ng ch n m t cách b t k trình nh n (không ph i c hai) Bên g i s đ c thông báo nh n Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.24 Giao ti p liên trình (6) ng b hóa (Synchronization) ̇ Chuy n thông p có th ̇ ̇ ngh n ho c không ngh n (blocking/non-blocking) Ngh n đ c xem đ ng b , không ngh n không đ ng b Send Receive có th ngh n ho c không ngh n: • Send ngh n: trình g i b ngh n đ n thông p đ c nh n • Send không ngh n: trình g i g i thông p ti p t c h at • • đ ng Receive ngh n: trình nh n ngh n cho đ n thông p s n dùng Receive không ngh n: trình nh n nh n l i m t thông p h p l hay r ng Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.25 Giao ti p liên trình (7) T o vùng đ m (Buffering) ̇ T o hàng đ i đ ch a thông p liên quan đ n m t n i ̇ k t Ba cách cài đ t: • S c ch a (Zero capacity): trình g i b ngh n đ n thông • • S S gi p đ c nh n c ch a gi i h n (Bounded capacity): chi u dài gi i h n n thông p Quá trình g i ngh n hàng đ i b đ y c ch a không gi i h n (Unbounded capacity): chi u dài không i h n Quá trình g i không bao gi ngh n Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.26 Giao ti p khách-ch (1) (Client-server communication) ̇ c dùng đ truy c p d li u server ̇ Các ph ng pháp shared memory message passing c ng ̇ có th đ c dùng cho giao ti p khách-ch Ba ph ng pháp khác th ng dùng cho giao ti p d ng này: • Sockets • Remote Procedure Calls (RPCs) • Java’s Remote Method Invocation (RMI) Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.27 Giao ti p khách-ch (1) Sockets ̇ M t socket đ c đ nh ngh a nh m t m đ u cu i cho giao ti p (endpoint for communication) • M t c p trình giao ti p qua m ng dùng m t c p socket – m t cho m i trình ̇ M i socket đ c hình thành t đ a ch IP k t h p v i m t s hi u c ng (port number) • Socket 162.15.3.6:1625 c ng 1625 máy 162.15.3.6 ̇ Các s hi u c ng < 1024 đ c dành cho d ch v chu n nh telnet (23), ftp (21) http (80) ̇ Khi m t trình client kh i t o m t yêu c u n i k t, đ c gán m t c ng b i máy • T t c n i k t ph i nh t v i m i trình có m t s hi u c ng khác Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.28 Giao ti p khách-ch (2) Sockets (tt) Socket communication Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.29 Giao ti p khách-ch (3) Remote procedure Call (RPC) ̇ RPC tr u t ng hóa l i g i th t c (procedure calls) gi a trình h th ng m ng • Nó cho phép m t client g i m t th t c m t máy • xa nh g i m t th t c c c b Message trao đ i giao ti p RPC đ c s p x p có c u trúc đ c chuy n đ n m t RPC daemon l ng nghe m t c ng t i máy xa ̇ Stub: đ i di n phía client cho m t th t c th c server • Khi client g i m t th tuc xa, h th ng RPC s g i stub t ng ng, chuy n cho tham s đ c cung c p t i th tuc xa • Stub s đ nh v c ng server s p x p tham s theo m t đ nh dang (đóng gói) g i b ng message passing ̇ M t stub t ng t server nh n message này, m tham s g i th c hi n th t c server Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) gói 3.30 Giao ti p khách-ch (4) Remote procedure Call (tt) Th c thi c a RPC Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.31 Giao ti p khách-ch (5) Remote Method Invocation (RMI) ̇ RMI m t c ch Java t ng t RPC ̇ RMI cho phép m t ch ng trình Java m t máy g i th c hi n m t method m t remote object Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.32 Giao ti p khách-ch (6) Remote Method Invocation (tt) ̇ RMI ̇ ̇ đ t remote object d a vào stub skeleton Stub đ i di n cho remote object phía client Skeleton đ i di n cho remote object phía server cài Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3.33 [...]... Thông Tin HCT (2007) 3. 13 Các thao tác trên quá trình (1) T o quá trình Quá trình cha t o ra quá trình con, đ n l t quá trình con này l i t o ra nh ng quá trình khác, t o nên cây quá trình Cây quá trình trong h th ng UNIX Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3. 14 Các thao tác trên quá trình (2) T o quá trình (tt) ̇ Chia s tài nguyên – có nhi u l a ch n: • Quá trình cha và con chia... (2007) 3. 17 Các thao tác trên quá trình (5) K t thúc quá trình ̇ Quá trình th c hi n câu l nh cu i cùng và yêu c u H H xóa nó (dùng exit) • Xu t d li u t quá trình con lên quá trình cha (dùng wait) • Tài nguyên c a quá trình b thu h i l i b i h đi u hành ̇ Quá trình cha có th k t thúc s th c thi c a quá trình con (dùng abort) • Quá trình con đã v t quá s tài nguyên đ c c p • Công vi c giao cho quá trình. .. • Quá trình con chia s m t ph n tài nguyên c a quá trình cha • Quá trình cha và con không chia s tài nguyên nào c ̇ D li u kh i t o: • c chuy n theo t quá trình cha sang con ̇ Th c thi: • Quá trình cha và con th c thi song song • Quá trình cha đ i đ n khi quá trình con hoàn thành ̇ Không gian đ a ch : • Quá trình con sao chép không gian đ a ch c a quá trình cha • (cùng ch ng trình và d li u) Quá trình. .. n a • Quá trình cha đang thoát X H đi u hành không cho phép quá trình con ti n hành khi quá trình cha c a nó k t thúc X S k t thúc hàng lo t các quá trình con (cascading termination) Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3. 18 Các thao tác trên quá trình (6) H p tác quá trình ̇ Quá trình đ c l p không th h nh h ng ho c không b ng b i s th c thi c a quá trình khác ̇ H p tác quá trình. .. n p ch ng trình riêng c a nó Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3. 15 Các thao tác trên quá trình (3) T o quá trình (tt) ̇ UNIX: • fork – là l i g i h th ng dùng t o quá trình m i • execlp – là l i g i h th ng đ c s d ng sau fork b i m t trong 2 quá trình đ thay th không gian đ a ch c a quá trình đã g i execlp b ng m t quá trình m i ̇ Windows NT: h tr c hai mô hình • Quá trình con... Tin HCT (2007) c thông 3. 21 Giao ti p liên quá trình (3) Giao ti p tr c ti p ̇ Các quá trình ph i đ c đ t tên rõ ràng: • Send (P, message) – g i thông đi p t i quá trình P • Receive(Q, message) – nh n thông đi p t quá trình Q ̇ Thu c tính c a n i k t giao ti p: • • • • • • Các n i k t đ c thi t l p t đ ng; M t n i k t k t h p v i chính xác m t c p quá trình; Gi a m i c p quá trình t n t i chính xác... (2007) 3. 23 Giao ti p liên quá trình (5) Giao ti p gián ti p ̇ Các thao tác: • T o h p th m i; • G i và nh n thông đi p thông qua h p th ; • Xóa h p th ̇ Chia s h p th : • P1, P2, and P3 chia s h p th A • P1, g i; P2 and P3 đang nh n t A • Quá trình nào nh n thông đi p? Tùy vào ch n 1 trong các gi i pháp ̇ Gi i pháp: • Cho phép m t n i k t k t h p v i nhi u nh t 2 quá trình • Cho phép ch 1 quá trình. .. trình đã g i execlp b ng m t quá trình m i ̇ Windows NT: h tr c hai mô hình • Quá trình con sao chép t quá trình cha • Quá trình cha xác đ nh tên c a m t ch ng trình cho h đi u hành n p vào không gian đ a ch c a quá trình m i Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3. 16 Các thao tác trên quá trình (4) Minh h a l nh fork trong UNIX #include #include int main(int argc,...nh th i cho quá trình (3) Các b đ nh th i ̇ B đ nh th i dài k (Long-term scheduler/job scheduler) – ch n ̇ ̇ quá trình nào s đ c đ t vào hàng đ i s n sàng (n p vào b nh ) B đ nh th i ng n k (Short-term scheduler/CPU scheduler) – ch n ra quá trình s đ c th c thi k ti p và c p CPU cho nó B đ nh th i trung k (Medium-term scheduling) – th c hi n hoán v (swapping) các quá trình ra/vào b nh /đ a... ng (bi-directional); i x ng trong vi c đánh đ a ch : 2 quá trình ph i bi t tên nhau đ giao ti p; Thay đ i đ th c hi n tính b t đ i x ng trong đánh đ a ch : X Send (P, message) – g i thông đi p t i quá trình P X Receive(id, message) – nh n thông đi p t quá trình b t k Nguy n Hoàng Vi t – Khoa Công Ngh Thông Tin HCT (2007) 3. 22 Giao ti p liên quá trình (4) Giao ti p gián ti p ̇ Các thông đi p đ c ng ... Khoa Công Ngh Thông Tin HCT (2007) 3. 13 Các thao tác trình (1) T o trình Quá trình cha t o trình con, đ n l t trình l i t o nh ng trình khác, t o nên trình Cây trình h th ng UNIX Nguy n Hoàng Vi... t trình cha sang ̇ Th c thi: • Quá trình cha th c thi song song • Quá trình cha đ i đ n trình hoàn thành ̇ Không gian đ a ch : • Quá trình chép không gian đ a ch c a trình cha • (cùng ch ng trình. .. (2007) 3. 14 Các thao tác trình (2) T o trình (tt) ̇ Chia s tài nguyên – có nhi u l a ch n: • Quá trình cha chia s t t c tài nguyên • Quá trình chia s m t ph n tài nguyên c a trình cha • Quá trình