1. Trang chủ
  2. » Công Nghệ Thông Tin

Hệ điều hành chương 3 quá trình

33 199 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Ngày đăng: 03/12/2015, 21:48