Đang tải... (xem toàn văn)
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 1 - Chng 2: Qun lý tin trình Trong chng này chúng ta s tìm hiu chc nng qun lý tin trình ca Hu hành : làm th nào phân chia CPU cho các tin trình ? Theo vt x lý ca tin trình ? Và các thao tác trên tin trình ? 2.1 T chc qun lý tin trình 2.1.1. Các trng thái ca tin trình Trng thái ca tin trình ti mt thi m c xác nh bi hot ng hin thi ca tin trình ti thi m ó. Trong quá trình sng, mt tin trình thay i trng thái do nhiu nguyên nhân nh : phi ch mt s kin nào ó xy ra, hay i mt thao tác nhp/xut hoàn tt, buc phi dng hot ng do ã ht thi gian x lý … i mt thi m, mt tin trình có th nhn trong mt các trng thái sau ây : i to : tin trình ang c to lp. Running : các ch th ca tin trình ang c x lý. Blocked : tin trình ch c cp phát mt tài nguyên, hay ch mt
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 1 - Chng 2: Qun lý tin trình Trong chng này chúng ta s tìm hiu chc nng qun lý tin trình ca Hu hành : làm th nào phân chia CPU cho các tin trình ? Theo vt x lý ca tin trình ? Và các thao tác trên tin trình ? 2.1 T chc qun lý tin trình 2.1.1. Các trng thái ca tin trình Trng thái ca tin trình ti mt thi m c xác nh bi hot ng hin thi ca tin trình ti thi m ó. Trong quá trình sng, mt tin trình thay i trng thái do nhiu nguyên nhân nh : phi ch mt s kin nào ó xy ra, hay i mt thao tác nhp/xut hoàn tt, buc phi dng hot ng do ã ht thi gian x lý … i mt thi m, mt tin trình có th nhn trong mt các trng thái sau ây : i to : tin trình ang c to lp. Running : các ch th ca tin trình ang c x lý. Blocked : tin trình ch c cp phát mt tài nguyên, hay ch mt kin xy ra . Ready : tin trình chc cp phát CPU x lý. t thúc : tin trình hoàn tt x lý. Hình 2.2 S chuyn trng thái gia các tin trình i mt thi m, ch có mt tin trình có th nhn trng thái running trên mt b x lý bt k. Trong khi ó, nhiu tin trình có th trng thái blocked hay ready. Các cung chuyn tip trong s trng thái biu din sáu s chuyn trng thái có th xy ra trong các u kin sau : Tin trình mi to c a vào h thng u phi cp phát cho tin trình mt khong thi gian s dng CPU Tin trình kt thúc Tin trình yêu cu mt tài nguyên nhng cha c áp ng vì tài nguyên cha sn sàng cp phát ti thi m ó ; hoc tin trình phi ch mt s kin hay thao tác nhp/xut. u phi chn mt tin trình khác cho x lý . Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 2 - Tài nguyên mà tin trình yêu cu tr nên sn sàng cp phát ; hay s kin hoc thao tác nhp/xut tin trình ang i hoàn tt. 2.1.2 Ch x lý ca tin trình m bo h thng hot ng úng n, hu hành cn phi c bo v khi s xâm phm ca các tin trình. Bn thân các tin trình và d liu cng cn c bo v tránh các nh hng sai lc ln nhau. Mt cách tip cn gii quyt vn là phân bit hai ch x lý cho các tin trình : ch không c quyn và chc quyn nh vào s tr giúp ca c ch phn cng. Tp lnh ca CPU c phân chia thành các lnh c quyn và lnh không c quyn. C ch phn cng ch cho phép các lnh c quyn c thc hin trong ch c quyn. Thông thng ch có hu hành hot ng trong ch c quyn, các tin trình ca ngi dùng hot ng trong ch không c quyn, không thc hin c các lnh c quyn có nguy cnh ng n h thng. Nh vy hu hành c bo v. Khi mt tin trình ngi dùng gi n mt li gi h thng, tin trình ca hu hành x lý li gi này s hot ng trong chc quyn, sau khi hoàn tt thì tr quyn u khin v cho tin trình ngi dùng trong ch không c quyn. Hình v 2.3 Hai ch x lý 2.1.3. Cu trúc d liu khi qun lý tin trình u hành qun lý các tin trình trong h thng thông qua khi qun lý tin trình (process control block - PCB). PCB là mt vùng nh lu tr các thông tin mô t cho tin trình, vi các thành phn ch yu bao gm : nh danh ca tin trình (1) : giúp phân bit các tin trình Trng thái tin trình (2): xác nh hot ng hin hành ca tin trình. Ng cnh ca tin trình (3): mô t các tài nguyên tin trình ang trong quá trình, hoc phc v cho hot ng hin ti, hoc làm c s phc hi hot ng cho tin trình, bao gm các thông tin v: Trng thái CPU: bao gm ni dung các thanh ghi, quan trng nht là con tr lnh IP lu tra ch câu lnh k tip tin trình s x lý. Các thông tin này cn c lu tr khi xy ra mt ngt, nhm có th cho phép phc hi hot ng ca tin trình úng nh trc khi b ngt. x lý: dùng cho máy có cu hình nhiu CPU, xác nh s hiu CPU mà tin trình ang s dng. nh chính: danh sách các khi nhc cp cho tin trình. Tài nguyên s dng: danh sách các tài mguyên h thng mà tin trình ang s dng. Tài nguyên to lp: danh sách các tài nguyên c tin trình to lp. Thông tin giao tip (4): phn ánh các thông tin v quan h ca tin trình vi các tin trình khác trong h thng : Tin trình cha: tin trình to lp tin trình này . Tin trình con: các tin trình do tin trình này to lp . Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 3 - u tiên : giúp bu phi có thông tin la chn tin trình c cp CPU. Thông tin thng kê (5): ây là nhng thông tin thng kê v hot ng ca tin trình, nh thi gian ã s dng CPU,thi gian ch. Các thông tin này có th có ích cho công vic ánh giá tình hình h thng và doán các tình hung tng lai. Hình v 2.4 Khi mô t tin trình 2.1.4. Thao tác trên tin trình u hành cung cp các thao tác ch yu sau ây trên mt tin trình : o lp tin trình (create) t thúc tin trình (destroy) m dng tin trình (suspend) tái kích hot tin trình (resume) thay i u tiên tin trình 2.1.4.1. To lp tin trình Trong quá trình x lý, mt tin trình có th to lp nhiu tin trình mi bng cách s dng mt li gi h thng ng ng. Tin trình gi li gi h thng to tin trình mi sc gi là tin trình cha, tin trình c to i là tin trình con. Mi tin trình con n lt nó li có th to các tin trình mi…quá trình này tip tc s o ra mt cây tin trình. Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 4 - Hình v2.5 Mt cây tin trình trong h thng UNIX Các công vic hu hành cn thc hin khi to lp tin trình bao gm : nh danh cho tin trình mi phát sinh a tin trình vào danh sách qun lý ca h thng xác nh u tiên cho tin trình o PCB cho tin trình p phát các tài nguyên ban u cho tin trình Khi mt tin trình to lp mt tin trình con, tin trình con có th sc hu hành trc tip cp phát tài nguyên hoc c tin trình cha cho tha hng mt s tài nguyên ban u. Khi mt tin trình to tin trình mi, tin trình ban u có th x lý theo mt trong hai kh nng sau : Tin trình cha tip tc x lý ng hành vi tin trình con. Tin trình cha chn khi mt tin trình con nào ó, hoc tt c các tin trình con kt thúc x lý. Các hu hành khác nhau có th chn la các cài t khác nhau thc hin thao tác to lp mt tin trình. 2.1.4.2. Kt thúc tin trình t tin trình kt thúc x lý khi nó hoàn tt ch th cui cùng và s dng mt li gi h thng yêu cu h u hành hy b nó. ôi khi mt tin trình có th yêu cu hu hành kt thúc x lý ca mt tin trình khác. Khi mt tin trình kt thúc, hu hành thc hin các công vic : thu hi các tài nguyên h thng ã cp phát cho tin trình y tin trình khi tt c các danh sách qun lý ca h thng y b PCB ca tin trình u ht các hu hành không cho phép các tin trình con tip tc tn ti nu tin trình cha ã kt thúc. Trong nhng h thng nh th, hu hành s tng phát sinh mt lot các thao tác kt thúc tin trình con. 2.1.5. Cp phát tài nguyên cho tin trình Khi có nhiu ngi s dng ng thi làm vic trong h thng, hu hành cn phi cp phát các tài nguyên theo yêu cu cho mi ngi s dng. Do tài nguyên h thng thng rt gii hn và có khi không th chia s, Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 5 - nên him khi tt c các yêu cu tài nguyên ng thi u c tha mãn. Vì th cn phi nghiên cu mt phng pháp chia s mt s tài nguyên hu hn gia nhiu tin trình ngi dùng ng thi. Hu hành qun lý nhiu loi tài nguyên khác nhau (CPU, b nh chính, các thit b ngoi vi …), vi mi loi cn có mt ch cp phát và các chin lc cp phát hiu qa. Mi tài nguyên c biu din thông qua mt cu trúc d liu, khác nhau v chi tit cho tng loi tài nguyên, nhng c bn cha ng các thông tin sau : nh danh tài nguyên Trng thái tài nguyên : ây là các thông tin mô t chi tit trng thái tài nguyên : phn nào ca tài nguyên ã p phát cho tin trình, phn nào còn có th s dng ? Hàng i trên mt tài nguyên : danh sách các tin trình ang chc cp phát tài nguyên tng ng. cp phát : là n code m nhim vic cp phát mt tài nguyên c thù. Mt s tài nguyên òi hi các gii thut c bit (nh CPU, b nh chính, h thng tp tin), trong khi nhng tài nguyên khác (nh các thit b nhp/xut) có th cn các gii thut cp phát và gii phóng tng quát hn. Hình 2.6 Khi qun lý tài nguyên Các mc tiêu ca k thut cp phát : o m mt s lng hp l các tin trình truy xut ng thi n các tài nguyên không chia sc. p phát tài nguyên cho tin trình có yêu cu trong mt khong thi gian trì hoãn có th chp nhn c. i u hóa s s dng tài nguyên. có th thõa mãn các mc tiêu k trên, cn phi gii quyt các vn ny sinh khi có nhiu tin trình ng thi yêu cu mt tài nguyên không th chia s. 2.2 u phi tin trình Trong môi trng a chng, có th xy ra tình hung nhiu tin trình ng thi sn sàng x lý. Mc tiêu a các h phân chia thi gian (time-sharing) là chuyn i CPU qua li gia các tin trình mt cách thng xuyên nhiu ngi s dng có th tng tác cùng lúc vi tng chng trình trong quá trình x lý. thc hin c mc tiêu này, hu hành phi la chn tin trình c x lý tip theo. Bu phi s s ng mt gii thut u phi thích hp thc hin nhim v này. Mt thành phn khác ca hu hành cng tim n trong công tác u phi là phân phi (dispatcher). B phân phi s chu trách nhim chuyn i ng nh và trao CPU cho tin trình c chn bi bu phi x lý. 2.2.1. Gii thiu 2.2.1.1. Mc tiêu u phi Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 6 - u phi không cung cp c ch, mà a ra các quyt nh. Các hu hành xây dng nhiu chin lc khác nhau thc hin vic u phi, nhng tu chung cn t c các mc tiêu sau : a) S công bng ( Fairness) : Các tin trình chia s CPU mt cách công bng, không có tin trình nào phi chi vô hn c cp phát CPU b) Tính hiu qa (Efficiency) : thng phi tn dng c CPU 100% thi gian. c) Thi gian áp ng hp lý (Response time) : c tiu hoá thi gian hi áp cho các tng tác ca ngi s dng d) Thi gian lu li trong h thng ( Turnaround Time) : c tiu hóa thi gian hoàn tt các tác v x lý theo lô. e) Thông lng ti a (Throughput ) : c i hóa s công vic c x lý trong mt n v thi gian. Tuy nhiên thng không th tha mãn tt c các mc tiêu k trên vì bn thân chúng có s mâu thun vi nhau mà ch có th dung hòa chúng mc nào ó. 2.2.1.2. Các c m ca tin trình u phi hot ng ca các tin trình là mt vn rt phc tp, òi hi hu hành khi gii quyt phi xem xét nhiu yu t khác nhau có tht c nhng mc tiêu ra. Mt sc tính ca tin trình cn c quan tâm nh tiêu chun u phi : a) Tính hng xut / nhp ca tin trình ( I/O-boundedness): Khi mt tin trình nhn c CPU, ch yu nó ch s dng CPU n khi phát sinh mt yêu cu nhp xut ? Hot ng ca các tin trình nh th thng bao gm nhiu lt s dng CPU , mi lt trong mt thi gian khá ngn. b) Tính hng x lý ca tin trình ( CPU-boundedness): Khi mt tin trình nhn c CPU, nó có khuynh hng s dng CPU n khi ht thi gian dành cho nó ? Hot ng ca các tin trình nh th thng bao gm mt s ít lt s dng CPU , nhng mi lt trong mt thi gian dài. c) Tin trình tng tác hay x lý theo lô : Ngi s dng theo kiu tng tác thng yêu cu c hi áp tc thi i vi các yêu cu ca h, trong khi các tin trình ca tác vc x lý theo lô nói chung có th trì hoãn trong mt thi gian chp nhn c. d) u tiên ca tin trình : Các tin trình có thc phân cp theo mt s tiêu chun ánh giá nào ó, mt cách hp lý, các tin trình quan trng hn ( có u tiên cao hn) cn c u tiên hn. e) Thi gian ã s dng CPU ca tin trình : Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 7 - t s quan m u tiên chn nhng tin trình ã s dng CPU nhiu thi gian nht vì hy vng chúng s cn ít thi gian nht hoàn tt và ri khi h thng . Tuy nhiên cng có quan m cho rng các tin trình nhn c CPU trong ít thi gian là nhng tin trình ã phi ch lâu nht, do vy u tiên chn chúng. f) Thi gian còn li tin trình cn hoàn tt : Có th gim thiu thi gian chi trung bình ca các tin trình bng cách cho các tin trình cn ít thi gian nht hoàn tt c thc hin trc. Tuy nhiên áng tic là rt him khi bit c tin trình cn bao nhiêu thi gian na kt thúc x lý. 2.2.1.3. u phi không c quyn và u phi c quyn (preemptive/nopreemptive) Thut toán u phi cn xem xét và quyt nh thi m chuyn i CPU gia các tin trình. Hu hành có th thc hin c chu phi theo nguyên lý c quyn hoc không c quyn. u phi c quyn : Nguyên lý u phic quyn cho phép mt tin trình khi nhn c CPU s có quyn c chim CPU n khi hoàn tt x lý hoc t nguyn gii phóng CPU. Khi ó quyt nh u phi CPU s xy ra trong các tình hung sau: Khi tin trình chuyn t trng thái ang x lý(running) sang trng thái b khóa blocked ( ví d ch mt thao tác nhp xut hay ch mt tin trình con kt thúc…). Khi tin trình kt thúc. Các gii thut c quyn thng n gin và d cài t. Tuy nhiên chúng thng không thích hp vi các h thng tng quát nhiu ngi dùng, vì nu cho phép mt tin trình có quyn x lý bao lâu tùy ý, có ngha là tin trình này có th gi CPU mt thi gian không xác nh, có th ngn cn nhng tin trình còn li trong h thng có mt c hi x lý. u phi không c quyn : Ngc vi nguyên lý c quyn, u phi theo nguyên lý không c quyn cho phép tm dng hot ng ca mt tin trình ang sn sàng x lý. Khi mt tin trình nhn c CPU, nó n c s dng CPU n khi hoàn tt hoc t nguyn gii phóng CPU, nhng mt tin trình khác có u tiên có th dành quyn s dng CPU ca tin trình ban u. Nh vy là tin trình có th b tm dng hot ng t c lúc nào mà không c báo trc, tin trình khác x lý. Các quyt nh u phi xy ra khi : Khi tin trình chuyn t trng thái ang x lý (running) sang trng thái b khóa blocked ( ví d ch mt thao tác nhp xut hay ch mt tin trình con kt thúc…). Khi tin trình chuyn t trng thái ang x lý (running) sang trng thái ready ( ví d xy ra mt ngt). Khi tin trình chuyn t trng thái ch (blocked) sang trng thái ready ( ví d mt thao tác nhp/xut hoàn t). Khi tin trình kt thúc. Các thut toán u phi theo nguyên tc không c quyn ngn cn c tình trng mt tin trình c chim CPU, nhng vic tm dng mt tin trình có th dn n các mâu thun trong truy xut, òi hi phi s dng t phng pháp ng b hóa thích hp gii quyt. Trong các h thng s dng nguyên lý u phi c quyn có th xy ra tình trng các tác v cn thi gian x lý ngn phi ch tác v x lý vi thi gian rt dài hoàn tt! Nguyên lý u phi c quyn thng ch thích p vi các h x lý theo lô. i vi các h thng tng tác(time sharing), các h thi gian thc (real time),cn phi s dng nguyên lý u phi không c quyn các tin trình quan trng có c hi hi áp kp thi. Tuy nhiên thc hin u phi Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 8 - theo nguyên lý không c quyn òi hi nhng c ch phc tp trong vic phân nh u tiên, và phát sinh thêm chi phí khi chuyn i CPU qua li gia các tin trình. 2.2.2. T chc u phi 2.2.2.1. Các danh sách s dng trong quá trình u phi. u hành s dng hai loi danh sách thc hin u phi các tin trình là danh sách sn sàng (ready list) và danh sách chi(waiting list). Khi mt tin trình bt u i vào h thng, nó c chèn vào danh sách các tác v (job list). Danh sách này bao m tt c các tin trình ca h thng. Nhng ch các tin trình ang thng trú trong b nh chính và trng thái sn sàng tip nhn CPU hot ng mi c a vào danh sách sn sàng. u phi s chn mt tin trình trong danh sách sn sàng và cp CPU cho tin trình ó. Tin trình c cp CPU s thc hin x lý, và có th chuyn sang trng thái ch khi xy ra các s kin nhi mt thao tác nhp/xut hoàn tt, yêu cu tài nguyên cha c tha mãn, c yêu cu tm dng Khi ó tin trình sc chuyn sang mt danh sách chi. u hành ch s dng mt danh sách sn sàng cho toàn h thng, nhng mi mt tài nguyên ( thit b ngoi vi ) có mt danh sách chi riêng bao gm các tin trình ang chc cp phát tài nguyên ó. Hình 2.9 Các danh sách u phi Quá trình x lý ca mt tin trình tri qua nhng chu k chuyn i qua li gia danh sách sn sàng và danh sách chi. S di ây mô t su phi các tin trình da trên các danh sách ca h thng. Thot u tin trình mi c t trong danh sách các tin trình sn sàng (ready list), nó si trong danh sách này cho n khi c chn cp phát CPU và bt u x lý. Sau ó có th xy ra mt trong các tình hung sau : Tin trình phát sinh mt yêu cu mt tài nguyên mà h thng cha tháp ng, khi ó tin trình sc chuyn sang danh sách các tin trình ang ch tài nguyên tng ng. Tin trình có th b bt buc tm dng x lý do mt ngt xy ra, khi ó tin trình c a tr li vào danh sách sn sàng chc cp CPU cho lt tip theo. Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 9 - Hình 2.10 chuyn i gia các danh sách u phi Trong trng hp u tiên, tin trình cui cùng s chuyn t trng thái blocked sang trng thái ready và li c a tr vào danh sách sn sàng. Tin trình lp li chu k này cho n khi hoàn tt tác v thì c h thng y b khi mi danh sách u phi. 2.2.2.2. Các cp u phi Thc ra công vic u phi c hu hành thc hin hai mc : u phi tác v (job scheduling) và u phi tin trình ( process scheduling). a) u phi tác v Quyt nh la chn tác v nào c a vào h thng, và np nhng tin trình ca tác vó vào b nh chính thc hin. Chc nng u phi tác v quyt nh mc a chng ca h thng ( s lng tin trình trong nh chính). Khi h thng to lp mt tin trình, hay có mt tin trình kt thúc x lý thì chc nng u phi tác v mi c kích hot. Vì mc a chng tng i n nh nên chc nng u phi tác v có tn sut hot ng thp . h thng hot ng tt, b u phi tác v cn bit tính cht ca tin trình là hng nhp xut (I/O bounded) hay ng x lý ( CPU bounded). Mt tin trình c gi là hng nhp xut nu nó ch yu nó ch dng CPU thc hin các thao tác nhp xut. Ngc li mt tin trình c gi là hng x lý u nó ch u nó ch s dng CPU thc hin các thao tác tính toán. cân bng hot ng ca CPU và các thit b ngoi vi, bu phi tác v nên la chn các tin trình np vào b nh sao cho h thng là s pha trn hp lý gia các tin trình ng nhp xut và các tin trình ng x lý b) u phi tin trình Chn mt tin trình trng thái sn sàng ( ã c np vào b nh chính, và có tài nguyên hot ng ) và p phát CPU cho tin trình ó thc hin. Bu phi tin trình có tn sut hot ng cao, sau mi ln xy ra ngt ( do ng h báo gi, do các thit b ngoi vi ), thng là 1 ln trong khong 100ms. Do vy nâng cao hiu sut ca h thng, cn phi tng tc x lý ca bu phi tin trình. Chc nng u phi tin trình là t trong chc nng c bn, quan trng nht ca hu hành. Trong nhiu hu hành, có th không có bu phi tác v hoc tách bit rt ít i vi bu phi tin trình. Mt vài hu hành li a ra mt cp u phi trung gian kt hp c hai cp u phi tác v và tin trình Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 10 - Hình 2.11 Cp u phi trung gian 2.2.3. Các chin lc u phi 2.2.3.1. Chin lc FIFO Nguyên tc : CPU c cp phát cho tin trình u tiên trong danh sách sn sàng có yêu cu, là tin trình c a vào h thng sm nht. ây là thut toán u phi theo nguyên tc c quyn. Mt khi CPU c p phát cho tin trình, CPU chc tin trình t nguyn gii phóng khi kt thúc x lý hay khi có mt yêu cu nhp/xut. Hình 2.12 u phi FIFO Ví d : Tin trình Thi m vào RL Thi gian x lý P1 0 24 P2 1 3 P3 2 3 Th t cp phát CPU cho các tin trình là : P1 P2 P3 0 ‘24 27 30 thi gian chi c x lý là 0 i vi P1, (24 -1) vi P2 và (24+3-2) vi P3. Thi gian ch trung bình là ( 0+23+25)/3 = 16 milisecondes. 2.2.3.2. Chin lc phân phi xoay vòng (Round Robin) Nguyên tc : Danh sách sn sàng c x lý nh mt danh sách vòng, bu phi ln lt cp phát cho ng tin trình trong danh sách mt khong thi gian s dng CPU gi là quantum. ây là mt gii thut u phi không c quyn : khi mt tin trình s dng CPU n ht thi gian quantum dành cho nó, hu hành [...]... th ng c phân thành hai lo i: tài nguyên có th chia s cho phép nhi u ti n trình ng th i truy xu t, và tài nguyên không th chia s ch ch p nh n m t ( hay m t s l ng h n ch ) ti n trình s d ng t i m t th i m Tính không th chia s c a tài nguyên th ng có ngu n g c t t trong hai nguyên nhân sau ây: c tính c u t o ph n c ng c a tài nguyên không cho phép chia s u nhi u ti n trình s d ng tài nguyên ng th i,... EmployeeArrives (); // Ki m tra u ki n xu ng thuy n CrossRiver(); // Kh i hành qua sông } Bài 4 Bài toán Hãy t ng t u ph i hành khách xe bus ng b n ch u trách nhi m ki m soát hành khách lên xe bus t i m t tr m d ng Tài li u l u hành n i b - 23 - Giáo trình Nguyên lý h u hành – KS Tr n Ng c Thái, môn Tin h c – i h c DL H i Phòng i xe bus có ch cho 10 hành khách Trong ó 4 ch ch dành cho khách ng i xe l n, 6 ch còn... Tài li u l u hành n i b - 19 - Giáo trình Nguyên lý h u hành – KS Tr n Ng c Thái, môn Tin h c – i h c DL H i Phòng Trong m t h th ng cho phép các ti n trình liên l c v i nhau, bao gi h u hành c ng c n cung c p kèm theo nh ng c ch ng b hóa b o m ho t ng c a các ti n trình ng hành không tác ng sai l ch n nhau vì các lý do sau ây: 2.5.1 Yêu c u c quy n truy xu t (Mutual exclusion) Các tài nguyên trong... c p ng th i n các d li u chung u hành c n p tác hoàn thành tác v : ôi khi t c m t s x lý nhanh chóng, ng i ta phân chia m t tác v thành các công vi c nh có th ti n hành song song Th ng thì các công vi c nh này c n h p tác v i nhau cùng hoàn thành tác v ban u, ví d d li u k t xu t c a ti n trình này l i là d li u nh p cho ti n trình khác …Trong các tr ng h p ó, h u hành c n cung c p c ch các ti n trình... c a mình Tài li u l u hành n i b - 17 - Giáo trình Nguyên lý h u hành – KS Tr n Ng c Thái, môn Tin h c – i h c DL H i Phòng Hình 3.3 Liên l c qua vùng nh chia s 2.4.4 Trao i thông p (Message) Gi i thi u: H u hành còn cung c p m t c ch liên l c gi a các ti n trình không thông qua vi c chia s t tài nguyên chung , mà thông qua vi c g i thông p h tr c ch liên l c b ng thông p, h u hành cung c p các hàm... tình hu ng l i có th n y sinh khi các ti n trình truy xu t ng th i m t tài nguyên không th chia s , c n ph i áp t m t s truy xu t c quy n trên tài nguyên ó : khi m t ti n trình ang s d ng tài nguyên, thì nh ng ti n trình khác không c truy xu t n tài nguyên n ch ng trình trong ó có kh n ng x y ra các mâu thu n truy xu t trên tài nguyên chung là mi n g ng (critical section) Trong ví d trên, n mã : cg i... Chi n l P4 3 5 8 12 20 u ph i v i nhi u m c u tiên Tài li u l u hành n i b - 12 - Giáo trình Nguyên lý h u hành – KS Tr n Ng c Thái, môn Tin h c – i h c DL H i Phòng Nguyên t c : Ý t ng chính c a gi i thu t là phân l p các ti n trình tùy theo u tiên c a chúng có cách th c u ph i thích h p cho t ng nhóm Danh sách s n sàng c phân tách thành các danh sách riêng bi t theo c p u tiên, m i danh sách bao... c a b n là cho khách lên xe theo úng qui nh ch , khi xe y khách s kh i hành Có th có nhi u xe và nhi u hành khách vào b n cùng lúc, nguyên t c u ph i s x p khách vào y m t xe, cho xe này kh i hành r i m i u ph i cho xe khác Gi s ho t ng u ph i khách c a b n cho 1 chi c xe bus c mô t qua ti n trình GetPassengers(); ho t ng c a m i hành khách tùy lo i c mô t l n l t b ng ti n trình WheelPassenger() và... thu t u ph i v i u tiên có th theo nguyên t c c quy n hay không c quy n Khi m t ti n trình c a vào danh sách các ti n trình s n sàng, u tiên c a nó c so sánh v i u tiên c a ti n trình hi n hành ang x lý Gi i thu t u ph i v i u tiên và không c quy n s thu h i CPU t ti n trình hi n hành c p phát cho ti n trình m i n u u tiên c a ti n trình này cao h n ti n trình hi n hành M t gi i thu t c quy n s ch n... a) S tin c y b) S b o toàn th t d li u c) L p l i d li u d) Ch n ik t e) B o toàn gi i h n thông p Tài li u l u hành n i b - 18 - UNIX, Giáo trình Nguyên lý h u hành – KS Tr n Ng c Thái, f) Kh n ng g i thông môn Tin h c – i h c DL H i Phòng p kh n th c hi n liên l c b ng socket, c n ti n hành các thao tác :: o l p hay m m t socket n k t m t socket v i m t a ch Liên l c : có hai ki u liên l c tùy thu