Giaotrinh hedieuhanh

Embed Size (px)

DESCRIPTION

hdh

Citation preview

  • 1. CHNG I - TNG QUAN V H IU HNH1 I.1 Mc tiu I.2 Gii thiu I.3 H iu hnh l g? I.4 H thng mainframe I.5 H bn (Desktop system) I.6 H a x l I.7 H phn tn I.8 H thng nhm (Clustered Systems) I.9 H thi thc I.10 H xch tay I.11 Tm ttCHNG II - CU TRC H IU HNH II.1 Mc ch II.2 Gii thiu II.3 Cc thnh phn h thng II.4 Cc dch v h iu hnh II.5 Li gi h thng II.6 Cc chng trnh h thng II.7 Cu trc h thng II.8 My o II.9 Tm ttCHNG III - QU TRNH III.1 Mc ch III.2 Gii thiu III.3 Khi nim qu trnh III.4 Lp thi biu qu trnh III.5 Thao tc trn qu trnh III.6 Giao tip lin qu trnh III.7 Tm ttCHNG IV - NH THI BIU CPU IV.1 Mc tiu IV.2 Gii thiu IV.3 Cc khi nim c bn IV.4 Cc tiu chun nh thi IV.5 Cc gii thut nh thi IV.6 nh thi biu a b x l IV.7 nh thi thi gian thc IV.8 nh gi gii thut IV.9 Tm ttCHNG V - NG B HO QU TRNH V.1 Mc tiu V.2 Gii thiu V.3 Tng quan V.4 Vn vng tng trc V.5 Gii php V.6 Cc bi ton ng b ho nguyn thu V.7 Tm ttCHNG VI - DEADLOCK VI.1 Mc ch

2. VI.2 Gii thiu VI.3 M hnh h thng VI.4 c im deadlock VI.5 Cc phng php x l deadlock VI.6 Ngn chn deadlock VI.7 Trnh deadlock VI.8 Pht hin Deadlock VI.9 Phc hi deadlock VI.10 Tm ttCHNG VII - QUN L B NH VII.1 Mc ch VII.2 Gii thiu VII.3 t vn VII.4 Hon v VII.5 Cp pht b nh lin tc VII.6 Cp pht khng lin tc VII.7 Tm ttCHNG VIII - B NH O VIII.1 Mc ch VIII.2 Gii thiu VIII.3 Kin thc nn VIII.4 Phn trang theo yu cu VIII.5 Thay th trang VIII.6 Cp pht khung trang VIII.7 Tr tr ton h thng VIII.8 Cc vn khc VIII.9 Tm ttCHNG IX - H THNG TP TIN IX.1 Mc ch IX.2 Gii thiu IX.3 Khi nim tp tin IX.4 Cc phng php truy xut IX.5 Cu trc th mc IX.6 Gn h thng tp tin IX.7 Chia s tp tin IX.8 Bo v IX.9 Tm ttCHNG X - CI T H THNG TP TIN X.1 Mc ch X.2 Gii thiu X.3 Cu trc h thng tp tin X.4 Ci t h thng tp tin X.5 Ci t th mc X.6 Cc phng php cp pht X.7 Qun l khng gian trng X.8 Tm ttCHNG XI - QUN L H THNG NHP/XUT XI.1 Mc ch XI.2 Gii thiu XI.3 Cc khi nim c bn XI.4 Phn cng nhp/xut XI.5 Giao din nhp/xut ng dng 3. Gio trnh H iu hnhXI.6 H thng con nhp/xut ca nhn (kernel I/Osubsytem) XI.7 Chuyn nhp/xut ti hot ng phncngXI.8 Nng lcXI.9 Tm tt VI TI LIU THAM KHO 1. [Jean Bacon & Tim Harris], Operating Systems, Addison-Wesley, 2003. 2. [Nguyn Hong Vit], Bi ging H iu Hnh, Khoa CNTT-H Cn Th, 1998 3.[Silberschatz, Galvin, Gagne], Operating System Concepts, John Wiley & Sons, 2003 4.[L Khc Nhin n, Hong Kim], Gio trnh Nhp mn h iu hnh, i hc Khoa hc T nhin, 2003. 5. [Trn Hnh Nhi, Hong Kim], Gio trnh h iu hnh nng cao, i hcKhoa hc T nhin,1999.Ti liu lu hnh ni bTrang 1 4. Gio trnh H iu hnhTNG QUAN V H IU HNHIMc tiuSau khi hc xong chng ny, ngi hc nm c nhng kin thc sau: o Hiu vai tr ca h iu hnh trong h thng my tnh o Bit cc giai on pht trin ca h iu hnh o Hiu s khc bit ca cc h iu hnh qua tng giai on o Hiu cch gii quyt cc vn pht sinh trong tng h iu hnhII Gii thiu H iu hnh l mt chng trnh qun l phn cng my tnh. N cung cp nntng cho cc chng trnh ng dng v ng vai tr trung gian giao tip gia ngidng my tnh v phn cng ca my tnh . H iu hnh thit lp cho cc tc v nyrt a dng. Mt vi h iu hnh thit k tin dng trong khi mt s khc thit k hiuqu hoc kt hp c hai. hiu h iu hnh l g, trc ht chng ta phi hiu chng c pht trinnh th no. Trong chng ny chng ta im li s pht trin ca h iu hnh tnhng h th nghim u tin ti nhng h a chng v chia thi. Thng qua nhnggiai on khc nhau chng ta s thy cch thc m nhng thnh phn ca h iu hnhc ci tin nh nhng gii php t nhin cho nhng vn trong nhng h thngmy tnh ban u. Xem xt nhng l do pha sau s pht trin ca h iu hnh chochng ta mt nh gi v nhng tc v g h iu hnh lm v cch h iu hnh thchin chng.III H iu hnh l g?Mt h iu hnh l mt thnh phn quan trng ca mi h thng my tnh. Mt hthng my tnh c th c chia thnh bn thnh phn: phn cng, h iu hnh, ccchng trnh ng dng v ngi dng. o Phn cng (Hardware): bao gm b x l trung tm (CPU), b nh, thit b xut/nhp,..cung cp ti nguyn c bn cho h thng. o Cc chng trnh ng dng (application programs): trnh bin dch (compiler), trnh son tho vn bn (text editor), h c s d liu (database system), trnh duyt Web,..nh ngha cch m trong cc ti nguyn c s dng gii quyt yu cu ca ngi dng. o Ngi dng (user): c nhiu loi ngi dng khc nhau, thc hin nhng yu cu khc nhau, do s c nhiu ng dng khc nhau. o H iu hnh (operating system): hay cn gi l chng trnh h thng, iu khin v hp tc vic s dng phn cng gia nhng chng trnh ng dng khc nhau cho nhng ngi dng khc nhau. H iu hnh c th c khm ph t hai pha: ngi dng v h thng.Ti liu lu hnh ni bTrang 2 5. Gio trnh H iu hnh User1 User2...UserNcomplilertext editor... database tSystem and Application Program sOperating System HardwareHnh 0-1 Tm nhn tru tng cc thnh phn ca mt h thng my tnhIII.1 Tm nhn ngi dng Tm nhn ngi dng ca my tnh rt a dng bi giao din c dng. Huht nhng ngi dng my tnh ngi trc my tnh c nhn gm c mn hnh, bnphm, chut v b x l h thng (system unit). Mt h thng nh th c thit k chomt ngi dng c quyn s dng ti nguyn ca n ti u ho cng vic mngi dng ang thc hin. Trong trng hp ny, h iu hnh c thit k d dngcho vic s dng vi s quan tm v nng lc nhng khng quan ti vic s dng tinguyn. Nng lc thc hin l quan trng vi ngi dng nhng khng l vn nuhu ht h thng ang rnh, ch tc xut/nhp chm t pha ngi dng. Vi ngi dng ngi ti thit b u cui (terminal) c ni kt ti my tnhln (mainframe) hay my tnh tm trung (minicomputer). Nhng ngi khc angtruy xut cng my tnh thng qua cc thit b u cui khc. Nhng ngi dng nychia s cc ti nguyn v c th trao i thng tin. H iu hnh c thit k tiu ho vic s dng ti nguyn- m bo rng tt c thi gian sn dng ca CPU,b nh v thit b xut nhp c s dng hu hiu v khng c nhn ngi dng sdng c quyn ti nguyn hn l chia s cng bng. Nhng ngi dng khc ngi ti trm lm vic, c ni kt ti mng ca cctrm lm vic khc v my ch. Nhng ngi dng ny c ti nguyn tn hin l trmlm vic ca mnh nhng h cng chia s cc ti nguyn trn mng v cc my ch-tp tin, tnh ton v cc my phc v in. Do , h iu hnh ca h c thit k tho hip gia kh nng s dng c nhn v vic tn dng ti nguyn. Gn y, s a dng ca my tnh xch tay tr thnh thi trang cho nhngngi lm vic trong lnh vc cng ngh thng tin. Cc thit b ny c s dng chbi c nhn ngi dng. Mt vi my tnh ny c ni mng hoc ni trc tip bngdy hay thng qua cc modem khng dy. Do s gii hn v nng lng (in) vgiao din, chng thc hin tng i t cc thao tc xa. H iu hnh c thit kch yu cho vic s dng c nhn nhng nng lc thc hin trn thi gian sng capin cng l yu t quan trng. Mt s my tnh c rt t hay khng c tm nhn ngi dng. Th d, cc mytnh c nhng vo cc thit b gia nh v xe t c th c mt bng s v cc nhin th trng thi m, tt nhng hu ht chng v cc h iu hnh c thit k chy m khng cn giao tip.Ti liu lu hnh ni b Trang 3 6. Gio trnh H iu hnhIII.2 Tm nhn h thng T quan im ca my tnh, h iu hnh l chng trnh gn gi vi phncng. Chng ta c th thy mt h iu hnh nh b cp pht ti nguyn. H thngmy tnh c nhiu ti nguyn - phn cng v phn mm - m c th c yu cu gii quyt mt vn : thi gian CPU, khng gian b nh, khng gian lu tr tp tin,cc thit b xut/nhp,..H iu hnh hot ng nh b qun l ti nguyn. ng uvi mt lng ln cc yu cu c th xung t v ti nguyn, h iu hnh phi quytnh cch cp pht ti nguyn ti nhng chng trnh c th v ngi dng c thiu hnh h thng my tnh hu hiu v cng bng. Mt tm nhn khc ca h iu hnh nhn mnh s cn thit iu khin ccthit b xut/nhp khc nhau v chng trnh ngi dng. Mt h iu hnh l mtchng trnh iu khin. Chng trnh iu khin qun l s thc thi ca cc chngtrnh ngi dng ngn chn li v vic s dng khng hp l my tnh. N c bitquan tm vi nhng thao tc v iu khin cc thit b nhp/xut. Nhn chung, khng c nh ngha hon ton y v h iu hnh. Cc hiu hnh tn ti v chng l cch hp l gii quyt vn to ra mt h thng mytnh c th s dng. Mc tiu c bn ca h thng my tnh l thc thi chng trnhngi dng v gii quyt vn ngi dng d dng hn. Hng n mc tiu ny,phn cng my tnh c xy dng. Tuy nhin, ch n thun l phn cng th khngd s dng v pht trin cc chng trnh ng dng. Cc chng trnh khc nhau nyi hi nhng thao tc chung no , chng hn nh iu khin thit b xut/nhp.Sau , nhng chc nng chung v iu khin v cp pht ti nguyn c t li vinhau vo mt b phn phn mm gi l h iu hnh. Cng khng c nh ngha bao qut no c chp nhn xc nh phn gthuc v h iu hnh, phn g khng. Mt quan im n gin l mi th lin quankhi chng ta ra lnh h iu hnh nn c xem xt. Tuy nhin, nhng yu cu v bnh v nhng c im bn trong rt khc nhau trong tng h thng. Mt nh nghabao qut hn v h iu hnh l mt chng trnh chy lin tc trn my tnh (thnggi l nhn kernel), nhng chng trnh cn li thuc v chng trnh ng dng.III.3 Mc tiu h thngnh ngha nhng g h iu hnh lm th d hn xc nh h iu hnh l g.Mc ch chnh ca h iu hnh l d dng s dng. V s tn ti ca h iu hnhh tr nhiu cho my tnh trong vic p ng cc ng dng ca ngi dng. Tm nhnny c bit r rng hn khi nhn h iu hnh trn cc my tnh c nhn.Mc tiu th hai ca h iu hnh l iu hnh hu hin h thng my tnh.Mc tiu ny c bit quan trng cho cc h thng ln, c chia s, nhiu ngidng. Nhng h thng tiu biu ny kh t, khai thc hiu qu nht cc h thng nylun l iu mong mun. Tuy nhin, hai mc tiu tin dng v hu hiu i khi muthun nhau. Trong qu kh, xem xt tnh hu hiu thng quan trng hn tnh tindng. Do , l thuyt h iu hnh tp trung nhiu vo vic ti u ho s dng tinguyn tnh ton. H iu hnh cng pht trin dn theo thi gian. Th d, UNIX btu vi bn phm v my in nh giao din ca n gii hn tnh tin dng i vingi dng. Qua thi gian, phn cng thay i v UNIX c gn vo phn cng mivi giao din thn thin vi ngi dng hn. Nhiu giao din ngi dng hoGUIs (graphical user interfaces) c b sung cho php tin dng hn vi ngi dngtrong khi vn quan tm tnh hiu qu.Ti liu lu hnh ni bTrang 4 7. Gio trnh H iu hnh Thit k h iu hnh l mt cng vic phc tp. Ngi thit k gp phinhiu s tho hip trong thit k v ci t. Nhiu ngi tham gia khng ch mangn h iu hnh nhng li im m cn lin tc xem xt v nng cp. thy r nhng h iu hnh l g v nhng g h iu hnh lm, chng ta xem xtcch chng pht trin trong bn mi lm nm qua. Bng cch ln theo s tin trin,chng ta c th xc nh nhng thnh phn ca h iu hnh v thy cch thc v ldo h iu hnh pht trin nh chng c. H iu hnh v kin trc my tnh c mi quan h khng kht nhau. ddng s dng phn cng, h iu hnh c pht trin. Sau , cc ngi dng hiu hnh ngh nhng chuyn i trong thit k phn cng n gin chng.Nhn li lch s ngn ngi ny, ch trng cch gii quyt nhng vn v h iuhnh gii thiu nhng c im phn cng.IV H thng mainframe Nhng h thng my tnh mainframe l nhng my tnh u tin c dng x l ng dng thng mi v khoa hc. Trong phn ny, chng ta ln theo s phttrin ca h thng mainframe t cc h thng b (batch systems), my tnh chchy mt-v ch mt -ng dng, ti cc h chia s thi gian (time-shared systems), mcho php ngi dng giao tip vi h thng my tnh.IV.1 H thng b Nhng my tnh thi k u l nhng my cc ln chy t mt thit b cui(console). Nhng thit b nhp thng l nhng b c th v cc a bng t. Ccthit b xut thng thng thng l nhng my in dng (line printers), cc a t vcc phiu c l. Ngi dng khng giao tip trc tip vi cc h thng my tnh.Thay vo , ngi dng chun b mt cng vic- cha chng trnh, d liu v ccthng tin iu khin v tnh t nhin ca cng vic-v gi n n ngi iu hnhmy tnh. Cng vic ny thng c thc hin trong cc phiu c l. Ti nhngthi im sau (sau vi pht, gi hay ngy), d liu xut xut hin. D liu xutcha kt qu chng trnh cng nh kt xut b nh cui cng v ni dung cc thanhghi cho vic g ri. H iu hnh trong cc my tnh thi k u ny tng i n gin. Tc vchnh l chuyn iu khin t ng t mt cng vic ny sang cng vic khc. Hiu hnh lun c thng tr trong b nh.H iu hnhVng chng trnh ngi dng Hnh 0-2 Sp xp b nh cho mt h thng b n ginTi liu lu hnh ni bTrang 5 8. Gio trnh H iu hnh tng tc vic x l, ngi iu hnh b cc cng vic c cng yu cu vchy chng thng qua my tnh nh mt nhm. Do , cc lp trnh vin s achng trnh ca h cho ngi iu hnh. Ngi iu hnh s sp xp chng trnhthnh nhng b vi cng yu cu v khi my tnh sn dng s chy mi b ny. Dliu xut t mi cng vic s gi li cho lp trnh vin tng ng.Trong mi trng thc thi ny, CPU lun rnh v tc ca cc thit bxut/nhp dng c thc cht chm hn tc ca cc thit b in. Ngay c mt CPUchm (vi hng ngn ch th lnh c thc thi trn giy) cng ch lm vic trong viphn trm giy. Thm vo , mt b c th nhanh c th c 1200 th trong thigian 1 pht (hay 20 th trn giy). Do , s khc bit gia tc CPU v thit bxut/nhp ca n c th l 3 ln hay nhiu hn. D nhin theo thi gian, s tin btrong cng ngh dn n s ra i nhng thit b nhp/xut nhanh hn. Tuy nhin, tc CPU tng ti mt t l ln hn v th vn khng nhng khng c gii quytm cn lm tng.Gii thiu cng ngh a cho php h iu hnh gi tt c cng vic trn mta hn trong mt b c th tun t. Vi vic truy xut trc tip ti nhiu cng vic,h iu hnh c th thc hin nh thi cng vic, s dng ti nguyn v thc hincc tc v hu hiu.IV.2 H a chngMt kha cnh quan trng nht ca nh thi cng vic l kh nng a chng.Thng thng, mt ngi dng gi CPU hay cc thit b xut/nhp lun bn. achng gia tng kh nng s dng CPU bng cch t chc cc cng vic CPU lunc mt cng vic thc thi. tng ca k thut a chng c th minh ho nh sau: H iu hnh ginhiu cng vic trong b nh ti mt thi im. Tp hp cc cng vic ny l tp conca cc cng vic c gi trong vng cng vic-bi v s lng cc cng vic c thc gi cng lc trong b nh thng nh hn s cng vic c th c trong vngm. H iu hnh s ly v bt u thc thi mt trong cc cng vic c trong b nh.Cui cng, cng vic phi ch mt vi tc v nh mt thao tc xut/nhp honthnh. Trong h thng n chng, CPU s ch trng thi ri. Trong h thng achng, h iu hnh s chuyn sang thc thi cng vic khc. Cui cng, cng vicu tin kt thc vic ch v nhn CPU tr li. Ch cn t nht mt cng vic cn thcthi, CPU s khng bao gi trng thi ri. 0H iu hnh Cng vic 1 Cng vic 2 Cng vic 3 Cng vic 4 512K Hnh 0-3 Sp xp b nh cho h a chngTi liu lu hnh ni bTrang 6 9. Gio trnh H iu hnha chng l mt trng hp u tin khi h iu hnh phi thc hin quyt nh chonhng ngi dng. Do , h iu hnh a chng tng i tinh vi. Tt c cng vica vo h thng c gi trong vng cng vic. Vng ny cha tt c qu trnh nhv trn a ch c cp pht b nh chnh. Nu nhiu cng vic sn sng c mangvo b nh v nu khng khng gian cho tt c th h iu hnh phi chn mttrong chng. Khi h iu hnh chn mt cng vic t vng cng vic, n np cngvic vo b nh thc thi. C nhiu chng trnh trong b nh ti cng thi imyu cu phi c s qun l b nh. Ngoi ra, nu nhiu cng vic sn sng chy cngthi im, h thng phi chn mt trong chng. Thc hin quyt nh ny l nh thiCPU. Cui cng, nhiu cng vic chy ng hnh i hi hot ng ca chng c thnh hng ti mt cng vic khc th b hn ch trong tt c giai on ca h iuhnh bao gm nh thi qu trnh, lu tr a, qun l b nh.IV.3 H chia thiH thng b-a chng cung cp mt mi trng ni m nhiu ti nguynkhc nhau (chng hn nh CPU, b nh, cc thit b ngoi vi) c s dng hiu qu.Tuy nhin, n khng cung cp giao tip ngi dng vi h thng my tnh. Chia thi(hay a nhim) l s m rng lun l ca a chng. CPU thc thi nhiu cng vicbng cch chuyn i qua li gia chng, nhng nhng chuyn i xy ra qu thngxuyn ngi dng c th giao tip vi mi chng trnh trong khi chy.Mt h thng my tnh giao tip (interactive computer) hay thc hnh (hands-on computer system) cung cp giao tip trc tuyn gia ngi dng v h thng.Ngi dng cho nhng ch th ti h iu hnh hay trc tip ti mt chng trnh, sdng bn phm hay chut v ch nhn kt qu tc th. Do , thi gian p ng nnngn-in hnh trong phm vi 1 giy hay t hn.Mt h thng chia thi cho php nhiu ngi dng chia s my tnh cng mtthi im. V mi hot ng hay lnh trong h chia thi c phc v ngn, ch mt tthi gian CPU c yu cu cho mi ngi dng. Khi h thng nhanh chng chuyn tmt ngi dng ny sang ngi dng k, mi ngi dng c cho cm gic rng tonb h thng my tnh c tn hin cho mnh, nhng tht s my tnh ang cchia s cho nhiu ngi dng.Mt h iu hnh chia thi s dng nh thi CPU v a chng cung cpmi ngi dng vi mt phn nh ca my tnh chia thi. Mi ngi dng c t nhtmt chng trnh ring trong b nh. Mt chng trnh c np vo trong b nh vthc thi thng c gi l mt qu trnh. Khi mt qu trnh thc thi, in hnh nthc thi ch ti mt thi im ngn trc khi n kt thc hay cn thc hin xut/nhp.Xut/nhp c th c giao tip; ngha l d liu xut hin th trn mn hnh cho ngidng v d liu nhp t bn phm, chut hay thit b khc. V giao tip xut/nhp chyu chy tc ngi dng, n c th mt mt khong thi gian di honthnh. Th d, d liu nhp c th b gii hn bi tc nhp ca ngidng; 7 k t trn giy l nhanh i vi ngi dng, nhng qu chm so vi my tnh.Thay v CPU rnh khi ngi dng nhp liu, h iu hnh s nhanh chng chuynCPU ti mt chng trnh khc.H iu hnh chia thi phc tp hn nhiu so vi h iu hnh a chng.Trong c hai dng, nhiu cng vic c gi cng lc trong b nh v th h thngphi c c ch qun l b nh v bo v. t c thi gian p ng hp l, cccng vic c th c hon v vo ra b nh chnh. Mt phng php chung tmc tiu ny l b nh o, l k thut cho php vic thc thi ca mt cng vic c thkhng hon ton trong b nh. u im chnh ca c ch b nh o l cc chngTi liu lu hnh ni bTrang 7 10. Gio trnh H iu hnhtrnh c th ln hn b nh vt l. Ngoi ra, n tru tng ho b nh chnh thnhmng lu tr ln v ng nht, chia b nh lun l nh c thy bi ngi dng tb nh vt l. S sp xp ny gii phng lp trnh vin quan tm n gii hn lu trca b nh.Cc h chia thi cng phi cung cp mt h thng tp tin. H thng tp tin nhv trn mt tp hp a; do qun l a phi c cung cp. H chia thi cng cungcp c ch cho vic thc thi ng hnh, yu cu c ch nh thi CPU tinh vi. mbo th t thc thi, h thng phi cung cp cc c ch cho vic ng b ho v giaotip cng vic, v c th m bo rng cc cng vic khng b deadlock, ch i cngvic khc mi mi. tng chia thi c gii thiu trong nhng nm 1960, nhng v h chiathi l phc tp v rt t xy dng, chng khng ph bin cho ti nhng nm1970. Mc d x l theo b vn c thc hin nhng hu ht h thng ngy nay lchia thi. Do , a chng v chia thi l nhng ch trung tm ca h iu hnhhin i v chng l ch trng tm ca gio trnh ny.V H bn (Desktop system) My tnh c nhn (PC) xut hin vo nhng nm 1970. Trong sut thp nin u,CPU trong PC thiu cc c im cn thit bo v h iu hnh t chng trnhngi dng. Do , cc h iu hnh PC khng l a ngi dng hoc a nhim. Tuynhin, cc mc tiu ca h iu hnh ny thay i theo thi gian; thay v ti u hovic s dng CPU v thit b ngoi vi, cc h thng chn la ti u ho s tin dngv p ng ngi dng. Cc h thng ny gm cc PC chy cc h iu hnhMicrosoft Windows v Apple Macintosh. H iu hnh MS-DOS t Microsoft cthay th bng nhiu n bn ca Microsoft Windows v IBM nng cp MS-DOSthnh h a nhim OS/2. H iu hnh Apple Macintosh c gn nhiu phn cnghin i hn v ngy nay cha nhiu c im mi nh b nh o v a nhim. Vis pht hnh MacOS X, li ca h iu hnh ngy nay da trn Mach v FreeBSDUNIX cho s m rng, nng lc v c im nhng n vn gi li giao din hongi dng GUI. LINUX, mt h iu hnh tng t nh UNIX sn dng cho myPC tr nn ph bin gn y. H iu hnh cho cc my tnh ny c nhng thun li trong nhiu cch t spht trin ca h iu hnh cho mainframes. My vi tnh (microcomputer) lp tc cth c chp nhn mt s cng ngh c pht trin cho h iu hnh ln hn.Thm vo , chi ph phn cng cho my vi tnh thp cc c nhn c th mtmnh s dng my tnh, v s dng CPU khng cn quan trng na. Do , nhngquyt nh thit k c thc hin trong h iu hnh cho mainframes c th khnghp l cho cc h thng nh hn. Nhng quyt nh thit k khc vn c p dng. Th d, trc ht bo v hthng tp tin khng cn thit trn my c nhn. Tuy nhin, hin nay cc my tnh nythng c ni vo cc my tnh khc qua mng cc b hay Internet. Khi nhngmy tnh khc v ngi dng khc c th truy xut cc tp tin ny trn mt PC, bo vtp tin mt ln na cng tr thnh mt c im cn thit ca h iu hnh. S thiubo v to iu kin d dng cho nhng chng trnh him ph hu d liu trnnhng h thng nh MS-DOS v h iu hnh Macintosh. Cc chng trnh ny cth t nhn bn v pht tn nhanh chng bng c ch worm hay virus v lm t litmng ca cc cng ty hay thm ch mng ton cu. c im chia thi c ci tinnh b nh bo v v quyn tp tin l cha bo v mt h thng t s tn cng.Ti liu lu hnh ni b Trang 8 11. Gio trnh H iu hnhVI H a x l Hu ht cc h thng ngy nay l cc h thng n x l; ngha l ch c mtCPU chnh. Tuy nhin, cc h thng a x l (hay cn gi l h song song hay h ktni cht) c pht trin rt quan trng. Cc h thng nh th c nhiu hn mt b xl trong giao tip gn, chia s bus my tnh, ng h, i khi cn l b nh hay thitb ngoi vi. H thng a x l c ba u im chnh:o Thng lng c gia tng: bng cch tng s lng b x l, chng tahy vng thc hin nhiu cng vic hn vi thi gian t hn. T l gia stng tc vi N b x l khng l N; ng hn n nh hn N. Trong khinhiu b x l cng tc trn mt cng vic, mt lng chi ph phi chutrong vic gi cc thnh phn lm vic ph hp. Chi ph ny cng vi chiph cnh tranh ti nguyn c chia s, lm gim kt qu c mong it nhng b x l b sung. Tng t nh mt nhm gm N lp trnh vinlm vic vi nhau khng dn n kt qu cng vic ang t c tng Nln.o Tnh kinh t ca vic m rng: h thng a x l c th tit kim nhiuchi ph hn h thng n b x l, bi v chng c th chia s ngoi vi,thit b lu tr v in. Nu nhiu chng trnh iu hnh trn cng tphp d liu th lu tr d liu trn mt a v tt c b x l chia schng s r hn l c nhiu my tnh vi a cc b v nhiu bn sao dliu.o Kh nng tin cy c gia tng: nu cc chc nng c phn b hp lgia cc b x l th li trn mt b x l s khng dng h thng, ch nnglc b gim. Nu chng ta c 10 b x l v c 1 b x l b s c th mib x l trong 9 b x l cn li phi chia s ca cng vic ca b x l bli. Do , ton b h thng ch gim 10% nng lc hn l dng hotng. Cc h thng c thit k nh th c gi l h thng c kh nngchu li (fault tolerant).Vic iu hnh vn tip tc trong s hin din ca li yu cu mt c ch chophp li c pht hin, chun on v sa li nu c th. H thng Tandem s dngs nhn i phn cng v phn mm m bo s iu hnh vn tip tc mc d cli xy ra. H thng ny cha hai b x l, mi b x l c b nh cc b ring. Ccb x l c ni kt bi mt bus. Mt b x l chnh v b x l kia l d phng. Chai bn sao c gi mi b x l: mt l chnh v mt l d phng. Ti cc imkim tra (checkpoints) trong vic thc thi ca h thng, thng tin trng thi ca micng vic-gm mt bn sao hnh nh b nh-c chp t my chnh ti my dphng. Nu mt li c pht hin, bn sao d phng c kch hot v c khing li t im kim tra mi nht. Gii php ny t v n bao gm vic nhn iphn cng.Cc h thng a x l thng dng nht hin nay s dng a x l i xng(symmetric multiprocessing-SMP). Trong h thng ny mi b x l chy bn saoca h iu hnh v nhng bn sao ny giao tip vi cc bn sao khc khi cn. Vi hthng s dng a x l bt i xng (asymmetric multiprocessing). Trong h thngny mi b x l c gn mt cng vic xc nh. Mt b x l ch iu khin hthng; nhng b x l cn li hoc ch b x l ch ra ch th hoc c nhng tc vc nh ngha trc. C ch ny nh ngha mi quan h ch-t. B x l chnh lpthi biu v cp pht cng vic ti cc b x l t.Ti liu lu hnh ni b Trang 9 12. Gio trnh H iu hnh a x l i xng c ngha tt c b x l l ngang hng; khng c mi quanh ch-t tn ti gia cc b x l. Hnh I-4 minh ho mt kin trc a x l i xngin hnh. Mt th d ca a x l i xng l n bn ca Encore ca UNIX cho mytnh Multimax. My tnh ny c th c cu hnh nh n ang thc hin nhiu b xl, tt c b x l u chy bn sao ca UNIX. u im ca m hnh ny l nhiu qutrnh c th chy cng mt lc - N qu trnh c th chy nu c N CPU- khng gy ras gim st to ln v nng lc. Tuy nhin, chng ta phi iu khin cn thnxut/nhp m bo rng d liu dn ti b x l tng ng. V cc CPU l ringr, mt CPU c th ang rnh trong khi CPU khc qu ti dn n vic s dng khnghu hiu ti nguyn ca h thng. S khng hiu qu ny c th trnh c nu ccb x l chia s cc cu trc d liu. Mt h thng a x l ca dng ny s cho phpcc qu trnh v ti nguyn nh b nh - c chia s t ng gia cc qu trnhkhc nhau v c th lm gim s khc bit gia cc b x l. Hu nh tt c h iuhnh hin i - gm Windows NT, Solaris, Digital UNIX, OS/2 v LINUX - hin naycung cp s h tr a x l i xng. Hnh 0-4 Kin trc a x l i xngS khc bit gia a x l i xng v bt i xng c th l do phn cnghoc phn mm. Phn cng c bit c th khc nhau trn nhiu b x l, hoc phnmm c th c vit cho php ch mt ch v nhiu t. Th d, SunOS n bn 4cung cp a x l khng i xng, ngc li, n bn 5 (Solaris 2) l i xng trncng phn cng.Khi cc b vi x l tr nn r hn v mnh hn cc chc nng b sung ca hiu hnh l chuyn ti b x l t. Th d, tng i d thm b vi x l vi bnh ring qun l h thng a. B vi x l c th nhn mt chui cc yu cu tb nh chnh v ci t hng i a ring v gii thut nh thi. S sp xp ny lmgim chi ph nh thi a ca CPU. PC cha mt b vi x l trong bn phm chuyn nhng phm nng thnh m gi ti CPU. Thc t, vic s dng cc b vi xl tr nn qu ph bin n ni m a x l khng cn c xem xt.VII H phn tnMt mng, trong thut ng n gin nht, l mt ng dn truyn thng giahai hay nhiu h thng. H phn tn ph thuc vo mng vi nhng kh nng ca n.Bng cch cho php truyn thng, h phn tn c th chia s cc tc v tnh ton vcung cp nhiu chc nng ti ngi dng.Cc mng vi s a dng v giao thc c dng, khong cch gia cc nt vphng tin truyn. TCP/IP l giao thc mng ph bin nht mc d ATM v ccgiao thc khc c s dng rng ri. Tng t, h iu hnh h tr s a dng vgiao thc. Hu ht cc h iu hnh h tr TCP/IP, gm Windows v UNIX. Mt sh iu hnh khc h tr cc giao thc ring ph hp vi yu cu ca chng. i vimt h iu hnh, mt giao thc mng ch cn mt thit b giao din th d: mtTi liu lu hnh ni bTrang 10 13. Gio trnh H iu hnhcard mng-vi mt trnh iu khin thit b qun l n v mt phn mm nggi d liu trong giao thc giao tip gi n v m gi nhn n. Mng thng da trn cc khong cch gia cc nt. Mt mng cc b (LAN-Local Area Network) tn ti trong phm vi mt phng, mt tng, hay mt to nh.Mt mng din rng (Wide-Area Network) thng tn ti gia cc to nh, cc thnhph, cc quc gia. Mt cng ty ton cu c th c mt mng din rng ni kt ticc vn phng ca n. Cc mng ny c th chy vi mt hay nhiu giao thc. S tinb lin tc ca cng ngh mi hnh thnh nhiu dng mng khc nhau. Th d, mng th (MAN-Metropolitan Area Network) cng lin kt cc to nh trong cng mtthnh ph. Cc thit b BlueTooth giao tip qua mt khong cch ngn khong vi b(feet), ch yu to ra mt mng phm vi nh (small-area network). Cc phng tin truyn thng lm cc mng tng i khc nhau. Chng gmcp ng, cp quang, truyn khng dy gia v tinh, cc a vi sng (microwaredishes) v sng radio. Khi cc thit b tnh ton c ni kt ti cc in thoi ding, chng to ra mt mng. Thm ch rt nhiu giao tip hng ngoi dy ngn cth c dng cho mng. Ti cp c bn, bt c khi no cc my tnh giao tipchng s dng hay to ra mt mng. Cc mng ny cng rt khc nhau v nng lc vkh nng tin cy.VII.1 H khch hng-my phc vMt PC c th tr nn nhanh hn, mnh hn, r hn nu ngi thit k thay i rt xat kin trc h thng tp trung. Cc thit b u cui c ni kt ti cc h tp trunghin nay ang c thay th bi cc PC. Tng ng, chc nng giao din ngi dngc dng qun l trc tip bi cc h tp trung ang c qun l tng dn bi ccPC. Do , cc h tp trung ngy nay hot ng nh h my phc v tho mn ccyu cu pht sinh bi h thng khch hng. c im chung ca h khch hng- myphc v c m t trong hnh-I-5: Hnh 0-5 Cu trc chung ca h khch hng-my phc vCc h my ch c th c phn loi rng ri nh my phc v tnh ton v myphc v tp tin o H my phc v tnh ton (Compute-server systems): cung cp giao din m khch hng c th gi cc yu cu thc hin hot ng. Chng thc thi hot ng v gi kt qu cho khch hng. o H my phc v tp tin (File-server systems ): cung cp mt giao din h thng tp tin ni khch hng c th to, cp nht, c v xo tp tin.Ti liu lu hnh ni bTrang 11 14. Gio trnh H iu hnhVII.2 H ngang hngS pht trin ca mng my tnh-c bit l Internet v Word Wide Web(WWW)-c nh hng su sc n s pht trin gn y ca h iu hnh. Khi PCc gii thiu vo nhng nm 1970, chng c thit k cho vic s dng c nhnv thng c xem nh l cc my tnh n l (standalone computer). Vi vic btu s dng Internet ph bin v rng ri vo nhng nm 1980 vi e-mail, ftp,gopher, nhiu PC c ni vo mng my tnh. Vi s gii thiu dch v Web vogia nhng nm 1990, ni kt mng tr thnh mt thnh phn quan trng ca mt hthng mng my tnh.Gn nh tt c my tnh PC hin i v cc trm lm vic c th chy trnhduyt Web truy xut ti liu siu vn bn trn Web. Cc h iu hnh (nhWindows, OS/2, MacOS v UNIX) hin nay cng cha phn mm h thng (nhTCP/IP v PPP) cho php mt my tnh truy xut Internet qua mt mng cc b hayni kt qua ng in thoi. Nhiu h iu hnh cha trnh duyt Web cng nhkhch hng v my phc v e-mail, ng nhp t xa, v ftp.Tng phn vi cc h thng kt ni cht c tho lun trong phn I.6, mngmy tnh c dng trong cc ng dng ny gm tp hp cc b x l khng chia sb nh hay ng h. Thay vo , mi b x l c b nh cc b ring. B x l giaotip vi b x l khc thng qua cc ng truyn thng nh cc bus tc cao haycc ng in thoi. Cc h thng ny thng c xem nh cc h thng kt nilng (hay h thng phn tn).Vi h iu hnh thc hin khi nim mng hn l ch trng cung cp ni ktmng. Mt h iu hnh mng l mt h iu hnh cung cp cc c tnh nh chia stp tin qua mng, n cha mt c ch giao tip cho php cc qu trnh khc nhau trncc my khc nhau trao i thng ip. Mt my tnh chy mt h iu hnh mnghot ng t tr t tt c my tnh khc trn mng, mc d n nhn thc s hin dinca mng v c th giao tip vi cc my tnh c ni mng khc. Mt h iu hnhphn tn l mt mi trng t t tr hn: Cc h iu hnh phn tn giao tip gn cung cp mt hnh nh m ch mt h iu hnh n l iu khin mng.VIII H thng nhm (Clustered Systems)Tng t cc h song song, h thng nhm tp hp nhiu CPUs vi nhau thc hin cng vic tnh ton. Tuy nhin, h thng nhm khc h thng song song im chng c hp thnh t hai hay nhiu h thng n c kt hp vi nhau.nh ngha ca thut ng nhm (clustered) l khng c th. nh ngha thng thngc th chp nhn l cc my tnh nhm chia s vic lu tr v c lin kt gn quaLAN.Nhm thng c thc hin cung cp kh nng sn dng cao. Mt lp phnmm nhm chy trn cc nt nhm (cluster nodes). Mi nt c th kim sot mt haynhiu hn mt nt (qua mng LAN). Nu my b kim sot gp s c, my kim sotc th ly quyn s hu vic lu tr ca n v khi ng li (cc) ng dng m chngang chy trn my b s c. My b s c vn cha hot ng nhng ngi dng vkhch hng ca ng dng ch thy mt s gin on ngn ca dch v.Trong nhm bt i xng (asymmetric clustering), mt my trong ch d phngnng (hot standby) trong khi cc my khc ang chy cc ng dng. My d phngkhng l g c ngoi tr theo di server hot ng. Nu server b li, my ch dphng nng tr thnh server hot ng. Trong ch i xng (symmetric mode), haihay nhiu my ch ang chy ng dng v chng ang kim sot ln nhau. Ch Ti liu lu hnh ni b Trang 12 15. Gio trnh H iu hnhny ch trng tnh hiu qu khi n s dng tt c phn cng sn c. N thc hin yucu nhiu hn mt ng dng sn dng chy. Cc hnh thc khc ca nhm gm cc nhm song song (parallel clusters) vnhm qua mt WAN. Cc nhm song song cho php nhiu my ch truy xut cng dliu trn thit b lu tr c chia s. V hu ht cc h iu hnh h tr ngho nn victruy xut d liu ng thi bi nhiu my ch, cc nhm song song thng c thchin bi cc n bn phn mm c bit v s pht hnh ca cc ng dng cbit. Th d, Oracle Parallel Server l mt n bn c s d liu ca Oracle, v lpphn mm ghi vt vic truy xut ti a c chia s. Mi my c truy xut y tid liu trong c s d liu. Mc d c nhiu ci tin trong tnh ton phn tn, hu ht cc h thng khngcung cp cc h thng tp tin phn tn mc ch chung (general-purpose distributedfile systems). Do , hu ht cc nhm khng cho php truy xut c chia s ti dliu trn a. Cho mc ch ny, cc h thng tp tin phn tn phi cung cp iu khintruy xut v kho cc tp tin m bo khng c cc thao tc xung t xy ra. Loidch v ny thng c gi l b qun l kho phn tn (distributed lock manager-DLM). Cng ngh nhm ang nhanh chng thay i. Nhng nh hng nhm gmcc nhm ton cc, trong cc my c th nh v bt c ni no trn th gii (haybt c ni no mt WAN t ti). Cc d n nh th vn l ch cho nghin cu vpht trin. Vic s dng h thng nhm v cc c tnh nn m rng nh mng vng lutr (storage-area networks-SANs) chim u th. SANs cho php gn d dng nhiumy ch ti nhiu n v lu tr. Cc nhm hin ti thng b gii hn ti hai hay bnmy ch do s phc tp ca ni kt cc my ch ti thit b lu tr c chia s.IX H thi thc Mt dng khc ca h iu hnh c mc ch c bit l h thi thc (real-timesystem). H thi thc c dng khi cc yu cu thi gian kht khe c t trn thaotc ca mt b x l hay dng d liu; do , n thng c dng nh mt thit biu khin trong mt ng dng tn hin. Cc b cm bin mang d liu ti my tnh.My tnh phi phn tch d liu v c th thch ng cc iu khin hiu chnh cc dliu nhp cm bin. Cc h thng iu khin cc th nghim khoa hc, h thngnh ho y t, h thng iu khin cng ngh v cc h thng hin th,... Cc h thngphun du ng c t, cc b iu khin dng c trong nh, h thng v kh cng lcc h thng thi thc. Mt h thng thi thc c s rng buc c nh, r rng. X l phi c thchin trong phm vi cc rng buc c nh ngha hay h thng s tht bi. Mt hthi thc thc hin ng chc nng ch nu n tr v kt qu ng trong thi gianrng buc. Tng phn vi yu cu ny trong h chia thi, n mong mun(nhng khng bt buc) p ng nhanh, hay i vi h thng b, n khng c rngbuc thi gian g c. H thi thc c hai dng: cng v mm. H thi thc cng m bo rng cctc v ti hn c hon thnh ng gi. Mc tiu ny i hi tt c tr hon trong hthng b gii hn, t vic ly li d liu c lu tr thi gian h iu hnh hon thnhbt c yu cu cho n. Cc rng buc thi gian nh th ra lnh cc phng tin sn ctrong h thi thc cng. Thit b lu tr ph ca bt c th hng no thng b giihn hay b mt vi d liu ang c lu trong b nh lu tr ngn hn (short- termmemory) hay trong b nh ch c (ROM). Hu ht cc h iu hnh hin iTi liu lu hnh ni b Trang 13 16. Gio trnh H iu hnhkhng cung cp c im ny v chng c khuynh hng tch ri ngi dng t phncng v s tch ri ny dn n lng thi gian khng xc nh m thao tc s mt.Th d, b nh o hu nh cha bao gi thy trong h thi thc. Do , nhng h thithc cng xung t vi thao tc ca h chia thi v hai h ny khng th an xen nhau.V khng c h iu hnh a mc ch c h tr chc nng thi thc cng; chng takhng tp trung vi loi h thng ny trong chng ny. Mt loi thi thc t hn ch hn l h thi thc mm, tc v thi thc tihn c u tin hn cc tc v khc v duy tr u tin cho n khi chng honthnh. Nh trong h thi thc cng, s tr hon nhn (kernel) ca h iu hnh trhon yu cu c gii hn. Mt tc v thi thc khng th gi vic ch khng xcnh i vi nhn thc thi. Thi thc mm l mc tiu c th t c v c thc an xen vi cc loi h thng khc. Tuy nhin, h thi thc mm c nhng tinch gii hn hn h thi thc cng. V khng h tr tt cho thi im ti hn, nn hthi thc mm d gy ri ro khi dng cho vic kim sot cng ngh v t ng ho.Tuy nhin, chng c ch trong nhiu lnh vc nh a phng tin, thc t o, d nkhoa hc tin tin-nh khm ph trong lng i dng v khm ph hnh tinh. Nhngh thng ny cn nhng c im h iu hnh tin tin m khng c h tr bi hthi thc cng. V vic s dng chc nng thi thc mm c m rng nn chng taang tm cch a chng vo trong hu ht cc h iu hnh hin ti, gm cc n bnchnh thc ca UNIX.X H xch tay H xch tay gm cc my h tr c nhn dng k thut s (personal digitalassistants-PDAs) nh Palm hay in thoi di ng (cellular telephone) vi ni kt timng nh Internet. Nhng ngi pht trin h xch tay v ng dng gp phi nhiu ththch, nht l s gii hn v kch thc ca thit b. Th d, mt PDA in hnh caokhong 5 inches v rng khong 3 inches v trng lng ca n t hn 0.5 pound. Dos gii hn v kch thc ny, hu ht cc thit b xch tay c b nh nh gm cc bx l thp v mn hnh hin th nh. By gi chng ta s xem xt mi s gii hn ny. Nhiu thit b xch tay c dung lng b nh 512KB v 8 MB (ngc li, ccmy PC hay trm lm vic c hng trm MB b nh). Do , h iu hnh v cc ngdng phi qun l b nh hiu qu. iu ny gm tr v tt c b nh c cp phtti b qun l b nh mt khi b nh khng cn c dng na. Hin nay, nhiu thitb xch tay khng dng k thut b nh o do buc ngi pht trin chng trnhlm vic trong phm vi gii hn ca b nh vt l. Vn th hai quan tm n ngi pht trin cc thit b xch tay l tc cab x l c dng trong thit b. Cc b x l i vi hu ht cc thit b xch taythng chy vi tc ch bng mt phn tc ca mt b x l trong my PC. Ccb x l nhanh hn yu cu in nng nhiu hn. cha mt b x l nhanh hnbn trong thit b xch tay nn yu cu nhiu pin hn hn v phi c np li thngxuyn. ti thiu ho kch thc ca cc thit b xch tay i hi b x l nh hn,chm hn tiu th t in nng hn. Do , h iu hnh v cc ng dng phi cthit k khng i hi s dng nhiu b x l. Vn cui cng gy kh khn cho ngi thit k chng trnh cho cc thit bxch tay l mn hnh hin th nh. Trong khi mt mn hnh cho my tnh nh kchthc c th 21 inches, mn hnh cho thit b xch tay thng c din tch khng qu3 inches. Nhng tc v quen thuc nh c e-mail hay hin th cc trang web, phic c ng vo mn hnh nh hn. Mt phng php hin th ni dung cc trangTi liu lu hnh ni b Trang 14 17. Gio trnh H iu hnhweb l ct xn web (web clipping), ch mt tp hp nh trang web c phnpht v hin th trn thit b xch tay.Mt s thit b xch tay c th dng cng ngh khng dy nh BlueTooth, chophp truy xut t xa ti e-mail v trnh duyt web. Cc in thoi di ng vi ni ktInternet thuc loi ny. Tuy nhin, nhiu PDAs hin ti khng cung cp truy xutkhng dy. ti d liu xung cc thit b ny, trc tin ngi dng ti d liuxung PC hay trm v sau ti d liu xung PDA. Mt s PDA cho php d liuchp trc tip t mt thit b ny ti thit b khc dng lin kt hng ngoi. Nhnchung, cc gii hn trong chc nng ca PDA c cn bng bi nhng tin dng vlinh ng ca chng. Vic s dng chng tip tc m rng khi cc ni kt mng trnn sn dng v cc chn la khc nh my nh v MP3 players, m rng tin chca chng.XI Tm tt H iu hnh c pht trin hn 45 nm qua vi hai mc ch chnh. Mc chth nht, h iu hnh c gng lp thi biu cc hot ng tnh ton m bo nnglc thc hin ca h thng l tt. Mc ch th hai, n cung cp mt mi trng tindng pht trin v thc thi chng trnh. Ban u, h thng my tnh c dng tmt mn hnh v bn phm (thit b u cui). Cc phn mm nh b hp ng(assembler), b np (loader), b lin kt (linkers) v cc trnh bin dch (compiler) citin s tin dng ca vic lp trnh h thng nhng cng yu cu thi gian thit lpng k. gim thi gian thit lp, cc phng tin thu ngi iu hnh v cc cngvic tung t c b. Cc h thng x l theo l cho php sp xp cng vic t ng bi h iu hnhv ci tin rt nhiu vic tn dng ton b my tnh. My tnh khng cn phi ch ccthao tc ca ngi dng. Tuy nhin, vic tn dng CPU vn cn thp v tc cathit b xut nhp thp hn nhiu so vi tc ca CPU. Thao tc ngoi vi (off-lineoperation) ca cc thit b chm cung cp mt phng tin s dng nhiu h thng bc ti bng t (reader-to-tape) v bng t ti my in (tape-to-printer) cho mt CPU. ci tin ton b nng lc thc hin ca h thng my tnh, ngi pht trin giithiu khi nim a chng m nhiu cng vic c th c gi cng lc trong bnh ti cng mt thi im. CPU c chuyn qua li gia chng gia tng vic tndng CPU v gim ton b thi gian c yu cu thc thi cc cng vic.a chng cng cho php chia s thi gian. H iu hnh chia s thi gian cho phpnhiu ngi dng (t mt ti vi trm) s dng h thng my tnh giao tip ti cngmt thi im. PC l my vi tnh; chng xem nh nh hn v r hn h thng mainframe. Cch iu hnh cho cc my tnh ny li hn vic pht trin h iu hnh cho my tnhmainframe trong nhiu cch. Tuy nhin, v mi c nhn l ngi dng duy nht sdng my tnh nn vic tn dng CPU khng cn l mi quan tm ch yu. Do ,mt vi quyt nh thit k c thc hin cho h iu hnh cho my mainframe cth khng ph hp cho c h thng nh v ln, hin nay khi cc PCs c th c nikt ti cc my tnh khc v ngi dng thng qua mng v Web.Cc h song song c nhiu hn mt CPU trong giao tip gn; cc CPU chia s busmy tnh v i khi chia s b nh v cc thit b ngoi vi. Nhng h thng nh th cth cung cp thng lng v kh nng tin cy tng. Cc h thng phn tn cho phpchia s ti nguyn trn nhng my ch c phn tn v mt a l. Cc h thngc nhm cho php nhiu my thc hin vic tnh ton trn d liu c cha trnTi liu lu hnh ni bTrang 15 18. Gio trnh H iu hnhthit b lu tr chia s v vic tnh ton tip tc trong trng hp li ca tp hpcon cc thnh vin nhm. Mt h thi thc cng thng c dng nh mt thit b iu khin trongmt ng dng tn hin. Mt h iu hnh thi thc cng c rng buc hon ton xcnh v thi gian c nh. X l phi c thc hin trong cc rng buc c xcnh hoc h thng s b li. Cc h thng thi thc mm c rng buc thi gian tnghim khc hn v khng h tr thi biu ti hn. Gn y s tc ng ca Internet v World Wide Web khuyn khch s phttrin ca cc h iu hnh hin i. Cc h iu hnh ny cha cc trnh duyt Web,mng v phn mm truyn thng nh l cc c im tch hp. Chng ta th hin tin trnh lun l ca s pht h iu hnh, c nhhng bi s bao gm cc c im trong phn cng CPU c yu cu cho chcnng tin tin. Xu hng ny c th c thy ngy nay trong cuc cch mng caPC, vi phn cng ngy mt r hn v ang c ci tin cho php ci tin ccc im.Ti liu lu hnh ni bTrang 16 19. Gio trnh H iu hnh CU TRC H IU HNHIMc chSau khi hc xong chng ny, ngi hc nm c nhng kin thc sau: o Hiu h iu hnh t ba kha cnh: ngi dng, ngi lp trnh v ngi thit k o Hiu cc dch v m h iu hnhcung cp o Bit cc phng php c dng thit k kin trc h iu hnhII Gii thiuH iu hnh cung cp mi trng cho cc chng trnh thc thi. Ni ti, cc hiu hnh rt khc bit nhau v kin trc, chng c t chc cng vi cc dng khcnhau. Thit k mt h iu hnh mi l mt cng vic quan trng. Cc mc ch ca hthng phi c nh ngha r rng trc khi thit k bt u. Kiu h thng mongmun l c s cho vic chn la gia cc gii thut v chin lc khc nhau.H iu hnh c th c nhn t nhiu li im khc nhau. Ngi ny xem xtcc dch v m h iu hnh cung cp. Ngi kia quan tm n giao din m h iuhnh mang li cho ngi dng v ngi lp trnh. Ngi khc li phn r h thngthnh nhng thnh phn v cc mi quan h bn trong ca chng. Trong chng nychng ta tm hiu c ba kha cnh ca h iu hnh, th hin ba quan im ca ngidng, ngi lp trnh v ngi thit k h iu hnh. Chng ta xem xt cc dch vm h iu hnh cung cp, cch chng c cung cp v cc phng php khc nhauc dng cho vic thit k h iu hnh.III Cc thnh phn h thngChng ta c th to ra mt h thng ln v phc tp nh h iu hnh ch khiphn chia h iu hnh thnh nhng phn nh hn. Mi phn nn l mt thnh phnc m t r rng ca h thng, vi xut, nhp v cc chc nng c nh nghacn thn. Tuy nhin, nhiu h thng hin i chia s mc tiu h tr cc thnh phnh thng c lit k sau y:III.1 Qun l qu trnhMt chng trnh khng lm g tr khi cc ch th ca n c thc thi bi mtCPU. Mt qu trnh c th c xem nh mt chng ang thc thi, nhng nh nghaca n s m rng khi chng ta khm ph chi tit hn. Mt chng trnh ngi dngc chia thi chng hn nh mt trnh bin dch l mt qu trnh. Mt chng trnhx l vn bn ang c thc thi bi mt ngi dng trn mt PC cng l mt qutrnh. Mt tc v h thng, nh gi d liu xut ra my in cng c xem l mt qutrnh. By gi chng ta c th xem xt mt qu trnh l mt cng vic hay chng trnhchia thi, nhng chng ta s nghin cu khi nim ny tng qut hn trong cc chngsau.Mt qu trnh cn cc ti nguyn xc nh-gm thi gian CPU, b nh, tp tin,cc thit b xut/nhp- hon thnh tc v ca n. Cc ti nguyn ny c cp choBin son: Th.s Nguyn Ph Trng - 09/2005 Trang 18 20. Gio trnh H iu hnhqu trnh khi n c to ra, hay c cp pht ti n khi n ang chy. Ngoi ra, ccti nguyn vt l v lun l khc nhau m qu trnh nhn c khi n c to, dliu khi to khc nhau (hay nhp) c th c truyn qua. Th d, xem xt mt qutrnh c chc nng hin th trng thi ca mt tp tin trn mn hnh ca mt thit bu cui. Qu trnh ny s c cho d liu vo l tn ca tp tin, v s thc thi ccch th thch hp v cc li gi h thng t c v xut trn thit b cui thng tinmong mun. Khi qu trnh ny kt thc, h iu hnh s i li bt c ti nguyn noc th dng li. Chng ta nhn mnh mt chng trnh chnh n khng phi l mt qu trnh;mt chng trnh l mt thc th th ng, nh l ni dung ca tp tin c lu trna, tri li mt qu trnh l mt thc th hot ng, vi mt b m chng trnh xcnh ch th k tip thc thi. Vic thc thi ca qu trnh phi l tun t. CPU thcthi mt ch th ca qu trnh sau khi thc thi mt ch thc trc cho n khi qutrnh hon thnh. Ngoi ra, ti bt k thi im no, ti a mt ch th c thc thicho qu trnh. Do , mc d hai qu trnh c th c lin kt vi cng mt qu trnh,v th chng c xem nh hai chui thc thi ring. Thng thng c mt chngtrnh sinh ra nhiu qu trnh khi n thc thi. Mt qu trnh l mt n v cng vic trong h thng. Mt h thng cha tpcc qu trnh, mt vi qu trnh ny l cc qu trnh h iu hnh (thc thi m hthng) v cc qu trnh cn li l cc qu trnh ngi dng (chng thc thi m ngidng). Tt c cc qu trnh ny c tim nng thc thi ng hnh bng cch a hpCPU gia cc qu trnh. H iu hnh c nhim v cho cc hot ng sau khi cp n chc nngqun l qu trnh:o To v xo cc qu trnh ngi dng v h thngo Tm dng v thc thi tip qu trnho Cung cp cc c ch ng b ho qu trnho Cung cp cc c ch giao tip qu trnho Cung cp c ch qun l deadlockIII.2 Qun l b nh chnhB nh chnh l trung tm iu hnh ca mt my tnh hin i. B nh chnhl mt mng cc t (words) hay bytes c kch thc ln t hng trm ngn ti hng t.Mi t hay byte c a ch ring. B nh chnh l mt kho cha d liu c kh nngtruy xut nhanh c chia s bi CPU v cc thit b xut/nhp. B x l trung tm ccc ch th t b nh trong chu k ly ch th, n c v vit d liu t b nh chnhtrong chu k ly d liu. B nh chnh thng l thit b lu tr ln m CPU c thnh a ch v truy xut trc tip. Th d, i vi CPU x l d liu t a, dliu trc tin c chuyn ti b nh chnh bi li gi xut/nhp c sinh ra biCPU. Tng t, cc ch th phi trong b nh cho CPU thc thi chng.i vi mt chng trnh c thc thi, n phi c nh x cc a ch vc np vo b nh. Khi chng trnh thc thi, n truy xut cc ch th chng trnhv d liu t b nh bng cch to ra cc a ch tuyt i ny. Cui cng, chngtrnh kt thc, khng gian b nh ca n c khai bo sn, v chng trnh c thc np v thc thi. ci tin vic s dng CPU v tc p ng ca my tnh cho ngi dng,chng ta phi gi nhiu chng trnh vo b nh. Nhiu c ch qun l b nh khcnhau c dng v tnh hiu qu ca cc gii thut ph thuc vo tng trng hp cth. Chn mt c ch qun l b nh cho mt h thng xc nh ph thuc vo nhiuBin son: Th.s Nguyn Ph Trng - 09/2005Trang 19 21. Gio trnh H iu hnhyu t-c bit trn thit k phn cng ca h thng. Mi gii thut i hi s h trphn cng ca n. H iu hnh c nhim v cho cc hot ng sau khi cp ti vic qun lb nh o Gi vt v phn no ca b nh hin ang c dng v qu trnh no ang dng. o Quyt nh qu trnh no c np vo b nh khi khng gian b nh tr nn sn dng. o Cp pht v thu hi khng gian b nh khi c yu cu.III.3 Qun l tp tin Qun l tp tin l mt trong nhng thnh phn c th nhn thy nht ca hiu hnh. My tnh c th lu thng tin trn nhiu loi phng tin lu tr vt lkhc nhau. Bng t, a t, a quang l nhng phng tin thng dng nht. Miphng tin ny c c im v t chc ring. Mi phng tin c iu khin bimt thit b, nh mt a hay bng t. Cc thuc tnh ny bao gm tc truyxut, dung lng, tc truyn d liu v phng php truy xut (tun t hay ngunhin). Nh vo vic s dng thun li h thng my tnh, h iu hnh cung cp tmnhn lun l ca vic lu tr thng tin ng nht. H iu hnh tru tng ho ccthuc tnh vt l ca cc thit b lu tr nh ngha mt n v lu tr lun l l tptin. H iu hnh nh x cc tp tin trn cc thit b lu tr vt l, v truy xut cc tptin ny bng cc thit b lu tr. Tp tin l tp hp thng tin c quan h c nh ngha bi ngi to. Thngthng, cc tp tin biu din chng trnh v d liu. Cc tp tin d liu c th l s,ch ci, ch s. Cc tp tin c dng bt k (th d, cc tp tin vn bn) hay c thc nh dng c cu trc (th d, cc trng c nh). Mt tp tin cha mt chuicc bits, bytes, cc dng hay cc mu tin m ngha ca n c nh ngha bingi to. Khi nim tp tin l mt khi nim cc k thng dng. H iu hnh ci t mt khi nim tru tng ca tp tin bng cch qun lphng tin lu tr nh a, bng t v cc thit b iu khin chng. Cc tp tin cngthng c t chc trong cc th mc d dng s dng chng. Cui cng, khinhiu ngi dng truy xut tp tin, chng ta mun kim sot ai v trong cch g (th d:c, vit, chn,..) cc tp tin c th c truy xut. H iu hnh c nhim v thc hin cc hot ng trong vic qun l h thngtp tin: o To v xo tp tin o To v xo th mc o H tr cc hm nguyn thu thao tc tp tin v th mc o nh x cc tp tin trn cc thit b lu tr ph o Sao lu d phng tp tin trn cc phng tin lu tr nhIII.4 Qun l h thng xut/nhpMt trong nhng mc ch ca h iu hnh l che giu s khc bit ca cc thit bphn cng t ngi dng. Th d, trong UNIX s khc bit ca cc thit b xut/nhpb che giu t phn chnh ca h iu hnh bi cc h thng con xut/nhp. H thngcon xut/nhp cha:o Thnh phn qun l b nh cha vng m (buffering), lu tr(caching) v spooling (vng cha).Bin son: Th.s Nguyn Ph Trng - 09/2005Trang 20 22. Gio trnh H iu hnho Giao din trnh iu khin thit b chung.o Trnh iu khin cho cc thit b xc nh.Ch trnh iu khin thit b bit s khc bit ca cc thit b xc nh m n c gnIII.5 Qun l vic lu tr phMc ch chnh ca mt h thng my tnh l thc thi cc chng trnh.Nhng chng trnh ny vi d liu chng truy xut phi nm trong b nh chnh haylu tr chnh trong qu trnh thc thi. V b nh chnh qu nh lu tt c d liu vchng trnh v v d liu qun l b mt khi mt in, h thng my tnh phi cungcp vic lu tr ph lu d phng b nh chnh. Hu ht cc h thng my tnh hini dng a nh phng tin lu tr trc tuyn cho c chng trnh v d liu. Huht cc chng trnh gm trnh bin dch, trnh dch hp ng, th tc sp xp, trnhson tho v trnh nh dng c lu trn a cho ti khi c np vo trong b nhv sau dng a khi c hai ngun v ch ca vic x l. Do , qun lhp l vic lu tr a c vai tr quan trng i vi mt h thng my tnh.H iu hnh c nhim v thc hin cc hot ng sau trong vic qun l a:o Qun l khng gian trngo Cp pht lu tro nh thi aV lu tr ph c dng thng xuyn nn n phi c dng mt cch hiuqu. Tc ton b ca cc thao tc ca my tnh c th xoay quanh tc h thngcon a v cc gii thut thao tc trn h thng con .III.6 MngH phn tn l tp hp cc b x l, chng khng chia s b nh, cc thit bngoi vi hay ng h. Thay vo mi b x l c b nh, ng h v cc b x lgiao tip vi nhau thng qua cc ng giao tip nh bus tc cao hay mng. Ccb x l trong h thng phn tn khc nhau v kch thc v chc nng. Chng c thcha cc b vi x l, trm lm vic, my vi tnh v cc h thng my tnh thngthng.Cc b x l trong h thng c ni vi nhau thng qua mng truyn thngc th c cu hnh trong nhiu cch khc nhau. Mng c th c ni kt mt phnhay ton b. Thit k mng truyn thng phi xem xt vch ng thng ip v ccchin lc ni kt, v cc vn cnh tranh hay bo mt.H thng phn tn tp hp nhng h thng vt l ring r, c th c kin trc khngng nht thnh mt h thng cht ch, cung cp ngi dng vi truy xut ti cc tinguyn khc nhau m h thng duy tr. Truy xut ti cc ti nguyn chia s cho phptng tc tnh ton, chc nng, kh nng sn dng ca d liu, kh nng tin cy. Hiu hnh thng tng qut ho vic truy xut mng nh mt dng truy xut tp tin, vinhng chi tit mng c cha trong trnh iu khin thit b ca giao din mng. Ccgiao thc to mt h thng phn tn c th c mt nh hng to ln trn tin ch vtnh ph bin ca h thng . S i mi ca World Wide Web to ra mt phngphp truy xut mi cho thng tin chia s. N ci tin giao thc truyn tp tin (FileTransfer Protocol-FTP) v h thng tp tin mng (Network File System-NFS) cbng cch xo yu cu cho mt ngi dng ng nhp trc khi ngi dng cphp dng ti nguyn xa. nh ngha mt giao thc mi, giao thc truyn siu vnbn (hypertext transfer protocol-http), dng trong giao tip gia mt trnh phc v webv trnh duyt web. Trnh duyt web ch cn gi yu cu thng tin ti mt trnhBin son: Th.s Nguyn Ph Trng - 09/2005 Trang 21 23. Gio trnh H iu hnhphc v web ca my xa, thng tin (vn bn, ho, lin kt ti nhng thng tinkhc) c tr v.III.7 H thng bo v Nu mt h thng my tnh c nhiu ngi dng v cho php thc thi nghnh ca nhiu qu trnh, th cc qu trnh khc nhau phi c bo v t cc hotng ca qu trnh khc. Cho mc ch ny, cc c ch m bo rng cc tp tin, phnon b nh, CPU, v cc ti nguyn khc c th c iu hnh ch bi cc qu trnhc quyn ph hp t h iu hnh. Th d, phn cng nh a ch b nh m bo rng mt qu trnh c th thcthi ch trong khng gian a ch ca chnh n. B nh thi m bo rng khng c qutrnh no c th t c iu khin ca CPU m cui cng khng tr li iu khin.Cc thanh ghi iu khin thit b khng th truy xut ti ngi dng v th tnh ngn ca cc thit b ngoi vi khc nhau c bo v. Bo v l mt c ch iu khin truy xut ca cc chng trnh, qu trnhhay ngi dng ti ti nguyn c nh ngha bi mt h thng my tnh. C chny phi cung cp phng tin c t cc iu khin c p t v phng tincho vic p buc. Bo v c th ci tin kh nng tin cy bng cch pht hin cc li tim tngti cc giao din gia cc h thng con thnh phn. Pht hin cc li giao din smthng c th ngn chn nguy c nh hng ti h thng con bi mt h thng conkhc. Ti nguyn khng c bo v khng th ngn chn vic s dng bi ngidng khng c quyn. H thng hng bo v (protection-oriented system) cung cpmt phng tin phn bit gia vic dng c quyn v khng c quyn.III.8 H thng thng dch lnh Mt trong nhng chng trnh h thng quan trng nht i vi h iu hnh ltrnh thng dch lnh. N l giao din gia ngi dng v h iu hnh. Mt vi hiu hnh cha trnh thng dch lnh trong nhn (kernel). Cc h iu hnh khc nhaunh MS-DOS v UNIX xem trnh thng dch lnh nh mt chng trnh c bitang chy khi mt cng vic c khi to hay khi ngi dng ng nhp ln utin (trn cc h thng chia thi). Nhiu lnh (commands) c cung cp ti h iu hnh bi cc lnh iukhin (control statements). Khi mt cng vic mi c bt u trong h thng b, haykhi mt ngi dng ng nhp ti h thng chia thi, mt chng trnh c v thngdch cc cu lnh iu khin c thc thi t ng. Chng trnh ny cn c gitrnh thng dch th iu khin (control-card interpreter) hay trnh thng dchdng lnh v thng c bit nh shell. Chc nng ca n n gin l: ly cu lnhtip theo v thc thi n. Cc h iu hnh thng khc nhau trong vng shell, vi mt trnh thng dchlnh thn thin vi ngi dng lm cho h thng c th chp nhp nhiu hn i vingi dng. Mt dng giao din thn thin ngi dng l h thng trnh n-ca strn c s chut (mouse-based window-and-menu system) c dng trongMacintosh v Microsoft Windows. Chut c di chuyn ti v tr con tr chut trnnh hay biu tng trn mn hnh biu din cc chng trnh, tp tin, v cc hm hthng. Ph thuc vo v tr con tr chut, nhn mt nt trn chut c th np mtchng trnh, chn mt tp tin hay th mc hay ko xung mt trnh n cha cccu lnh. Cc shell mnh hn, phc tp hn v kh hc hn c nh gi cao bimt s ngi dng khc. Trong nhng shell ny, cc lnh c nh vo t bn phmBin son: Th.s Nguyn Ph Trng - 09/2005 Trang 22 24. Gio trnh H iu hnhc hin th trn mn hnh hay in ra thit b u cui, vi phm enter (hay return) chrng mt lnh hon thnh v sn sng c thc thi. Shell ca MS-DOS v UNIXiu hnh theo cch ny.Cc cu lnh gii quyt vic to v qun l qu trnh, qun l xut/nhp, qun lvic lu tr ph, qun l b nh chnh, truy xut h thng tp tin, bo v v mng.IV Cc dch v h iu hnh H iu hnh cung cp mt mi trng cho vic thc thi cc chng trnh. Ncung cp cc dch v xc nh ti chng trnh v ti ngi dng ca cc chngtrnh . D nhin, cc dch v c cung cp khc nhau t h iu hnh ny vi hiu hnh kia nhng chng c th xc nh cc lp chung. Cc dch v h iu hnhc cung cp s tin dng cho ngi lp trnh thc hin tc v lp trnh d dng.o Thc thi chng trnh: h thng phi c th np chng trnh vo b nh vchy chng trnh . Chng trnh phi c th kt thc vic thc thi ca nbnh thng hay khng bnh thng (hin th li).o Thao tc xut/nhp: mt chng trnh ang chy c th yu cu xut/nhp.Xut/nhp ny c th lin quan ti tp tin hay thit b xut/nhp. i vi ccthit b c th, cc chc nng c bit c th c mong mun (nh quay lit u mt bng t, hay xo mn hnh). i vi tnh hiu qu v tnh bov, ngi dng thng khng th iu khin cc thit b xut/nhp trc tip.Do , h iu hnh phi cung cp mt phng tin thc hin xut/nhp..o Thao tc h thng tp tin: h thng tp tin c s quan tm c bit. Ccchng trnh cn c t v vit ti cc tp tin. Chng trnh cng cn to vxo tp tin bng tn.o Giao tip: trong nhiu trng hp, mt qu trnh cn trao i thng tin vicc qu trnh khc. Giao tip nh th c th xy ra trong hai cch chnh.Cch u tin xy ra gia cc qu trnh c thc thi trn cng my tnh;cch th hai xy ra gia hai qu trnh ang c thc thi trn cc my tnhkhc nhau c kt ni vi nhau bi mt mng my tnh. Cc giao tip cth c thc hin bng b nh c chia s, hay bng k thut truynthng ip, trong cc gi tin c di chuyn gia cc qu trnh bi hiu hnh.o Pht hin li: h iu hnh lin tc yu cu nhn bit cc li c th phtsinh. Cc li c th xy ra trong CPU v phn cng b nh (nh li b nhhay li v in), trong cc thit b xut/nhp (nh li chn l trn bng t,li ni kt mng, ht giy in) v trong chng trnh ngi dng (nh trn shc, c gng truy xut mt v tr b nh khng hp l, dng qu nhiu thigian CPU). i vi mi loi li, h iu hnh nn thc hin mt hot nghp l m bo tnh ton ng v khng i.Ngoi ra, mt tp chc nng khc ca h iu hnh tn ti khng gip ngidng, nhng m bo cc iu hnh hu hiu ca chnh h thng. Cc h thng vinhiu ngi dng c th t tnh hu hiu bng cch chia s ti nguyn my tnh giacc ngi dng.o Cp pht ti nguyn: khi nhiu ngi dng ng nhp vo h thng hay nhiu cng vic ang chy cng lc, ti nguyn phi c cp ti mi ngi dng. Nhiu loi ti nguyn khc nhau c qun l bi h iu hnh. Mt s ti nguyn (nh chu k CPU, b nh chnh, lu tr tp tin) c m cpBin son: Th.s Nguyn Ph Trng - 09/2005 Trang 23 25. Gio trnh H iu hnhpht t bit, tri li cc ti nguyn khc (nh thit b xut/nhp) c m yucu v gii phng thng hn. Th d, xc nh cch tt nht dng CPU,h iu hnh c cc th tc nh thi biu CPU. Cc th tc ny xem xt tc CPU, cc cng vic phi c thc thi, s thanh ghi sn dng v cc yut khc. Cng c cc th tc cp pht bng t dng cho mt cng vic.Mt th tc nh th nh v bng t cha c dng v nh du mtbng bn trong ghi ngi dng mi ca bng t. Mt th tc khc cdng xo bng . Cc th tc ny cng c th cp pht cc my v,modem, cc thit b ngoi vi khc.o Tnh ton: chng ta mun gi vt ngi dng no s dng bao nhiu v loiti nguyn my tnh no. Gi vt ny c th c dng tnh ton (tnhtin ngi dng) hay n gin thng k s dng. Thng k s dng c th lcng c c gi tr cho ngi nghin cu mun cu hnh li h thng citin cc dch v tnh ton.o Bo v: ngi s hu thng tin c lu trong h thng my tnh a ngidng mun iu khin thng tin ny. Khi nhiu qu trnh ring r thc thing hnh, khng th cho mt qu trnh can thip ti cc qu trnh khc hayti chnh h iu hnh. Bo v m bo rng tt c truy xut ti nguyn cah thng c kim sot. An ton h thng t ngi dng bn ngoi cng lvn quan trng. An ton bt u vi mi ngi dng c quyn i vi hthng, thng bng mt khu c php truy xut ti nguyn. M rngvic bo v i vi cc thit b xut/nhp bn ngoi, bao gm modem, cardmng t nhng truy xut khng hp l, v ghi li cc ni kt pht hint nhp vo h thng. Nu h thng bo v v bo mt, nhng cnh bophi c thit lp xuyn sut.V Li gi h thng Li gi h thng cung cp giao din gia mt qu trnh v h iu hnh. Cc ligi ny thng sn dng nh cc ch th hp ng v chng thng c lit k trongnhng ti liu hng dn s dng c dng bi nhng ngi lp trnh hp ng.Nhng h thng xc nh cho php li gi h thng c thc hin trc tip t mtchng trnh ngn ng cp cao, trong cc li gi thng tng t li gi hm hayth tc c nh ngha trc. Chng c th to ra mt li gi ti mt chng trnhcon ti thi im thc thi c th. Li gi h thng xy ra trong nhiu cch khc nhau, ph thuc vo my tnhang dng. Thng nhiu thng tin c yu cu hn l n gin xc nh li gi hthng mong mun. Loi chnh xc v lng thng tin khc nhau da vo h iu hnhv li gi c th. Th d, nhp d liu, chng ta c th cn xc nh tp tin haythit b dng nh ngun nhp, a ch v chiu di vng m b nh m d liu nhps c c vo. D nhin, thit b hay tp tin v chiu di c th n trong li gi.Bin son: Th.s Nguyn Ph Trng - 09/2005 Trang 24 26. Gio trnh H iu hnhHnh 0-1-Truyn tham s nh bngC ba phng php thng dng truyn tham s ti h iu hnh. Phng phpn gin nht l truyn tham s trong cc thanh ghi. Trong mt vi trng hp, cctham s thng lu tr trong mt khi hay bng trong b nh v a ch ca khi ctruyn nh mt tham s trong thanh ghi (Hnh II.1). Cc tham s cng c th cthay th, hay c y vo trong ngn xp bi chng trnh, v c ly ra khi ngnxp bi h iu hnh. Mt vi h iu hnh dng phng php khi hay ngnxp v cc phng php ny khng gii hn s lng hay chiu di ca tham s angc truyn.VI Cc chng trnh h thngMt kha cnh khc ca h thng hin i l tp hp cc chng trnh h thng. Xemli hnh I.1, n minh ha cu trc phn cp my tnh lun l. Ti cp thp nht l phncng. K n l h iu hnh, sau cc chng trnh h thng v cui cng l ccchng trnh ng dng. Cc chng trnh h thng cung cp mi trng thun li chovic pht trin v thc thi chng trnh. Vi trong chng l cc giao din ngi dngn gin cho cc li gi h thng; cc h thng cn li c xem xt phc tp hn.Chng c th c chia thnh cc loi sau:o Qun l tp tin: cc chng trnh to, xa, chp, i tn, in, kt xut, lit k, v cc thao tc tp tin th mc thng thng.o Thng tin trng thi: mt vi chng trnh n gin yu cu h thng ngy, gi, lng b nh hay a sn dng, s lng ngi dng, hay thng tin trng thi tng t. Sau , thng tin c nh dng v c in ti thit b u cui hay thit b xut khc hoc tp tin.o Thay i tp tin: nhiu trnh son tho vn bn c th sn dng to v thay i ni dung ca tp tin c lu trn a hay bng t.o H tr ngn ng lp trnh: trnh bin dch, trnh hp ng v trnh thng dch cho cc ngn ng lp trnh thng dng (nh C, C++, Java, Visual Basic v PERL) thng c cung cp ti ngi dng vi h iu hnh. Hin nay, mt vi chng trnh ny c cung cp ring v c gi c ring.Bin son: Th.s Nguyn Ph Trng - 09/2005Trang 25 27. Gio trnh H iu hnh o Np v thc thi chng trnh: mt khi chng trnh c tp hp hay c bin dch, n phi c np vo b nh c thc thi. H thng c th cung cp b np tuyt i, b np c th ti nh v, b son tho lin kt v b np ph lp. Cc h thng g ri cho cc ngn ng cp cao hay ngn ng my cng c yu cu. o Giao tip: cc chng trnh ny cung cp c ch to cc ni kt o gia cc qu trnh, ngi dng, cc h thng my tnh khc. Chng cho php ngi dng gi cc thng ip ti mn hnh ca ngi dng khc, hin th cc trang web, gi th in t, ng nhp t xa hay chuyn cc tp tin t my tnh ny ti my tnh khc. Nhiu h iu hnh c cung cp vi cc chng trnh gii quyt cc vn giao tip thng thng hay thc hin cc thao tc ph bin. Nhng chng trnh nhth gm cc trnh duyt Web, b x l vn bn v b nh dng vn bn, h c s dliu, trnh bin dch, cc gi phn mm ha v phn tch thng k, tr chi,..Nhngchng trnh ny c gi l cc tin ch h thng hay chng trnh ng dng. Hu ht ngi dng nhn h iu hnh nh cc chng trnh h thng hn ccli gi h thng thc s. Ngh v vic s dng mt PC. Khi my tnh ca chng tachy h iu hnh Microsoft Windows, chng ta c th thy mt trnh thng dchdng lnh MS-DOS hay giao din ca s v trnh n ha. C hai s dng cngmt tp li gi h thng nh li gi h thng trng rt khc v hot ng trong cccch khc nhau. Do , tm nhn ca chng ta v thc cht c th b tch ri vi cutrc h thng thc s. V th, thit k mt giao din tin dng v thn thin khng lmt chc nng trc tip ca h iu hnh. Trong gio trnh ny chng ta s tp trungcc vn c bn ca vic cung cp dch v y cho cc chng trnh ngi dng.T quan im h iu hnh, chng ta khng phn bit s khc nhau gia cc chngtrnh ngi dng v cc chng trnh h thng.VII Cu trc h thngMt h thng ln v phc tp nh mt h iu hnh hin i phi c xydng cn thn nu n thc hin chc nng hp l v c hiu chnh d dng. Mtphng php thng thng l chia tc v thnh cc thnh phn nh hn l c mt hthng nguyn khi. Mi modules ny nn l mt thnh phn hon ton xc nh vinhp, xut, chc nng c nh ngha cn thn. Trong phn ny chng ta s tholun v cch thc m cc thnh phn c ni kt v trn ln trong mt nhn.VII.1 Cu trc n ginHnh 0-2-Cu trc phn tng ca MS-DOSBin son: Th.s Nguyn Ph Trng - 09/2005 Trang 26 28. Gio trnh H iu hnhNhiu h thng thng mi khng c kin trc r rng. Thng cc h iuhnh nh th c bt u nh cc h thng nh, n gin v c gii hn. Sau chng ln ln ngoi gii hn m ban u ca chng.MS-DOS l mt th d cho h thng dng ny. Ban u, n c thit k vthc hin bi mt vi ngi m h khng tng rng chng s tr nn qu ph bin.N c vit cung cp cc kh nng nhiu nht trong khng gian t nht (v b giihn bi phn cng m n ang chy) v n khng c phn chia thnh cc modulesmt cch cn thn. Hnh II.2, hin th cu trc ca n.UNIX l mt h iu hnh khc m ban u n b gii hn bi chc nng phncng. N cha hai phn c th tch ri nhau: nhn v cc chng trnh h thng.Nhn li c chia thnh mt lot cc giao din v trnh iu khin thit b m chngc thm vo v m rng qua nhiu nm khi UNIX c ci tin. Chng ta c thhin th h iu hnh UNIX truyn thng khi n c phn tng nh hnh II.3. Mith bn di giao din li gi h thng v bn trn phn cng vt l l nhn. Nhncung cp h thng tp tin, b nh thi CPU, qun l b nh v cc chc nng khcca h iu hnh thng qua li gi h thng. C rt nhiu chc nng c ni kttrong cp th nht. iu ny lm cho UNIX kh c th nng cp khi nhng thay itrong phn mt nh hng bt li cho nhng phn khc. Hnh 0-3 Cu trc h thng ca UNIXLi gi h thng nh ngha giao din lp trnh ng dng (API-ApplicationProgramming Interface) cho UNIX; tp hp cc chng trnh h thng thng sndng nh ngha giao din ngi dng. Ngi lp trnh v giao din ngi dng nhngha ng cnh m nhn phi h tr.Nhng n bn mi ca UNIX c thit k dng phn cng tin tin hn.c cung cp s h tr phn cng hp l, cc h iu hnh c th c chia thnhnhiu phn nh hn v ph hp hn l cc h thng MS-DOS v UNIX ban u. Sau, cc h iu hnh c th gi li vic iu khin ln hn qua my tnh v qua ccng dng thc hin vic s dng my tnh . Nhng ngi ci t thoi mi hntrong vic thc hin nhng thay i cc hot ng bn trong ca h thng v trongvic to cc h iu hnh theo module. Di phng php t trn-xung (top-down),ton b cc chc nng v c im c xc nh v c chia thnh cc thnh phn.S phn chia ny cho php cc ngi lp trnh che giu thng tin; do h t do cit cc th tc cp thp khi h thy thch hp, c cung cp cc giao din bn ngoica cc th tc khng b thay i do chnh th tc thc hin cc tc v thngthng.Bin son: Th.s Nguyn Ph Trng - 09/2005 Trang 27 29. Gio trnh H iu hnhVII.2 Phng php phn tngVic phn chia tng phn ca mt h thng c th c thc hin trong nhiucch. Mt trong nhng phng php ny l thc hin tip cn phn tng. Trong tipcn ny h iu hnh c chia thnh nhiu tng (hay cp), mi tng c xy dngtrn nh ca tng di n. Tng cui cng (tng 0) l phn cng; tng cao nht (tngN) l giao din ngi dng.Mt tng h iu hnh l s ci t ca mt i tng tru tng. i tngtru tng ny l s bao gi d liu v cc iu hnh c th thao tc d liu . Mttng h iu hnh in hnh tng M- c m t trong hnh II.4. N cha cc cutrc d liu v tp hp cc th tc c th c gi bi cc tng cp cao hn. Sau ,tng M c th gi cc thao tc trn tng cp thp hn. Hnh 0-4-Mt tng h iu hnh Li im ch yu ca tip cn phn tng l tnh module. Cc tng c chnda trn c s tng trn s dng chc nng (hay cc iu hnh) v cc dch v ch catng cp di n. Tip cn ny n gin ha vic g ri v kim tra h thng. Tngu tin c th c g ri m khng c bt c s quan tm no cho phn cn li cah thng. Bi v theo nh ngha, n ch s dng phn cng c bn ci t cc chcnng ca n. Mt khi tng u tin c g ri, chc nng sa li ca n c th cm ng trong khi tng th hai c g ri, Nu mt li c tm thy trong khig ri cho mt tng xc nh, li phi c nm trn tng v cc tng bn di c g ri ri. Do , thit k v ci t h thng c n gin ha khi h thngc phn chia thnh nhiu tng. Mi tng c ci t ch vi cc thao tc c cung cp bi cc tng bndi. Mt tng khng cn bit cc thao tc c ci t nh th no; n ch cn bitcc thao tc lm g. Do , mi tng che giu s tn ti ca cu trc d liu, thaotc v phn cng t cc tng cp cao hn. Kh khn chnh ca tip cn phn tng lin quan ti vic nh ngha cn thncc tng v mt tng ch c th s dng cc tng bn di n. Th d, trnh iu khinthit b cho khng gian a c dng bi cc gii thut b nh o phi nm ti cpthp hn trnh iu khin thit b ca cc th tc qun l b nh v qun l b nh yucu kh nng s dng khng gian a. Cc yu cu c th khng tht s r rng. Thng th cc trnh iu khin lutr d phng nm trn b nh thi CPU v trnh iu khin cn phi ch nhp/xut vCPU c th c nh thi li trong thi gian ny. Tuy nhin, trn h thng ln, bBin son: Th.s Nguyn Ph Trng - 09/2005Trang 28 30. Gio trnh H iu hnhnh thi c th c nhiu thng tin hn v tt c qu trnh ang hot ng hn l cth t va trong b nh. Do , thng tin ny c th cn c hon v vo v ra bnh, yu cu th tc trnh iu khin lu tr d phng nm bn di b nh thiCPU.Vn cui cng vi cc ci t phn tng l chng c khuynh hng t hiuqu hn cc loi khc. Th d, khi chng trnh ngi dng thc thi thao tcnhp/xut, n thc thi mt li gi h thng. Li gi h thng ny c by (trapped)ti tng nhp/xut, n yu cu tng qun l b nh, sau gi tng nh thi CPU,sau c truyn ti phn cng. Ti mi tng, cc tham s c th c hiu chnh,d liu c th c truyn,Mi tng thm chi ph cho li gi h thng; kt qu thcs l li gi h thng mt thi gian lu hn khi chng thc hin trn h thng khngphn tng.Hnh 0-5 Cu trc phn tng ca OS/2Nhng gii hn ny gy mt phn ng nh chng li vic phn tng trongnhng nm gn y. Rt t cc tng vi nhiu chc nng c thit k, cung cp nhiuli im ca m c module trong khi trnh nhng vn kh khn ca nh ngha vgiao tip tng. Th d, OS/2 b sung thm tnh nng a tc v v iu hnh hai ch cng mt s c im mi. V tnh phc tp c b sung v phn cng mnh hn mOS/2 c thit k, h thng c ci t trong dng phn tng.VII.3 Vi nhn (Microkernels)Khi h iu hnh UNIX c m rng, nhn tr nn ln v kh qun l. Vogia nhng nm 1980, cc nh nghin cu ti i hc Carnegie Mellon pht trin mth iu hnh c gi l Match m module ha nhn dng tip cn vi nhn (microkernel). Phng php ny nh kin trc ca h iu hnh bng xa tt c thnh phnkhng quan trng t nhn v ci chng nh cc chng trnh cp ngi dng v hthng. Kt qu ny lm cho nhn nh hn. C rt t s nht tr lin quan n vicquyt nh dch v no nn li trong nhn v dch v no nn c ci t trongkhng gian ngi dng. Tuy nhin, thng th cc vi nhn in hnh cung cp qutrnh v qun l b nh ti thiu ngoi phng tin giao tip.Chc nng chnh ca vi nhn l cung cp tin nghi giao tip gia chng trnhkhch hng v cc dch v khc m chng ang chy trong khng gian ngi dng.Giao tip c cung cp bng truyn thng ip. Th d, nu chng trnh khch hngmun truy xut mt tp tin, n phi giao tip vi trnh phc v tp tin (file server).Bin son: Th.s Nguyn Ph Trng - 09/2005 Trang 29 31. Gio trnh H iu hnhChng trnh ngi dng v dch v khng bao gi giao tip trc tip. ng hn lchng giao tip gin tip bng cch truyn thng ip vi vi nhn.Thun li ca tip cn vi nhn l d dng m rng h iu hnh. Tt c dchv mi c thm ti khng gian ngi dng v do khng yu cu phi hiu chnhnhn. Kt qu l h iu hnh d dng hn chuyn i t thit k phn cng nysang thit k phn cng khc. Vi nhn cng cung cp kh nng an ton v tin cy hnv hu ht cc dch v ang chy nh ngi dng hn l nhn- cc qu trnh. Nu mtdch v b li, phn cn li ca h iu hnh vn khng b nh hng.Mt s h iu hnh hin i dng tip cn vi nhn. Tru64 UNIX (Digital UNIX trcy) cung cp giao din UNIX ti ngi dng, nhng n c ci t vi nhn Mach.Nhn Mach nh x cc li gi h thng vo cc thng ip ti cc dch v cp ngidng tng ng. H iu hnh Apple MacOS Server c da trn c s nhn Mach.QNX l h iu hnh thi thc cng da trn c s thit k vi nhn. Vi nhnQNX cung cp cc dch v cho vic truyn thng ip v nh thi qu trnh. N cngqun l giao tip mng cp thp v cc ngt phn cng. Tt c dch v khc trongQNX c cung cp bi cc qu trnh chun chy bn ngoi nhn trong ch ngidng.Windows NT dng mt cu trc tng hp. Windows NT c thit k chycc ng dng khc nhau, gm Win32 (ng dng thun Windows), OS/2, v POSIX(Portable Operating System Interface for uniX). N cung cp mt server chy trongkhng gian ngi dng cho mi loi ng dng. Cc chng trnh khch hng cho miloi ng dng chy trong khng gian ngi dng. Nhn iu phi vic truyn thngip gia cc ng dng khch hng v server ng dng. Cu trc client-server caWindows NT c m t trong hnh II.6 Hnh 0-6 Cu trc client-server ca Windows NTVIII My oV mt khi nim, mt h thng my tnh c cu thnh t cc tng. Phncng l cp thp nht trong tt c h thng nh th. Nhn chy ti cp k tip dngcc ch th phn cng to mt tp li gi h thng cho vic s dng cc tng bnngoi. Do , cc chng trnh h thng trn nhn c th dng cc li gi h thnghay cc ch th phn cng. Trong nhiu trng hp, cc chng trnh ny khng c skhc bit gia hai cch thc hin. Do , mc d chng c truy xut khc nhau,nhng c hai cung cp chc nng m chng trnh c th dng to thm ch nhiuchc nng tin tin hn. Sau , cc chng trnh h thng xem phn cng v cc ligi h thng nh chng ang cng mt cp.Bin son: Th.s Nguyn Ph Trng - 09/2005 Trang 30 32. Gio trnh H iu hnh Mt vi h thng thc hin c ch ny mt cch chi tit hn bng cch chophp cc chng trnh h thng c gi d dng bi cc chng trnh ng dng.Trc , mc d cc chng trnh h thng ti cp cao hn cc th tc khc,nhng cc chng trnh ng dng c th hin th mi th di chng trong cu trcphn cp nh l mt phn ca chnh my . Tip cn phn tng ny c a nmt kt lun lun l trong khi nim my o (virtual machine). Mt h iu hnh myo cho cc h thng IBM l mt th d in hnh nht v khi nim my o v IBMtin phong thc hin trong lnh vc ny. Bng cch s dng b nh thi CPU v k thut b nh o, mt h iu hnhc th to mt hnh nh m mt qu trnh c b x l ca chnh n vi b nh (o)ca chnh n. D nhin, thng th mt qu trnh c cc c im khc nhau, nh ccli gi h thng v h thng tp tin, m khng c cung cp bi phn cng tr.Thm vo , tip cn my o khng cung cp bt k chc nng b sung no; nhngng hn l cung cp mt giao din ging ht nh phn cng tr bn di. Mi qutrnh c cung cp vi mt bn sao (o) ca my tnh bn di (Hnh II.7). Mt kh khn chnh vi tip cn my o lin quan n h thng a. Gi s rngmy vt l c ba a nhng mun h tr by my o. R rng, n khng th cppht mt a ti mi my o. Nh rng chnh phn mm my o s cn khng giana lin tc cung cp b nh o. Gii php ny cung cp a o, m n ng trongtt c kha cnh ngoi tr kch thc-c thut ng ha a nh (minidisks) trong hiu hnh my o ca IBM. H thng ci t nhiu a nh bng cch cp pht nhiurnh ghi trn a vt l nh l cc a nh khi cn. Hin nhin, tng kch thc ca ttc a nh l nh hn kch thc ca khng gian a vt l sn c.Hnh 0-7-Cc m hnh h thng. (a) My khng o. (b) my oDo , ngi dng c cho my o ca chnh h. Sau , h c th chy btk h iu hnh hay gi phn mm no sn dng trn phn cng bn di. i vi hthng IBM VM, mt ngi dng thng chy CMS-mt h iu hnh giao tip nngi dng. Phn mm my o c quan tm vi a my o a chng trn mtmy vt l nhng khng cn xem xt bt c phn mm h tr ngi dng. Vic spxp ny c th cung cp mt s phn chia hu ch thnh hai phn nh hn ca vn thit k mt h thng giao tip a ngi dng.Bin son: Th.s Nguyn Ph Trng - 09/2005 Trang 31 33. Gio trnh H iu hnhVIII.1 Ci tMc d khi nim my o l hu ch nhng rt kh ci t. Nhiu cng vicc yu cu cung cp mt bn sao chnh xc ca my bn di. My bn di c haich : ch ngi dng v ch kim sot. Phn mm my o c th chy trongch kim sot v n l h iu hnh. Chnh my o c th thc thi ch trong ch ngi dng. Tuy nhin, ch khi my vt l c hai ch th n mi l my o. Do ,chng ta phi c mt ch ngi dng o v mt ch kim sot o. C hai uchy trong ch ngi dng vt l. Cc hot ng gy ra s chuyn t ch ngi dng ti ch kim sot trn mt my tht (nh li gi h thng hay c gngthc thi mt ch th c cp quyn) cng phi gy ra s chuyn i t ch ngidng o ti ch kim sot o trn mt my o.VIII.2 Li imC hai li im chnh trong vic s dng my o. Th nht, bng cch bo vhon ton cc ti nguyn h thng, my o cung cp mc bo mt cao. Th hai,my o cho php pht trin h thng c thc hin m khng cn ph v hot ngh thng thng thng.Mi my o hon ton b c lp t cc my o khc, v th chng ta khng gpphi bt k vn bo mt no nh ti nguyn h thng khc hon ton c bo v.Th d, cc ng dng khng c tin cy c ti v t Internet c th c chy trongmt my o ring. Mt bt li ca mi trng ny l khng c s chia s ti nguyntrc tip. Hai tip cn cung cp s chia s c ci t. Th nht, c th chia s mt anh. C ch ny c lm mu sau mt a c chia s vt l. Th hai, c th nhngha mt mng ca cc my o, mi my o c th gi thng tin qua cc mng giaotip ny nhng n c ci t bng phn mm.Nhng h thng my o nh th l mt phng tin truyn thng hu hiu chovic nghin cu v pht trin h iu hnh. Thng thng, thay i mt h iu hnh lmt tc v kh. V cc h iu hnh l cc chng trnh ln v phc tp, s thayi trn mt phn ny c th gy mt li kh hiu trong nhng phn khc. Sc mnhca h iu hnh lm cho trng hp ny l cc k nguy him. V h iu hnh thcthi trong ch kim sot, mt thay i sai trong mt con tr c th gy li v c thph hy ton h thng tp tin. Do , cn phi kim tra tt c thay i ca h iuhnh mt cch cn thn.Tuy nhin, h iu hnh chy trn my v iu khin hon ton my . Do, h thng hin hnh phi b dng v ngng vic s dng trong khi nhng thay ic thc hin v kim tra. Thi im ny thng c gi l thi gian pht trin hthng. V n lm cho h thng khng sn dng i vi ngi s dng nn thi gianpht trin h thng thng c lp thi biu vo bui ti hay cui tun, khi ti hthng thp. Mt h thng my o c th loi tr nhiu vn ny. Ngi lp trnh h thngc cung cp chnh my o ca h, v pht trin h thng c thc hin trn myo thay v trn my vt l tht s. Mt h iu hnh thng thng t khi b ph v vpht trin h thng. Mc d nhng thun li ny, nhng rt t ci tin trn k thut nyc thc hin gn y.Bin son: Th.s Nguyn Ph Trng - 09/2005 Trang 32 34. Gio trnh H iu hnhIX Tm tt H iu hnh cung cp mt s dch v. Ti cp thp nht, li gi h thng chophp mt chng trnh ang chy thc hin yu cu trc tip t h thng. Ti cp caohn, trnh thng dch cung cp c ch cho ngi dng a ra yu cu m khng vitchng trnh. Cc lnh c th xut pht t tp tin trong sut thi gian thc thi theoch x l theo l, hay trc tip t bn phm trong ch tng tc hay chia s thigian. Cc chng trnh h thng c cung cp tho mn nhiu yu cu thngthng ca ngi dng. Cc loi yu cu khc nhau da theo cp yu cu. Cp gi h thng phi cungcp cc chc nng c bn, nh iu khin qu trnh, qun l tp tin v thit b. Ccyu cu cp cao hn c tho mn bi trnh thng dch lnh v chng trnh hthng c dch vo mt chui cc li gi h thng. Cc dch v h thng c th cphn cp thnh nhiu loi: iu khin chng trnh, yu cu trng thi, yu cunhp/xut. Li chng trnh c xem xt cc yu cu n cho dch v. Mt khi dch v h thng c nh ngha, cu trc ca h iu hnh c phttrin. Cc bng khc nhau cn c ghi thng tin nh ngha trng thi ca h thngmy tnh v trng thi ca cng vic h thng.Thit k mt h iu hnh mi l cng vic rt quan trng. Thit k h thngnh th t ca cc tng hay s dng vi nhn c xem l mt k thut tt. Khi nimmy o thc hin tip cn phn tng v xem nhn ca h iu hnh v phn cng nhl phn cng ca n. Cc h iu hnh khc c th c np trn nh ca my o.Bin son: Th.s Nguyn Ph Trng - 09/2005Trang 33 35. Gio trnh H iu hnh QU TRNHIMc chSau khi hc xong chng ny, ngi hc nm c nhng kin thc sau: Hiu cc khi nim v qu trnh Hiu cch lp thi biu qu trnh Bit cc thao tc trn qu trnh Hiu cch giao tip lin qu trnhII Gii thiu Nhng h thng my tnh ban u cho php ch mt chng trnh c thc thiti mt thi im. Chng trnh ny c ton quyn iu khin h thng v c truy xutti tt c ti nguyn ca h thng. Nhng h thng my tnh hin nay cho php nhiuchng trnh c np vo b nh v c thc thi ng hnh. S pht trin ny yucu s iu khin mnh m hn v phn chia nhiu hn gia cc qu trnh. Yu cuny dn n khi nim qu trnh, mt chng trnh ang thc thi. Qu trnh l mt nv cng vic trong mt h iu hnh chia thi hin i. Mt h iu hnh phc tp hn c mong i nhiu hn trong vic thc hincc hnh vi ca ngi dng. Mc d quan tm ch yu ca h iu hnh l thc thichng trnh ngi dng, nhng n cng quan tm n cc tc v khc nhau bnngoi nhn. Do , mt h thng cha tp hp cc qu trnh: qu trnh h iu hnhthc thi m h thng, qu trnh ngi dng thc thi m ngi dng. Tt c qu trnhny c tim nng thc thi ng hnh, vi mt CPU (hay nhiu CPU) c a hpgia chng. Bng cch chuyn i CPU gia cc qu trnh, h iu hnh c th lmcho my tnh hot ng vi nng sut cao hn.III Khi nim qu trnhMt vn cn tho lun l ci g c gi trong tt c hot ng ca CPU? Mth thng b thc thi cng vic, tri li mt h thng chia thi thc thi chng trnhngi dng hay tc v. Thm ch trn h thng n ngi dng nh MicrosoftWindows v Macintosh OS, mt ngi dng c th chy nhiu chng trnh ti mtthi im: b x l vn bn, trnh duyt web, e-mail. Thm ch nu ngi dng c ththc thi ch mt qu trnh ti mt thi im, th mt h iu hnh cn h tr nhnghot ng c lp trnh bn trong, nh qun l b nh. Trong nhiu kha cnh, tt chot ng l tng t v th chng ta gi tt c chng l qu trnh.Bin son: Th.s Nguyn Ph Trng - 09/2005Trang 37 36. Gio trnh H iu hnhIII.1 Qu trnh Tht vy, mt qu trnh l mt chng trnh ang thc thi. Mt qu trnhkhng ch l m chng trnh, n cn bao gm hot ng hin hnh nh c hindin bi gi tr ca b m chng trnh v ni dung cc thanh ghi ca b x l.Ngoi ra, mt qu trnh thng cha ngn xp qu trnh, cha d liu tm thi (nhcc tham s phng thc, cc a ch tr v, cc bin cc b) v phn d liu cha ccbin ton cc. Chng ta nhn mnh rng, mt chng trnh khng phi l mt qu trnh; mtchng trnh l mt thc th th ng, nh ni dung ca cc tp tin c lu trn a,tri li mt qu trnh l mt thc th ch ng, vi mt b m chng trnh xc nhch th lnh tip theo s thc thi v tp hp ti nguyn c lin quan. Mc d hai qu trnh c th c lin kt vi cng chng trnh nhng chngc cha hai th t thc thi ring r. Th d, nhiu ngi dng c th ang chy ccbn sao ca chng trnh gi nhn th, hay cng ngi dng c th np ln nhiu bnsao ca mt chng trnh son tho vn bn. Mi bn sao ca chng l mt qu trnhring v mc d cc phn vn bn l ging nhau, cc phn d liu khc nhau. Ngoi ra,mt qu trnh c th to ra nhiu qu trnh khi n thc thi.III.2 Trng thi qu trnhKhi mt qu trnh thc thi, n thay i trng thi. Trng thi ca qu trnh cnh ngha bi cc hot ng hin hnh ca qu trnh . Mi qu trnh c th mttrong nhng trng thi sau: Mi (new): qu trnh ang c to ra ang chy (running): cc ch th ang c thc thi Ch (waiting): qu trnh ang ch s kin xy ra (nh hon thnh vic nhp/xut hay nhn tn hiu) Sn sng (ready): qu trnh ang ch c gn ti mt b x l. Kt thc (terminated): qu trnh hon thnh vic thc thi Cc tn trng thi ny l bt k, v chng khc nhau cc h iu hnh khcnhau. Tuy nhin, cc trng thi m chng hin din c tm thy trn tt c h thng.Cc h iu hnh xc nh m t trng thi qu trnh. Ch mt qu trnh c th angchy tc th trn bt k b x l no mc d nhiu qu trnh c th trng thi snsng v ch.Hnh 0-1-Lu trng thi qu trnhBin son: Th.s Nguyn Ph Trng - 09/2005 Trang 38 37. Gio trnh H iu hnhIII.3 Khi iu khin qu trnhMi qu trnh c hin din trong h iu hnh bi mt khi iu khin qutrnh (Process Control Block-PCB) cng c gi khi iu khin tc v. Mt PCBc hin th trong hnh III-2. N cha nhiu phn thng tin c gn lin vi mtqu trnh xc nh, gm: Hnh 0-2-Khi iu khin qu trnh Trng thi qu trnh (process state): trng thi c th l mi, sn sng, ang chy, ch i, kt thc, B m chng trnh (program counter): b m hin th a ch ca ch th k tip c thc thi cho qu trnh ny. Cc thanh ghi (registers) CPU: cc thanh ghi khc nhau v s lng v loi, ph thuc vo kin trc my tnh. Chng gm cc b tng (accumulators), cc thanh ghi ch mc, cc con tr ngn xp, v cc thanh ghi a nng (general- purpose registers), cng vi thng tin m iu kin (condition-code information). Cng vi b m chng trnh, thng tin trng thi ny phi c lu khi mt ngt xy ra, cho php qu trnh c tip tc mt cch ph hp sau (Hnh III.3). Thng tin lp thi biu CPU (CPU-scheduling information): thng tin gm u tin ca qu trnh, cc con tr ch ti cc hng i lp thi biu, v bt k tham s lp thi biu khc. Thng tin qun l b nh (Memory-management information): thng tin ny c th gm nhng thng tin nh gi tr ca cc thanh ghi nn v thanh ghi gii hn, cc bng trang hay cc bng phn on, ph thuc h thng b nh c dng bi h iu hnh. Thng tin tnh ton (accounting information): thng tin ny gm lng CPU v thi gian thc c dng, cng vic hay s qu trnh, Thng tin trng thi nhp/xut (I/O status information): thng tin ny gm danh sch ca thit b nhp/xut c cp pht qu trnh ny, mt danh sch cc tp tin ang m,.. PCB n gin phc v nh kho cha cho bt c thng tin khc nhau t qu trnhny ti qu trnh khc.Bin son: Th.s Nguyn Ph Trng - 09/2005Trang 39 38. Gio trnh H iu hnh Hnh 0-3-Lu hin th vic chuyn CPU t qu trnh ny ti qu trnh khcIII.4 Lung M hnh qu trnh va c tho lun ng rng mt qu trnh l mt chngtrnh thc hin mt lung n thc thi. Th d, nu mt qu trnh ang chy mtchng trnh x l vn bn, mt lung n ca ch th ang c thc thi. y l mtlung iu khin n cho php qu trnh thc thi ch mt tc v ti mt thi im. Thd, ngi dng khng th cng lc nhp cc k t v chy b kim tra chnh t trongcng mt qu trnh. Nhiu h iu hnh hin i m rng khi nim qu trnh chophp mt qu trnh c nhiu lung thc thi. Do , chng cho php thc hin nhiuhn mt tc v ti mt thi im.IV Lp thi biu qu trnh Mc tiu ca vic a chng l c vi qu trnh chy ti tt c thi im tndng ti a vic s dng CPU. Mc tiu ca chia thi l chuyn CPU gia cc qutrnh thng xuyn ngi dng c th giao tip vi mi chng trnh trong khiang chy. Mt h thng n x l ch c th chy mt qu trnh. Nu nhiu hn mtqu trnh tn ti, cc qu trnh cn li phi ch cho ti khi CPU rnh v c th lp thibiu li.IV.1 Hng i lp thi biuKhi cc qu trnh c a vo h thng, chng c t vo hng i cngvic. Hng i cha tt c qu trnh trong h thng. Cc qu trnh ang nm trong bnh chnh sn sng v ch thc thi c gi trn mt danh sch c gi l hngi sn sng. Hng i ny thng c lu nh mt danh sch lin kt. u cahng i sn sng cha hai con tr: mt ch n PCB u tin v mt ch ti PCBcui cng trong danh sch. Chng ta b sung thm trong mi PCB mt trng con trch ti PCB k tip trong hng i sn sng.H iu hnh cng c cc hng i khc. Khi mt qu trnh c cp phtCPU, n thc thi mt khong thi gian v cui cng kt thc, c ngt, hay ch mtBin son: Th.s Nguyn Ph Trng - 09/2005Trang 40 39. Gio trnh H iu hnhs kin xc nh xy ra, chng hn nh hon thnh mt yu cu nhp/xut. Trongtrng hp yu cu nhp/xut, mt yu cu c th l a bng t tn hin hay mtthit b c chia s nh a. V h thng c nhiu qu trnh, a c th bn vi yucu nhp/xut ca cc qu trnh khc. Do , qu trnh phi ch a. Danh sch qutrnh ch mt thit b nhp/xut c th c gi l hng i thit b. Mi thit b chng i ca chnh n nh hnh III.4. Mt biu din chung ca lp thi biu qu trnh l mt lu hng i, nhhnh III.5. Mi hnh ch nht hin din mt hng i. Hai loi hng i c hindin: hng i sn sng v tp cc hng i thit b, vng trn hin din ti nguynphc v hng i, cc mi tn hin th dng cc qu trnh trong h thng. Mt qu trnh mi khi u c t vo hng i. N ch trong hng i snsng cho ti khi n c chn thc thi. Mt khi qu trnh c gn ti CPU v angthc thi, mt trong nhiu s kin c th xy ra: Qu trnh c th pht ra mt yu cu nhp/xut v sau c t votrong hng i nhp/xut. Qu trnh c th to mt qu trnh con v ch cho qu trnh con kt thc Khi mt ngt xy ra, qu trnh c th b buc tr li CPU v c t trli trong hng i sn sng. Trong hai trng hp u, cui cng qu trnh chuyn t trng thi ch titrng thi sn sng v sau t tr li vo hng i sn sng. Mt qu trnh tip tcchu k ny cho ti khi n kt thc. Ti thi im kt thc n b xo t tt c hng i.Sau , PCB v ti nguyn ca n c thu hi. Hnh 0-4-Hng i sn sng v cc hng i nhp/xut khc nhauBin son: Th.s Nguyn Ph Trng - 09/2005 Trang 41 40. Gio trnh H iu hnhHnh 0-5-Biu din lu hng i ca lp thi biu qu trnhIV.2 B nh thi biuMt qu trnh di di gia hai hng i nh thi khc nhau sut thi gian sngca n. H iu hnh phi chn, cho mc ch nh thi, cc qu trnh t cc hng iny. Qu trnh chn la ny c thc hin bi b nh thi hp l.Trong h thng b, thng nhiu hn mt qu trnh c gi n hn l c thc thc thi tc th. Cc qu trnh ny c lu ti thit b lu tr (nh a), nichng c gi cho vic thc thi sau . B nh thi di (long-term scheduler) hayb nh thi cng vic (job scheduler), chn cc qu trnh t vng m v np chngvo b nh thc thi. B nh thi ngn (short-term scheduler) hay b nh thiCPU chn mt qu trnh t cc qu trnh sn sng thc thi v cp pht CPU cho qutrnh .S khc bit ch yu gia hai b nh thi l tnh thng xuyn ca vic thcthi. B nh thi CPU phi chn mt qu trnh mi cho CPU thng xuyn. Mt qutrnh c th thc thi ch mt vi mili giy trc khi ch yu cu nhp/xut. B nhthi CPU thng thc thi t nht mt ln mi 100 mili giy. V thi gian ngn giavic thc thi nn b nh thi phi nhanh. Nu n mt 10 mili giy quyt nh thcthi mt qu trnh 100 mili giy th 10/(100+10) = 9 phn trm ca CPU ang cdng (hay b lng ph) n gin cho nh thi cng vic.Ngc li, b nh thi cng vic thc thi t thng xuyn hn. C vi phtgia vic to cc qu trnh mi trong h thng. B nh thi cng vic iu khin mc a chng s qu trnh trong b nh. Nu mc a chng n nh th tc trung bnh ca vic to qu trnh phi bng tc khi hnh trung bnh ca qu trnhri h thng. V khong thi gian di hn gia vic thc thi nn b nh thi cngvic c th cp nhiu thi gian hn chn mt qu trnh thc thi.B nh thi cng vic phi thc hin mt chn la cn thn. Thng thng,hu ht cc qu trnh c th c m t nh l qu trnh hng nhp/xut (I/O-bound proces) hay qu trnh hng CPU (CPU-bound process). Mt qu trnhhng nhp/xut mt nhiu thi gian hn thc hin nhp/xut hn thi gian tnhton. Ngc li, mt qu trnh hng CPU pht sinh cc yu cu nhp/xut khngthng xuyn, dng thi gian thc hin vic tnh ton hn mt qu trnh hngnhp/xut dng. B nh thi cng vic nn chn s kt hp hi ho gia qu trnhBin son: Th.s Nguyn Ph Trng - 09/2005Trang 42 41. Gio trnh H iu hnhhng nhp/xut v qu trnh hng CPU. Nu tt c qu trnh l hng nhp/xut thhng i sn sng s lun rng v b nh thi CPU s c t cng vic thc hin.Nu tt c qu trnh l hng CPU th hng i nhp/xut s lun rng, cc thit b skhng c s dng v h thng s mt cn bng. H thng vi nng lc tt nht sc s kt hp cc qu trnh hng CPU v hng nhp/xut.Trn mt vi h thng, b nh thi cng vic c th khng c hay rt t. Thd, cc h thng chia thi nh UNIX thng khng c b nh thi cng vic nhngn gin t mi qu trnh mi vo b nh cho b nh thi CPU. Kh nng n nhca h thng ny ph thuc vo gii hn vt l (nh s lng thit b cui sn dng)hay tnh t nhin t chuyn i ca ngi dng. Nu nng lc thc hin gim ti mc khng th chp nhn c th mt s ngi dng s thot khi h thng.Mt s h thng nh h chia thi c th a vo mt cp nh thi b sunghay nh thi trung gian. B nh thi trung gian (medium-term process) ny (chin th trong lu hnh III-6) xa cc qu trnh ra khi b nh (t s canh tranhCPU) v do gim mc a chng. Ti thi im sau , qu trnh c th ca tr li b nh v vic thc thi ca n c th c tip tc ni n b a ra. C chny c gi l hon v (swapping). Qu trnh c hon v ra v sau c honv vo bi b nh thi trung gian. Hon v l cn thit ci tin s trn ln qu trnh(gia cc qu trnh hng nhp/xut v hng CPU), hay v mt thay i trong yu cub nh vt qu kch thc b nh sn dng. Hon v s c tho lun trong chngsau.Hnh 0-6-Lu b sung nh thi trung bnh ti hng iIV.3 Chuyn ng cnhChuyn CPU ti mt qu trnh khc yu cu lu trng thi ca qu trnh c vnp trng thi c lu cho qu trnh mi. Tc v ny c xem nh chuyn ngcnh (context switch). Ng cnh ca qu trnh c hin din trong PCB ca qutrnh; N cha gi tr cc thanh ghi, trng thi qu trnh (hnh III.1) v thng tin qunl b nh. Khi chuyn ng cnh ng cnh xy ra, nhn lu ng cnh ca qu trnh ctrong PCB ca n v np ng cnh c lu ca qu trnh mi c nh thi chy.Thi gian chuyn ng cnh l chi ph thun v h thng khng thc hin cng vic cch trong khi chuyn. Tc ca n khc t my ny ti my khc ph thuc vo tc b nh, s lng thanh ghi phi c chp v s tn ti ca cc ch th c bit(nh ch th np v lu tt c thanh ghi). in hnh dy tc t 1 ti 1000 miligiy. Nhng ln chuyn i ng cnh ph thuc nhiu vo h tr phn cng. Th d,vi b x l (nh Sun UltraSPARC) cung cp nhiu tp thanh ghi. Mt chuyn ngcnh n gin cha chuyn i con tr ti tp thanh ghi hin hnh. D nhin, nu qutrnh hot ng vt qu tp thanh ghi th h thng sp xp li d liu thanh ghi ti vt b nh. Cng v th m h iu hnh phc tp hn v nhiu cng vic c lmBin son: Th.s Nguyn Ph Trng - 09/2005 Trang 43 42. Gio trnh H iu hnhhn trong khi chuyn ng cnh. K thut qun l b nh nng cao c th yu cu dliu b sung c chuyn vi mi ng cnh. Th d, khng gian a ch ca qutrnh hin hnh phi c lu khi khng gian ca tc v k tip c chun b dng.Khng gian a ch c lu nh th no v lng cng vic c yu cu lu nph thuc vo phng php qun l b nh ca h iu hnh. Chuyn ng cnh cth dn n tht c chai nng lc thc hin v th cc lp trnh vin ang s dng cccu trc mi trnh n bt c khi no c th.V Thao tc trn qu trnh Cc qu trnh trong h thng c th thc thi ng hnh v chng phi c tov xa t ng. Do , h iu hnh phi cung cp mt c ch (hay phng tin) chovic to qu trnh v kt thc qu trnh.V.1To qu trnhQu trnh c th to nhiu qu trnh mi, bng mt li gi h thng create-process, trong khi thc thi. Qu trnh to gi l qu trnh cha, ngc li cc qu trnhmi c gi l qu trnh con ca qu trnh . Mi qu trnh mi ny sau c thto cc qu trnh khc, hnh thnh mt cy qu trnh (hnh III-7). Hnh 0-7-Cy qu trnh trn mt h thng UNIX in hnhThng thng, mt qu trnh s cn cc ti nguyn xc nh (nh thi gianCPU, b nh, tp tin, thit b nhp/xut ) hon thnh tc v ca n. Khi mt qutrnh to mt qu trnh con, qu trnh con c th nhn ti nguyn ca n trc tip t hiu hnh hay n c th b rng buc ti mt tp con cc ti nguyn ca qu trnh cha.Qu trnh cha c th phi phn chia cc ti nguyn gia cc qu trnh con hay c thchia s mt s ti nguyn (nh b nh v tp tin) gia nhiu qu trnh con. Gii hnmt qu trnh con ti mt tp con ti nguyn ca qu trnh cha ngn chn bt c qutrnh t np chng h thng bng cch to qu nhiu qu trnh con.Ngoi ra, khi mt qu trnh c to n ly ti nguyn vt l v lun l khcnhau, d liu khi to (hay nhp) c th c truyn t qu trnh cha ti qu trnhcon. Th d, xt mt qu trnh vi ton b chc nng l hin th trng thi ca mt tpBin son: Th.s Nguyn Ph Trng - 09/2005Trang 44 43. Gio trnh H iu hnhtin F1 trn mn hnh. Khi n c to, n s ly d liu vo t qu trnh cha, tn catp tin F1 v n s thc thi dng d liu ly thng tin mong mun. N c th cng ly tn ca thit b xut. Mt s h iu hnh chuyn tinguyn ti qu trnh con. Trn h thng nh th, qu trnh mi c th ly hai tp tinang m, F1 v thit b cui, v c th ch cn chuyn d liu gia hai tp tin.Khi mt qu trnh to mt qu trnh mi, hai kh nng c th tn ti trong thutng ca vic thc thi: Qu trnh cha tip tc thc thi ng hnh vi qu trnh con ca n. Qu trnh cha ch cho ti khi mt vi hay tt c qu trnh con kt thc.Cng c hai kh nng trong thut ng khng gian a ch ca qu trnh mi: Qu trnh con l bn sao ca qu trnh cha. Qu trnh con c mt chng trnh c np vo n. hin th vic ci t khc nhau ny, chng ta xem xt h iu hnh UNIX.Trong UNIX, mi qu trnh c xc nh bi danh biu qu trnh (processidentifier), l s nguyn duy nht. Mt qu trnh mi c to bi li gi h thngfork. Qu trnh mi cha bn sao ca khng gian a ch ca qu trnh gc. C chny cho php qu trnh cha giao tip d dng vi qu trnh con. C hai qu trnh (chav con) tip tc thc thi ti ch th sau khi li gi h thng fork, vi mt s khc bit:m tr v cho li gi h thng fork l khng cho qu trnh mi (con), ngc li danhbiu qu trnh (khc khng) ca qu trnh con c tr v ti qu trnh cha. in hnh li gi h thng execlp c dng sau li gi h thng fork bi mttrong hai qu trnh thay th khng gian b nh vi qu trnh mi. Li gi h thngexeclp np tp tin nh phn vo trong b nh-xa hnh nh b nh ca chng trnhcha li gi h thng execlp - v bt u vic thc thi ca n. Trong cch thc ny,hai qu trnh c th giao tip v sau thc hin cch ring ca n. Sau , qu trnhcha c th to nhiu hn qu trnh con, hay nu n khng lm g trong thi gian qutrnh con chy th n s pht ra li gi h thng wait di chuyn n vo hng isn sng cho ti khi qu trnh con kt thc. Chng trnh C (hnh III-8 di y) hinth li gi h thng UNIX c m t trc . Qu trnh cha to mt qu trnh con sdng li gi h thng fork. By gi chng ta c hai qu trnh khc nhau chy mtbn sao ca cng chng trnh. Gi tr pid cho qu trnh con l 0; cho qu trnh cha lmt s nguyn ln hn 0. Qu trnh con ph lp khng gian a ch ca n vi lnhca UNIX l /bin/ls (c dng lit k th mc) dng li gi h thng execlp. Qutrnh cha ch cho qu trnh con hon thnh vi li gi h thng wait. Khi qu trnhcon hon thnh, qu trnh cha bt u li t li gi h thng wait ni n hon thnhvic s dng li gi h thng exit. Ngc li, h iu hnh DEC VMS to mt qu trnh mi, np chng trnhxc nh trong qu trnh v bt u thc thi n. H iu hnh Microsoft WindowsNT h tr c hai m hnh: khng gian a ch ca qu trnh cha c th c sao lihay qu trnh cha c th xc nh tn ca mt chng trnh cho h iu hnh np vokhng gian a ch ca qu trnh mi.Bin son: Th.s Nguyn Ph Trng - 09/2005Trang 45 44. Gio trnh H iu hnh#includemain(int argc, char* argv[]){ intpid; /*fork another process*/ pid =fork(); if(pid= 0 n, atoi(argv[1])); exit();}/*ly cc thuc tnh mc nh*/pthread_attr_init(&attr);/*to mt lung*/pthread_create(&tid,&attr,runner, argv[1]);Ti liu lu hnh ni bTrang 88 82. Gio trnh H iu hnh/*by gi ch lung kt thc*/pthread_join(tid,NULL);printf(sum = %dn,sum);/*Lung s bt u iu khin trong hm ny*/void *runner(void *param){int upper = atoi(param);int i;sum = 0;if (upper > 0){sum+= i;}pthread_exit(0);}} Hnh 0-5-Chng trnh C a lung dng Pthread APIIV.7 Lung Solaris 2Solaris 2 l mt n bn ca UNIX vi h tr lung ti cp nhn v cp ngi dng, a x l i xng (SMP) v nh thi thi thc. Solaris 2 ci t PthreadAPI h tr lung cp ngi dng vi th vin cha APIs cho vic to v qun llung (c gi lung UI). S khc nhau gia hai th vin ny rt ln, mc d hu htngi pht trin hin nay chn th vin Pthread. Solaris 2 cng nh ngha mt cp lung trung gian. Gia lung cp nhn v cp ngi dng l cc qu trnh nh(lightweight process- LWPs). Mi qu trnh cha t nht mt LWP. Th vin lung ahp lung ngi dng trn nhm LWP cho qu trnh v ch lung cp ngi dnghin c ni kt ti mt LWP hon thnh cng vic. Cc lung cn li b kho hocch cho mt LWP m chng c th thc thi trn n.Lung cp nhn chun thc thi tt c thao tc trong nhn. Mi LWP c mtlung cp nhn, v mt s lung cp nhn (kernel) chy trn mt phn ca nhn vkhng c LWP km theo (th d, mt lung phc v yu cu a ). Cc lung cpnhn ch l nhng i tng c nh thi trong h thng. Solaris 2 ci m hnhnhiu-nhiu; ton b h thng lung ca n c m t trong hnh di y: Hnh 0-6-Lung Solaris 2Ti liu lu hnh ni bTrang 89 83. Gio trnh H iu hnhCc lung cp ngi dng c th gii hn hay khng gii hn. Mt lung cpngi dng gii hn c gn vnh vin ti mt LWP. Ch lung chy trn LWPv yu cu LWP c th c tn hin ti mt b x l n (xem lung tri nht tronghnh trn). Lin kt mt lung c ch trong trng hp yu cu thi gian p ngnhanh, nh ng dng thi thc. Mt lung khng gii hn gn vnh vin ti bt kLWP no. Tt c cc lung khng gii hn c a hp trong mt nhm cac LWP sndng cho ng dng. Cc lung khng gii hn l mc nh. Solaris 8 cng cung cpmt th vin lung thay i m mc nh chng lin kt ti tt c cc lung vi mtLWP.Xem xt h thng trong hot ng: bt c mt qu trnh no c th c nhiulung ngi dng. Cc lung cp ngi dng ny c th c nh thi v chuyn igia LWPs bi th vin lung khng c s can thip ca nhn. Cc lung cp ngidng cc k hiu qu v khng c s h tr nhn c yu cu cho vic to hay hu,hay th vin lung chuyn ng cnh t lung ngi dng ny sang lung khc.Mi LWP c ni kt ti chnh xc mt lung cp nhn, ngc li mi lungcp ngi dng l c lp vi nhn. Nhiu LWPs c th trong mt qu t