Trong chương này chúng ta sẽ xem xét khái niệm process, một khái niệm quan trọng nhất để hình dung về công việc của máy tính ngày nay. Chúng ta sẽ tìm hiểu khái niệm về các trạng thái (rời rạc) của process và cũng như cách mà process chuyển từ trạng thái này sang trạng thái khác cùng với các thao tác cơ bản trên process. Khái niệm process lần đầu tiên được các kỹ sư thiết kế hệ thống MULTICS vào những năm 60. Trong thời kỳ đầu tiên, process được hiểu trong nhiều trường hợp đồng nghĩa như là chương trình, bài toán (task) hay là đối tượng được bộ xử lý phục vụ,..
He Dieu Hanh NHP MễN H IU HNH 1/117 He Dieu Hanh Chng Khỏi nim Tin trỡnh (Process) 3.1 M u Trong chng ny chỳng ta s xem xột khỏi nim process, mt khỏi nim quan trng nht hỡnh dung v cụng vic ca mỏy tớnh ngy Chỳng ta s tỡm hiu khỏi nim v cỏc trng thỏi (ri rc) ca process v cng nh cỏch m process chuyn t trng thỏi ny sang trng thỏi khỏc cựng vi cỏc thao tỏc c bn trờn process Khỏi nim process ln u tiờn c cỏc k s thit k h thng MULTICS vo nhng nm 60 Trong thi k u tiờn, process c hiu nhiu trng hp ng ngha nh l chng trỡnh, bi toỏn (task) hay l i tng c b x lý phc v, Ngi ta thng dựng nh ngha process nh l chng trỡnh lỳc chy 3.2 Trng thỏi ca process Trong thi gian tn ti ca mỡnh, process tn ti cỏc trang thỏi tỏch bit (ri rc) S i t trng thỏi ny sang trng thỏi khỏc cú th xy bi cỏc s kin khỏc Núi rng process trng thỏi hot ng (running state) nu nú ang c BXL phc v Cũn nu process ó sn sng c BXL phc v nhng ang ch n lt thỡ proces trng thỏi sn sng ready state Núi rng process trng thỏi b cn, chn blocked state nu nh nú ang ch mt s kin no ú (vớ d kt thỳc tỏc v vo/ra) cú th tip tc hot ng Ngoi trng thỏi núi trờn cũn mt s trng thỏi khỏc nhng tm thi chỳng ta ch xem xột quan h gia trng thỏi trờn n gin chỳng ta xem xột trng hp mỏy tớnh ch cú mt BXL Trong h thng mt BXL, ti mt thi im ch cú th cú mt process c thc hin, cũn mt s process nm trng thỏi sn sng (ready) v mt s khỏc trng thỏi b chn (blocked) Do ú chỳng ta cú th lp mt danh sỏch cha cỏc process trng thỏi ready v mt danh sỏch cỏc blocked process Mi ready process nm list th nht s cú mc u tiờn riờng (priority) ca mỡnh- tc l cỏc process ú c sp xp theo th t v process nm u danh sỏch s l process cú u tiờn cao nht v s c BXL thc hin tip theo (cú nhiu tiờu chun gỏn priority v thay i priority) Cũn danh sỏch cỏc blocked process núi chung khụng cú th t vỡ blocked process s c gii phúng (unblock) bi cỏc s kin m nú ang ch 3.3 S chuyn trng thỏi ca process Khi cú mt chng trỡnh task bt u c thc hin, h thng sinh mt process tng ng v process ú c a vo danh sỏch cỏc ready process, n gin nht l a vo cui danh sỏch tc l cú mc u tiờn priority thp nht Process ny s dch chuyn dn lờn phớa u list bi vỡ cỏc process trc nú dn dn c BXL phc v Khi process nm u list v BXL c gii phúng thỡ process ny c BXL phc v v lỳc 2/117 He Dieu Hanh ú xy s thay i trng thỏi ca process chuyn t trng thỏi ready sang running Vic trao quyn s dng BXL cho process u tiờn danh sỏch cỏc ready processes gi l quỏ trỡnh dispatching, iu ú c thc hin bi module chng trỡnh nm OS gi l dispatcher Quỏ trỡnh i trng thỏi ú cú th biu din bng ký hiu: dispatch(process name): ready running Process ang s dng BXL c gi l process ang c thc hin Running blocking Dispatch Over time Ready Blocked waik up Hình 3.1 ngn chn trng hp vụ tỡnh hoc c ý c quyn chim ti nguyờn h thng ca process, h iu hnh sinh mt ngt cng c bit timer interrupt (ngt thi gian), xỏc nh khong thi gian ln nht m mt process c s dng BXL liờn tc Nu nh sau khong thi gian ú, process khụng t gii phúng BXL thỡ h thng s sinh ngt, theo ú quyn iu khin c chuyn li cho HH Lỳc ú HH s chuyn process ang c thc hin t trng thỏi running v trng thỏi, a nú vo danh sỏch cỏc ready process, sau ú a process u tiờn danh sỏch (process cú mc u tiờn cao nht) vo thc hin (running state) Cỏc s bin i ny cú th biu din bng hai thao tỏc: interval gone (process name): running ready dispatch (process name) : ready running Nu nh mt process ang s dng BXL (running state) quỏ trỡnh hot ng ca mỡnh thc hin tỏc v vo/ra (I/O) thỡ nú s t mỡnh gii phúng BXL (t mỡnh chuyn vo trng thỏi blocked ch tỏc v vo/ra kt thỳc) S chuyn trng thỏi ny cú th biu din: blocking (process name): running blocked Cũn mt quỏ trỡnh thay i trng thỏi cui cựng, ú l kt thỳc tỏc v vo/ra (hay núi chung xy mt s kin m blocked process ang ch) lỳc ú process chuyn t trng thỏi blocked sang trng thỏi ready sn sng thc hin tip Quỏ trỡnh ny cú th biu din: 3/117 He Dieu Hanh waikup(npocess name): blocked ready Vi trng thỏi c bn trờn, chỳng ta cú kh nng chuyn trng thỏi ca mt process ú l: dispatch (process name): ready running interval gone(process name): running ready blocking (process name): running blocked waikup (process name): blocked ready Chỳ ý rng kh nng trờn, ch cú kh nng th l cú th sinh bi chớnh chng trỡnh ngi s dng, cũn li cỏc kh nng khỏc u cỏc i tng khỏc bờn ngoi process gõy 3.4 Process control Block (PCB)- iu khin tin trỡnh i din cho mt process HH l iu khin process (PCB) PCB l mt cu trỳc d liu cha nhng thụng tin quan trng v process v cú th khỏc cỏc h thng khỏc nhau, ú thng cú: trng thỏi hin ti ca process ID (identifier) nht cho process u tiờn (priority) ca process thụng tin v b nh thụng tin v cỏc ti nguyờn process ang s dng vựng cho cỏc ghi PCB l i tng quan trng, nh nú HH cú th cú c ton b thụng tin c bn nht v mt process Khi HH chuyn (switch) BXL t ang phc v process ny sang phc v process khỏc, nú dựng vựng cho cỏc ghi PCB lu thụng tin giỏ tr cỏc ghi ca h thng cú th tip tc thc hin process mi process n lt c s dng BXL Túm li, PCB l i tng chớnh i din cho process i vi HH Vỡ HH phi cú kh nng thc hin cỏc thao tỏc vi cỏc PCB khỏc mt cỏch nhanh chúng, nhiu h thng cú nhng ghi c bit luụn ch ti PCB ca running process V cng cú nhng lnh ci t phn cng m bo nhanh chúng ghi thụng tin trng thỏi vo PCB v tip theo l nhanh chúng c cỏc thụng tin ú 3.5 Cỏc thao tỏc vi process H thng iu khin process cn cú kh nng thc hin cỏc thao tỏc vi process, ú cú: to process (create) 4/117 He Dieu Hanh hu process (free, destroy) thay i u tiờn priority dng block process kớch hot waikup process thc hin process (dispatch) Quỏ trỡnh to mt process gm nhiu thao tỏc nh: gỏn tờn cho process a tờn process vo danh sỏch cỏc process ca h thng xỏc nh mc u tiờn priority ban u cho process to, np thụng tin PCB phõn chia ti nguyờn u cho process Mt process cú th to process mi Process u tiờn l parent cũn process mi c to l child process to process ch cn mt process tc l mi child process ch cú mt parent cũn mt parent cú th cú nhiu child Cỏc quan h ú to kin trỳc process A B D C E F Hình 3.2 Xoỏ mt process l loi b nú h thng Khi ú cỏc ti nguyờn c phõn chia cho process s c gii phúng, tr li cho HH, tờn ca process c xoỏ tt c cỏc danh sỏch ca h thng, cũn PCB cng c gii phúng Mt suspended process (b hoón, dng) l process khụng tip tc c thc hin n cú mt process khỏc kớch hot nú Suspending (tm dng) l mt thao tỏc quan trng c s dng nhiu h thng vi cỏc cỏch ci t, thc hin khỏc Suspending thng ch din khong thi gian ngn Vớ d HH phi suspend mt s process (khụng phi luụn l tt c) thi gian ngn h thng quỏ ti, Trong trng hp process b dng thi gian di hn thỡ cỏc ti nguyờn ca nú phi c gii phúng tr li cho HH Vic mt loi ti nguyờn cú cn gii phúng hay khụng cũn ph thuc vo kiu ca nú Vớ d b nh cn c gii phúng ngay, cũn thit b vo cú th 5/117 He Dieu Hanh thuc quyn s dng process trng hp process b suspend thi gian ngn cũn s c gii phúng thi gian suspend di hay khụng xỏc nh Quỏ trỡnh activate kớch hot l thao tỏc chun b process cú th tip tc thc hin t ỳng trng thỏi m nú b dng trc ú Quỏ trỡnh hu b mt process s khỏ phc nu nú l parent process Trong mt s h thng thỡ cỏc children process s t ng b hu b theo, cũn mt s h thng khỏc thỡ children process tn ti (c lp vi parent process) S thay i priority process thng n gin l thay i giỏ tr priority PCB bi HH 3.6 Suspending and Activating - dng v kớch hot Chỳng ta ó bit cỏc khỏi nim suspend and activate Cỏc thao tỏc ny khỏ quan trng cỏc lý do: nu h thng hot ng khụng n nh cú du hiu trc trc thỡ cỏc process ang din cn suspend li c activate sau sa li Ngi s dng (lp trỡnh viờn) cú th cn tm dng (khụng phi hu b) process kim tra kt qu trung gian xem chng trỡnh cú hot ng ỳng hay khụng Mt s process cú th b suspend khong thi gian ngn h thng quỏ ti v sau ú li c activate cú ti nguyờn (h thng tr v trng thỏi bỡnh thng) event terminated Ready Dispatch Over time Blocked waik up Suspend Activate Running Suspend Activate ACTIVE STATE Suspend Ready suspend Hình 3.3 Blocked suspend SUSPENDED STATE event terminated So vi mc trc- cú thờm hai trng thỏi ng vi cỏc thao tỏc suspend v activate Tỏc nhõn dng cú th l chớnh bn thõn process hay l process khỏc Trong h cú mt BXL thỡ process ch cú th dng chớnh bn thõn nú vỡ khụng cú proces khỏc no ang 6/117 He Dieu Hanh chy ng thi vi nú Cũn h cú nhiu BXL thỡ mt process cú th b dng bi process khỏc ang chy trờn BXL khỏc Mt process trng thỏi ready ch cú th b dng bi process khỏc, lỳc ú xy s chuyn trng thỏi: suspend (process name): ready suspended-ready Process ang trng thỏi suspended-ready cú th chuyn v trng thỏi ready bi process khỏc; quỏ trỡnh chuyn trng thỏi ú cú th biu din bi activate (process name): suspend-ready ready Process ang trng thỏi blocked cú th chuyn sang trng thỏi suspend bi mt process khỏc, ú din s i trng thỏi suspend (process name): blocked suspend-blocked V ngc li, prrocess trng thỏi suspended blocked cú th c kớch hot bi mt process khỏc activate (process name): suspended-blocked blocked Chỳng ta cú th t ti khụng thay vỡ suspend mt process trng thỏi blocked, ta ch n cú s kin (kt thỳc I/O) m process i xy process chuyn v trng thỏi ready Tuy nhiờn tỏc v I/O hay s kin process ch cú th khụng xy hay khụng bit no mi xy Nh th, cỏc nh thit k cn phi chn la: hoc suspend mt blocked process (a v trng thỏi suspended-blocked) hoc phi sinh c ch cho phộp a process t trng thỏi blocked sang trng thỏi ready v sau ú chuyn thnh trng thỏi suspened-ready kt thỳc I/O hay din s kin process ang ch Mt khỏc thao tỏc suspending thng cú mc u tiờn cao v cn thc hin ngay, ú phn ln cỏc h thng s dng cỏch th nht Khi s kin process ang ch xy (nu nh nú xy ra), trng thỏi ca process s chuyn t suspended-blocked sang trng thỏi suspended-ready: Incommingevent (process name): suspended-blocked suspended-ready 3.7 X lý ngt Trong thc t cú nhiu trng hp tng t ngt mỏy tớnh Trong k thut mỏy tớnh, ngt (interupt) l s kin lm thay i trỡnh t thc hin lnh bỡnh thng ca BXL Tớn hiu ngt c x lý bi phn cng Khi xy ngt, trỡnh t thc hin nh sau: iu khin chuyn cho HH HH lu li trng thỏi ca process b ngt Trong nhiu h thng thỡ thụng tin ú c lu PCB ca process b ngt 7/117 He Dieu Hanh HH phõn tớch loi ngt v chuyn iu khin cho chng trỡnh x lý ngt tng ng Tỏc nhõn gõy ngt cú th l chớnh bn thõn process ang chy, hay l mt s kin cú th liờn quan hoc khụng liờn quan n process ú 3.7.1 Cỏc dng ngt Chỳng ta xem xột cỏc dng ngt cỏc h thng mỏy ln ca IBM: SVC- interrupt: ngt ny process ang chy sinh SVC chng trỡnh ng dng sinh yờu cu mt dch v no ú ca h thng, vớ d thc hin tỏc v vo/ra, cp phỏt b nh C ch SVC giỳp bo v HH, ngi s dng khụng c t xõm nhp OS m phi yờu cu dch v thụng qua lnh SVC Do ú HH luụn kim soỏt c cỏc thao tỏc vt quỏ gii hn ng dng v hon ton cú th t chi yờu cu Ngt vo/ra: cỏc thit b vo/ra sinh Cỏc ngt ny thụng bỏo cho BXL v s thay i trng thỏi no ú vớ d kt thỳc tỏc v in, mỏy in ht giy, External interrupt: ngt ny cú th nhiu nguyờn nhõn sinh ra, ú cú ngt thi gian overtime, ngt bn phớm, ngt t cỏc BXL khỏc h thng a BXL, Restart interrupt: sinh ngi iu kin cn ng li h thng, hay lnh restart SIGP ca mt processor (BXL) khỏc h thng a BXL Program check interrupt: ngt sinh li hot ng ca chng trỡnh vớ d lnh chi cho 0, Machine check interrupt: sinh li phn cng h thng 3.8.2 Context switching - i ng cnh x lý cỏc loi ngt, HH cú chng trỡnh chuyờn bit gi l interrupt handler Nh trờn ó núi, h thng cú loi ngt, nh th HH cú IH (interrupt handler) x lý loi ngt khỏc Khi cú ngt thỡ HH ghi li trng thỏi ca process b ngt v chuyn iu khin cho chng trỡnh x lý ngt tng ng iu ú c thc hin bi phng phỏp gi l chuyn i ng cnh (context switching) Trong phng phỏp ny s dng cỏc ghi trng thỏi chng trỡnh PSW (program status word), ú cha th t thc hin lnh v cỏc thụng tin khỏc liờn quan n trng thỏi ca process Cú loi PSW: PSW hin thi (current), PSW mi (new) v PSW c (old) a ch ca lnh tip theo (s c thc hin) c cha current PSW, current PSW cng cha thụng tin v nhng loi interrupt no hin ang b cm (disable) hay c phộp (enable) BXL ch phn ng vi nhng loi interrupt c phộp, cũn cỏc interrupt ang b cm s c x lý sau hoc b qua Cú mt s interupt khụng bao gi b cm: SVC, restart, 8/117 He Dieu Hanh Trong h cú mt BXL thỡ ch cú mt current PSW, nhng cú new PSW (tng ng cho mi loi ngt) v old PSW tng ng New PSW ca mt loi ngt cha a ch ca chng trỡnh x lý ngt (interupt handler) loi ú New PSWs Old PSWs SVC SVC I/O I/O External current PSW External Restart Restart Program check Program check Machine check Machine check Hình 3.5 Khi xy ngt (nu loi ngt ú khụng b cm) lỳc ú s t ng (do phn cng thc hin) xy quỏ trỡnh chuyn i PSW nh sau: current PSW tr thnh old PSW ca loi ngt tng ng new PSW ca loi ngt ú tr thnh current PSW Nh th, sau chuyn i thỡ current PSW cha a ch ca chng trỡnh x lý ngt v sau ú chng trỡnh x lý ngt s c thc hin Khi kt thỳc chng trỡnh x lý ngt, BXL li hot ng bỡnh thng, BXL s tip tc phc v process b ngt hoc cú th mt process khỏc danh sỏch cỏc ready process Trong trng hp process khụng cho phộp gii phúng (nhng) quyn s dng BXL thỡ nú s tip tc c BXL phc v, cũn nu nú cho phộp thỡ nú tip tc c s dng BXL khụng cú ready process no Trong cỏc h thng, cú nhiu mụ hỡnh x lý ngt khỏc khụng hon ton nh mụ hỡnh trờn 3.8 Ht nhõn ca OS Tt c cỏc thao tỏc liờn quan n process, thc hin bi mt phn HH gi l ht nhõn kernel Kernel ch l mt phn khụng ln (v kớch thc code) ca HH nhng nú l mt s nhng thnh phn c s dng nhiu nht HH Do ú kernel thng luụn c np vo b nh, cỏc thnh phn khỏc cú th nm b nh ngoi v ch c np vo cn Mt nhng chc nng quan trng nht kernel l x lý ngt Trong cỏc h ln nhiu thnh phn (component) thng xuyờn cú dũng ln (nhiu) ngt Do ú x lý ngt 9/117 He Dieu Hanh nhanh úng vai trũ quan trng trờn quan im s dng ti nguyờn h thng v m bo thi gian phn ng vi cỏc yờu cu ca ngi dựng mt cỏch nhanh chúng Khi kernel x lý ngt, nú cm cỏc ngt khỏc v ch cho phộp tip tc x lý ngt sau x lý xong ngt hin thi Trong trng hp cú dũng liờn tc cỏc ngt thỡ cú th xut hin tỡnh cỏc ngt b chn thi gian tng i ln tc l h thng khụng phn ng kp thi vi cỏc s kin Do ú kernel thng c thit k cho nú ch thc hin vic tin x lý ti thiu v chuyn vic x lý tip theo cho process h thng (system process) tng ng v cú th cho phộp x lý cỏc ngt tip theo Theo ú cỏc ngt b cm khong thi gian nh hn ú tc phn ng ca h thng tng ỏng k 3.8.1 Cỏc chc nng chớnh ca kernel Kernel thng gm cỏc chng trỡnh thc hin cỏc chc nng sau: x lý ngt to v xoỏ cỏc process i trng thỏi ca process dispatching suspend and activate process ng b (synchronize) cỏc process x lý, t chc mi quan h gia cỏc process iu khin PCBs qun lý b nh h tr lm vic h thng file 3.8.2 Cho phộp (enable) v cm (diasable) ngt Xõm nhp kernel thng c thc hin thụng qua ngt, kernel phn ng vi ngt no ú thỡ nú cm cỏc ngt khỏc Sau phõn tớch nú chuyn vic x lý cho mt system process chuyờn lm vic vi loi ngt ú Trong mt s h thng mi ngt u c x lý bi c HH cng knh, ú cỏc ngt thng b cm phn ln thi gian nhng v nguyờn tc HH li n gin hn Cỏch ny thng ỏp dng cho cỏc mỏy nh, lm vic vi ớt process Cũn vi cỏc h thng phc tp, thng cú mt phn HH chuyờn x lý ngt cho phộp nõng cao cỏc ch s ca c h thng 3.8.3 Kin trỳc phõn cp ca h thng 10/117 He Dieu Hanh Nu nh ti thi im hin ti hng quột l t thỡ chin lc SCAN s chn yờu cu vi khong cỏch nh nht theo hng ngoi Trong chin lc SCAN, u t khụng i hng chuyn ng cho n nú t n cylinder ngoi cựng hay khụng cũn yờu cu no ch theo hng ú Nguyờn tc SCAN l c bn phn ln cỏc h thng cú planning cụng vic vi a t.Chin lc SCAN rt ging vi SSTF t quan im tng kh nng phc v v gim thi gian trung bỡnh, nhng nú gim ỏng k chờnh lch i vi cỏc yờu cu n track biờn nh ca SSTF v m bo variance nh hn nhiu Trong chin lc scan u t quột t ngoi v ngc li nờn nú quột (nm trờn) cỏc track biờn ớt hn (tha hn) so vi cỏc track gia, nhng ú ch l nhc im nh so vi variance TH SSTF 12.5.4 Nguyờn lý N-step SCAN Trờn nguyờn tc phng phỏp SCAN trờn cú mt bin th gi l N-step-SCAN Trong ú u t cng dch chuyn i/v nhr phng phỏp SCAN, nhng trờn mi chiu dch chuyn ch phc v cỏc yờu cu ó xut hin n lỳc bt u dch chuyn Cỏc yờu cu xut hin thi gian dch chuyn c nhúm li v sp xp th no chỳng cú th c phc v tt nht ln dch chuyn ngc li (h.12.7) chiều thuận chiều ng-ợc Chin lc N-step-SCAN m bo ch s cao c v kh nng phc v cng nh thi gian trung bỡnh Nhng im quan trng nht ca nú l chờnh lch (variance) nh so vi s dng chin lc SSTF hay SCAN thun tuý Chin lc N-step SCAN loi tr kh nng yờu cu b ch quỏ lõu, tỡnh thng xut hin cú s lng ln yờu cu n cylinder hin thi Chin lc ny s lu cỏc yờu cu ú phc v vo lỳc chuyn ng ngc li 12.5.5 Chin lc C-SCAN Cũn mt bin th ca chin lc scan gi l C-SCAN Chin lc ny loi tr tớnh cht tng variance i vi cỏc track biờn 103/117 He Dieu Hanh chiều thuận b-ớc nhảy chiều thuận Theo chin lc C-SCAN, u t dch chuyn t cỏc cylinder phớa ngoi vo trong, ngoi phc v cỏc yờu cu theo nguyờn tc thi gian tỡm kim cylinder nh nht Khi u t hon thnh chuyn dch theo chiu thun, nú s nhy tr v phc v yờu cu gn cylind ngoi cựng nht v sau ú li tip tc dn vo Chin lc C-SCAN cú th thc hin cỏc yờu cu xut hin thi gian ang phc v s c phc v vo ln sau (h.12.8) Nh ú chin lc C-SCAN loi b c s tng variance vi cỏc yờu cu truy nhp cylinder biờn Cỏc nghiờn cu cho thy rng chin lc planning tt nht cú th cú hai ch Trong ch ti thp, phng phỏp tt nht l chin lc SCAN, cũn ti trung bỡnh v ln thỡ kt qu tt nht cú c dựng C-SCAN Chin lc ny kt hp vi ti u theo thi gian tr (tỡm bn ghi) m bo kt qu tt cỏc iu kin ti rt ln 12.5.6 Eschenbach scheme Chin lc ny c thit k u tiờn cho h thng bỏn vộ mỏy bay, vi ti rt ln Lc eschenbach l mt nhng c gng ti u u tiờn theo hng gim thi gian tỡm kim theo cylinder v c thi gian tỡm bn ghi Phõn tớch cho thy chin lc C-SCAN vi ti u thi gian tr cho kt qu tt hn eschenbach scheme 12.6 Ti u theo thi gian tr Trong iu kin ti ln, xỏc sut cú ln hn mt yờu cu n cựng cylinder no ú tng lờn, ú vic ti u theo thi gian tr tr nờn cn thit Ti u theo thi gian tr ó c ỏp dng nhiu nm cỏc cụng vic vi thit b cú u t c nh nh trng t Tng t chin lc SSTF theo hng ti u thi gian tỡm cylinder, hng ti u theo thi gian tr cú chin lc SLTF Khi b nh v (vi cỏc u t) nm trờn mt cylinder no ú vi nhiu yờu cu truy nhp cỏc track khỏc ca cylinder, chin lc SLTF phõn tớch tt c cỏc yờu cu v phc v yờu cu vi thi gian tr nh nht trc tiờn (h.12.9) khụng ph thuc th t yờu cu no cú trc 104/117 He Dieu Hanh Bộ định vị Cỏc nghiờn cu cho thy chin lc ny hon ton gn vi kt qu ti u theo lý thuyt, ngoi vic thc hin nú khụng phi l phc 12.7 Cỏc ỏnh giỏ h thng 12.7.1 a- critical resource Khi xem xột thy rng a cng l ti nguyờn ti hn (ch yu) ca h thng, mt s k s khuyờn nờn tng dung lng cng Vic ny khụng phi bao gi cng gii quyt bi vỡ tỡnh trng critical cú th sinh tn s yờu cu truy nhp n vựng a nh quỏ ln Nu nh phõn tớch thy rng tỡnh trng ti hn (critical) l trờn thỡ cú th ỏp dng cỏc chin lc ti u nõng cao ch s tc v loi tr ch yu ú 12.7.2 Mc a nhim: Ti trờn a va yờu cu ngu nhiờn, thng tng len vi s tng mc a nhim Vic s dng cỏc bin phỏp ti u (planning) cụng vic vi a cú th khụng hiu qu cỏc h thng vi mc a nhim thp Nhng vi cỏc h thng cú mc a nhim trung bỡnh thỡ planning cú hiu qu v nú t hiu qu rừ rt vi cỏc h vi mc a nhim cao (cú th phi x lý hang nghỡn yờu cu) 12.7.3 Multdisk subsystem T cỏch nhỡn kinh t v module, cỏc a thng c xõy dng cho mt vi a vt lý lm viờcj di s iu khin ca mt disk controler n lt mỡnh disk controller li c ni vo kờnh vo/ra m bo s trang i thụng tin gia cỏc a v BXL Mt kờnh cú th phc v mt vi disk controler v n lt mỡnh mt disk controler cú th phc v mt s a (h.12.1) ===== Cỏc kờnh vo/ra khụng ni trc tip vi a iu ny lm chỳng ta phi phõn tớch cn thn ch yờu trc ỏp dng cỏc bin phỏp gii quyt im yu cú th l controller khụng mnh hay gii thụng c kờnh khụng u Vic xỏc nh im yu cú th d dng hn nh cỏc chng trỡnh v thit b diagnostic c bit, kim tra hot ng (cỏc thụng s khỏc nhau) ca kờnh (channel) cng ch controller Nu nh im yu l controller thỡ chỳng ta cú th theo hng t li cu hỡnh h thng, gim s lng a ni vo controller Nu nh kờnh khụng gii thụng chỳng ta cú th i mt s controller sang 105/117 He Dieu Hanh kờnh khỏc hay thờm kờnh vo/ra Nh th, khc phc cỏc im yu chỳng ta cú th phi thay i cu hỡnh h thng gim xỏc sut quỏ ti kờnh vo/ra, nhiu h thng s dng cỏc phng tin chuyờn dng theo dừi v trớ gúc quay ca a (RPS-rotational position sensing) Cỏc phng tin ny cho phộp gim thi gian kờnh b bn tỡm bn ghi trờn a Khi cú yờu cu truy nhp n bn ghi no ú trờn a, RPS gii phúgn kờnh kờnh thc hin cỏc thao tỏc khỏc cho n bn ghi cn thit nm ỳng v trớ di u t RPS cho phộp kờnh cú th phc v ng thi mt s yờu cu , ú tng h s s dng thit b 12.7.4 Phõn b cỏc yờu cu khụng u Cỏc nghiờn cu lý thuyt liờn quan n hot ng cua a thng da trờn mt gi thit l cỏc yờu cu truy nhp a phõn b ng u Kt lun ca cỏc nghiờn cu ú cú th khụng chớnh xỏc i vi nhiu h thng cú c im cỏc yờu cu truy nhp izx phõn b khụng u theo b mt a Vic phõn b khụng u ú mt s trng hp hon ton l bỡnh thng Mt nhng nguyờn nhõn ph bin dn ti s phõn b cỏc yờ cu khụng u l cỏc file ln liờn tc Khi OS chn ch trng ghi chỳng, nú thng ghi d liu lờn cựng mt track v track ó y thỡ OS chuyn sang ghi lờnn cỏc track khỏc trờn cựng cylinder, v cylind y thỡ chuyn sang cỏc cylinder bờn cnh Nh th lm vic vi cỏc file liờn tc hon ton bỡnh thng xut hin tỡnh cỏc yờu cu truy nhp liờn tip núi chung s khụng dn ti thao tỏc tỡm kim theo cylinder V c phi tỡm theo cylinder thỡ nú cng rt ngn vỡ n gin s chuyn sang cylinder cnh Trong cỏc tỡnh ny thỡ vic ti u- planning núi chung khụng em li li cớh gỡ Ngoi cỏc chi phớ cho planning hon ton cú th dn n gim tc ca h thng Mt s h thng cú kim soỏt tỡnh trng ca b mt a v cú th chuyn d liu trờn cỏc track hng sang track tt khỏc Cỏc track cú th nm cỏc v trớ rt khỏc v cú th gõy cỏc dch chuyn u t thờm (tỡm kim) vo cỏc thi im khụng ng 12.7.5 Cỏc phng phỏp t chc file Cỏc phng phỏp t chc file, vi t chc phc vớ d dóy ch s (index =====) cú th to hin tng s lng ln yờu cu vi thi gian tỡm kim lõu Vic phc v cỏc yờu cu phng phỏp truy nhp ch s ni tip (index sequential access method-ISAM) cú th gn vi vic thc hin nhiu ln truy nhp a Trong mt s TH, truy nhp bn ghi cú th ũi hi truy nhp n index chớnh, truy nhp index ca cylinder v sau ú mi xỏc nh c v trớ bn ghi Quỏ trỡnh ny cú th dn ti nhiu ln tỡm kim theo cylinder bi vỡ index chớnh v index ca cylinder thng nm trờn a, nờn thi gian tr tỡm kim cú th khỏ ln Tuy nhiờn t chc truy nhp ISAM thun tin cho nhng ngi vit phn mm ng dng 106/117 He Dieu Hanh Chng 13 - File System v Database 13.1 M u File l hp d liu, thng c lu tr cỏc thit b lu tr ngoi vi nh a t, bng t, Vi file, ta cú th thc hin cỏc thao tỏc nh vi mt n v open chun b file cho truy cp close kt thỳc truy cp file create to file mi copy to bn destroy (delete) xoỏ file rename - i tờn file i vi cỏc n v thụng tin file, thng s dng cỏc lnh read c d liu t file write ghi cỏc thụng tin vo file insert chốn thờm thụng tin delete xoỏ cỏc n v thụng tin File system (FS) l mt cu thnh ca HH, cú nhim v iu khin thao tỏc vi cỏc file trờn b nh ngoi Nú cũn m bo kh nng chia s v an ton thụng tin gia nhiu ngi dựng 13.2 Chc nng ca FS FS phi m bo nhiu chc nng khỏc liờn quan n iu khin truy cp, ú cú: Ngi dựng phi cú kh nng to, thay i, xoỏ file Cung cp kh nng chia s file di s iu khin cht ch C ch chia s file phi xem xột hỡnh thc truy cp cn kim soỏt, vớ d thao tỏc c , ghi, thay i, Ngi dựng phi cú kh nng thao tỏc d dng vi cu trỳc file, c lp vi phn cng m bo s troa i thụng tin gia cỏc file Cn cú cỏc cụng c khc phc, khụi phc li thụng tin cú s c 107/117 He Dieu Hanh Vi cỏc thụng tin quan trng, cn cú cỏc c ch kim soỏt truy cp cht ch, trỏnh cỏc truy cp bt hp phỏp, kh nng mó hoỏ d liu H thng cn cung cp giao din thõn thin vi ngi dựng, cho phộp ngi dựng lm vic vi cỏc cu trỳc d liu logic ca mỡnh, khụng cn quan tõm n cỏc chi tit vt lý, c th 13.3 Cu trỳc d liu Tt c cỏc d liu mỏy tớnh cú th x lý u to thnh t cỏc bit cú giỏ tr hoc Khi kt hp cỏc bit thnh t hp, ta cú th lu tr, th hin mi thụng tin phong phỳ Mc cao hn, ta cú n v byte l t hp bit Nh th cú th cú 256 giỏ tr khỏc ca byte, s ú cú cỏc ký t (a-z, A-Z), ch s (0-9), cỏc ký t c bit, Phõn b t hp cỏc bit theo ký t c gi l bng mó Hin cú mt s bng mó ph bin: EBCDIC (extend bit code decimal for interchange) thng c s dng biu din thụng tin bờn mỏy, h ASCII (americal standard code for interchange information) thụng dng cỏc h thng truyn thụng, ngy xu th ton cu hoỏ, mó unicode ang c chp nhn ngy cng rng rói vi u th cú th lu tr v th hin hu ht cỏc ngụn ng trờn th gii mc cao hn, nhúm cỏc ký t liờn quan n gi l trng field, vớ d trng h tờn sinh viờn, cỏc trng liờn quan to thnh bn ghi vớ f bn ghi thụng tin sinh viờn cú cỏc trng h tờn, lp Nhúm cỏc bn ghi to thnh file v hp thụng tin cao nht c gi l c s d liu 13.4 Block v Record Bn ghi vt lý hay block l n v thụng tin thc s c trao i vi thit b lu tr Cũn bn ghi logic l hp thụng tin c coi l n v ton nhỡn t phớa ngi dựng, vớ d bn ghi sinh viờn Vi hai khỏi nim trờn, ta cú cỏc quan h sau v di tng i gia chỳng Mt block = mt bn ghi Mt block = nhiu bn ghi Mt bn ghi = nhiu block 13.5 T chc file T chc file l cỏch phõn b bn ghi ca file b nh ngoi Cú th chia thnh cỏc dng t chc sau 108/117 He Dieu Hanh + Ni tip: cỏc bn ghi phan b theo th t vt lý, bn ghi logic tip theo nm ni tip v vt lý T chc file theo kiu ni tip thng ỏp dng bng t + Dóy ch s: cỏc bn ghi ni tip v logic khụng nht thit liờn tip v vt lý Trong h thng s dng cỏc ch mc riờng tr n v trớ vt lý ca bn ghi T chc ny thng ỏp dng a t + Truy cp trc tip Truy cp bn ghi trc tip theo a ch vt lý T chc h thng n gin nhng gỏnh nng chuyn sang ngi lp trỡnh, h phi bit rừ cu trỳc vt lý ca thit b Vỡ th hỡnh thc ny ớt ỏp dng + Th mc Th mc l kin trỳc cao hn file, bao gm hp cỏc file V thc cht thỡ th mc cng l file, ch cú iu d liu ú l thụng tin v cỏc file nm th mc 13.7 H thng file (File System) Ta cú th a cỏc c im sau ca file + tn s thay i: static v dynamic + kớch thc file File System l cu thnh quan trng ca HH, FS thng cung cp cỏc cụng c Cỏc phng phỏp truy cp: xỏc nh, tt chc truy cp d liu Cỏc c ch iu khin file: iu khin truy cp, chia s file cho nhiu ngi dựng, bo v d liu Cụng c iu khin b nh ngoi: qun lý vic phõn b, cp phỏt b nh ngoi Cụng c m bo tớnh ton d liu Chc nng quan trng ca FS l cp phỏt b nh ngoi, iu khin truy cp Trong cỏc h a ngi dựng, a nhim, cựng mt lỳc cú th cú nhiu yờu cu truy cp ng thi FS phi m bo phc v cỏc yờu cu nhanh nht, m bo an ton d liu 13.8 Cp phỏt v gii phũng khụng gian a Vn cp phỏt v gii phúng khụng gian a, mc no ú cú nhiu im chung vi phõn b b nh cỏc h a nhim Nu nh ban u file c ghi mt vựng nh liờn tc thỡ theo thi gian, cỏc file liờn tc thay i v khụng gian a tr nờn b chia nh (fragmentation) 109/117 He Dieu Hanh Mt nhng bin phỏp gii quyt tỡnh trng ú l theo chu k thc hin vic dn a Cỏc file c t chc li chỳng chim vựng a liờn tc Vic ny thng c thc hin vo thi gian ri ca h thng Mt s h thng cũn cú th dn dp a c ang phc v ngi dựng Trong mt s tỡnh hung, m s yờu cu c/ghi d liu rt nhiu thỡ vic dn a cú th khụng mang li li ớch Vớ d cỏc yờu cu cú th yờu cu d liu trờn cỏc file trờn vựng a cỏch xa c cỏc file nm trờn vựng a liờn tc Khỏi nim locality b nh o cng cú mt FS, theo ú thng truy cp thụng tin thng scan cỏc block d liu Do ú vic sp xp cỏc file chim vựng a liờn tc thc s cú hiu qu Vic xỏc nh thúi quen ca ngi dựng: cỏc ng dng, cỏc d liu thng xuyờn c dựng cng cú th cn ý thit k FS Trong cỏc h thng dựng t chc b nh theo trang, block trao i b nh vi b nh ngoi l bi ca trang, ú vic t chc b nh ngoi theo cỏc block cú kớch thc tng ng cng cú ý ngha Vi tớnh locality, vic truy xut cỏc trang b nh lin dn n vic cn phõn b d liu b nh ngoi cng cn lin 13.9 Phõn b Cú hai hỡnh thc phõn b: liờn tc v khụng liờn tc 13.9.1 Phõn b liờn tc Trong hỡnh thc ny, mi file c cp phỏt mt vựng liờn tc Nu khụng cú c vựng trng liờn tc lu file thỡ file s khụng th c lu Mt cỏc u im ca phõn b liờn tc l cỏc bn ghi liờn tip v logic cng c lu liờn tc v mt vt lý, iu ú cho phộp ci thin tc truy cp Vic t chc lu tr cng tng i n gin Tuy nhiờn phõn b liờn tc cú nhng hn ch, cỏc file b xoỏ, thay i, to tỡnh trng phõn mnh Hn na, cn ghi thờm d liu vo file khụng phi luụn cú vựng trng cui file lu trỏnh tỡnh trng phõn mnh cú th thc hin dn file, nhiờn vic ú khụng phi luụn mang li hiu qu 13.9.1 Phõn b khụng liờn tc Bi vỡ thng xuyờn cỏc file b thay i, ú hỡnh thc phõn b liờn tc ó nhanh chúng b thay th bi hỡnh thc phõn b khụng liờn tc, mc dự t chc phc hn nhng nú cho phộp xõy dng h thng mm hn Cú mt s hỡnh thc phõn b khụng liờn tc S dng danh sỏch sector 110/117 He Dieu Hanh Trong s ny, a c xem nh hp cỏc sector riờng r File cú th bao gm cỏc sector nm trờn cỏc v trớ ri rỏc Cỏc sector thuc cựng mt file cú cỏc tr n nhau, to thnh chui/danh sỏch cỏc sector Khụng gian trng c ch mt danh sỏch cỏc sector trng Khi cn cp phỏt thờm b nh, ch cn cp sector t danh sỏch sector trng Cũn file gim kớch thc thỡ sector c ỏnh du trng v a vo danh sỏch Vic dn a khụng phi t Tuy nhiờn nú cng cú nhng nhc im Bi vỡ cỏc sector cú th nm ri rỏc trờn a, vic truy cp d liu liờn tip file cú th kộo theo thi gian tỡm kim sector khỏ lõu Vic c d liu kộo theo phi duyt qua chui cỏc sector, x lý tr kt ni Phõn b theo block Hỡnh thc phõn b theo block l kt hp gia hỡnh thc phõn b liờn tc v khụng liờn tc, ú b nh ngoi c chia thnh cỏc khi/block gm nhiu sector liờn tc Khi cp phỏt thờm, FS c gng cp phỏt block trng gn nht Khi truy cp d liu, FS xỏc nh s blokc v sau ú s sector block Cú hỡnh thc phan b theo block: chui block/block chaining, cui block ch s/index block v bng ỏnh x block + Chui cỏc block d liu Trong s ny, bn ghi directory tr n block u tiờn ca file Mi block (cú di c nh) gm hai phn: phn header cha tr n block tip theo, v phn d liu Block cui cựng n v cp phỏt nh nht l block c bn ghi, u tiờn cn tỡm n block sau ú n sector block cha bn ghi Quỏ trỡnh tỡm kim phi bt u duyt t block u tiờn, theo cỏc tr n block cn tỡm Nh th mu block phõn b ri rỏc thỡ thi gian truy cp lõu hn ỏng k Vic cp phỏt thờm block hay xoỏ bt khỏ d dng thụng qua nh hng li tr Trong mt s h thng, t chc chui block liờn kt chiu, mi block cú tr, tr ti block tip theo v tr ti block trc hỡnh 13.4: Chui cỏc block 111/117 He Dieu Hanh Directory File A Header Header Header Data Data Data Data Block Data Block Data Block n + S chui block ch s/ index block Trong s ny, cỏc ch mc (index) c cha cỏc block ch s Mi block ch s cha s lng c nh cỏc phn t, mi phn t cha tr n block d liu Nu mt index block khụng , h thng dựng chui cỏc index block cha thụng tin ca file, mi index block cú tr n index block tip theo chui So vi s dựng chui cỏc block, s ny cú mt s u im Khi tỡm kim block d liu no ú, ch cn tỡm (duyt) s lng ớt cỏc index block thay vỡ duyt qua s lng ln cỏc block d liu tng tc , cú th b trớ cỏc index block nm trờn vựng liờn tc b nh ngoi Khi tỡm thy v trớ block d liu thỡ ch cn np block d liu ú vo b nh S ny cú nhc im ch yu l cú thay i d liờu, vớ d cn thờm cỏc bn ghi d liu mi cú th dn n phi cu trỳc li nhiu index block Trong mt s h thng, khc phc ngi ta dỏnh sn cỏc vựng trng d tr cho cỏc index block cú th cú tng lai Tuy nhiờn vựng trng ú y thỡ cng dn n phi cu trỳc li index Hỡnh 13.5 S chui index block Directory Index Block Index Block n Header Header Pointer Pointer Pointer File A Data Data Data 112/117 He Dieu Hanh + S bng ỏnh x block Trong s ny xỏc nh v trớ block, khụng cn phi cú tr m dựng s ca block, bi vỡ t s block cú th d dng tớnh toỏn c v trớ block trờn b nh ngoi S ny s dng bng ỏnh x block, mi dũng cha thụng tin ỏnh x cho block Dũng bng th mc s tr n mt dũng bng ỏnh x tng ng vi block d liu u tiờn ca file Mi dũng ca bng ỏnh x cha s ca block tip theo ca file Nh th t bng ỏnh x cú th c c tt c thụng tin v trớ cỏc block d liu ca file Vi dũng ỏnh x tng ng vi block cui ca file, thng cha giỏ tr c bit (vớ d null) th hin rng khụng cũn block no tip theo-nú l block cui cựng Cỏc dũng ỏnh x ca block trng cha giỏ tr c bit khỏc th hin rng ú l block trng, cú th cp phỏt H thng cú th tra cu bng ỏnh x tỡm cỏc block trng, hoc lu thụng tin block trng mt danh sỏch riờng Bng ỏnh x cú th c thay i lu c cỏc thụng tin khỏc, phc v cho mc ớch tỡm kim Mt cỏc u im ln nht ca s ny l ch cn tra cu thụng tin bng ỏnh x file l cú th xỏc nh cỏc block trng v v trớ tng i ca chỳng so vi cỏc block khỏc, t ú cn cp phỏt cú th chn cỏc block gn vi block thuc cựng file mt cỏch d dng, nõng cao tc truy cp Hỡnh 13.6 bng ỏnh x block Directory File A free 2 free EOF free free free free A(0) A(2) A(1) free free free free 13.10 Mụ t file - File Descriptor File Descriptor l bn ghi lu y cỏc thụng tin v file m HH cn quan tõm, qun lý Cỏc thụng tin lu File Descriptor s ph thuc vo tng h thng, nhng núi chung chỳng u cú cỏc thụng tin sau: Tờn file Kớch thc file Kiu file 113/117 He Dieu Hanh Ngy thỏng to, cp nht , Thụng tin thuc tớnh File Descriptor nm trờn b nh ngoi v chỳng c np vo b nh m (open) file Núi chung thỡ File Descriptor c x lý bi File system, ngi dựng khụng cú quyn truy cp trc tip 13.11 Ma trn iu khin quyn truy cp Ti cn qun lý quyn truy cp n file Trong h thng nhiu ngi dựng, mi ngi u lu thụng tin riờng ca mỡnh trờn cỏc file v cỏc ngi dựng khỏc núi chung khụng c truy cp n chỳng, ú h thng cn cú cỏc thụng tin v quyn truy cp iu khin truy cp Cú nhiu c ch khỏc qun lý quyn truy cp, mt cỏc s n gin nht l s dng ma trn iu khin quyn truy cp (hỡnh 13.7) Trong ú mt chiu l cỏc ID ngi dựng (hng Ri), mt chiu l ID file (ct Ci) V trớ ụ RiCj cha giỏ tr quyn truy cp ca ngi dựng Ui i vi file Fj Nu kớch thc ụ l bit, ta cú th xỏc nh quyn, vớ d giỏ tr l khụng c c, l cú quyn c, Tt nhiờn qun lý nhiu quyn hn thỡ ta cn lu c t hp nhiu quyn hn Hỡnh 13.7 file f1 f2 u1 R=0 R=1 u2 R=1 R=1 user 114/117 He Dieu Hanh 115/117 He Dieu Hanh Chng 11 a x lý 11.1 Gii thiu Mt nhng hng phỏt trin ca k thut tớnh toỏn l vic ph bin cỏc h a x lý, tc lcỏc h thng cú nhiu BXL Cỏc kin trỳc a x lý ó xut hin t lõu nhng n thi gian gn õy mi tr nờn ph bin a x lý cho phộp xõy dng cỏc h thng cha hng chc, thm hng trm BXL, t c tc cao vi chi phớ thp 11.2 Tớnh n nh, sn sng Mt cỏc u th chớnh ca cỏc h a x lý l tớnh sn sng Trong trng hp cú BXL gp s c, h thng cú th tip tc hot ng thc hin c iu ú, BXL gap s c cn thụng bỏo cho cỏc BXL khỏc v tỡnh trng s c chuyn giao cụng vic HH cn bit tỡnh trng ca cỏc BXL xỏc nh li ti nguyờn, iu chnh hot ng ca h thng 11.3 Tớnh song song Mt mc ớch quan trng ca cỏc h a x lý l tng tc tớnh toỏn Tuy nhiờn phn ln chng trỡnh c thit k hot ng tun t iu ú mt s nguyờn nhõn: - ngi núi chung suy ngh tun t - ngụn ng cng khụng cú cỏc cụng c thun li mụ t tớnh song song mc dự cú cỏc ngụn ng lp trỡnh h tr song song nh ADA - bn thõn cỏc h a x lý cng khụng c ỏp dng tớnh song song thit k - vic kim tra tớnh ỳng n ca chng trỡnh song song phc hn nhiu so vi tun t 11.4 Mc tiờu ca cỏc h a x lý Nh vic ỏp dng a x lý, cú th xõy dng h thng tc cao vi chi phớ thp cỏc h a x lý cú tớnh n nh v sn sng cao Tớnh mm do, cho phộp thay th, m rng h thng d dng 11.5 Tớnh toỏn song song t ng Cỏc h thng a x lý cho phộp tớnh toỏn song song, nhiờn phn ln chng trỡnh c thit k cho thc hin tun t Vic xỏc nh cú th tớnh toỏn song song ngi lp trỡnh , trỡnh bien dch hay OS xỏc nh l phc Tớnh toỏn sog song cú th ngi lp trỡnh ch ra, vớ d vi cỏc lnh tớnh toỏn song song Tuy nhiờn vic ch tớnh toỏn tng minh nh trờn l cụng vic phc v khú khn vỡ ngi lp trỡnh cũn phi x lý cỏc vỏn nghip v, d xy li (vớ d nhng 116/117 He Dieu Hanh on khụng tớnh song song c thỡ tớnh song song v b sút cỏc trng hp tớnh toỏn phc tp) Vic phõn tớch x lý song song cú th c gii quyt nh vic xỏc nh t ng cỏc tớnh toỏn cú th chy song song Vic xỏc nh ú cú th trỡnh biờn dch hay OS hay HW m nhim Phõn b vũng lp Trong chng trỡnh, nhiu on mó c thc hin vũng lp Nhiu trng hp cỏc on mó thõn vũng lp c lp v ú cú th tớnh toỏn song song Vớ d for i:= to 10 G[i] := b[i] + c[i] giSm cao cõy tớnh toỏn 117/117 [...]... được gọi là tài nguyên sử dụng tuần tự Trên hình 6.2 đưa ra một ví dụ đơn giản deadlock dạng này Trên sơ đồ phân chia tài nguyên có hai process và hai tài nguyên Mũi tên đi ra từ tài nguyên vào process chỉ ra rằng tài nguyên đó đang thuộc quyền sử dụng của process đó Còn mũi tên đi ra từ process vào tài nguyên chỉ ra rằng process đang yêu cầu sử dụng tài nguyên nhưng chưa được cấp phát tài nguyên tương... nguyên Do đó cuối cùng thì process đó có độ ưu tiên cao nhất và nó sẽ được phục vụ 6.4 Khái niệm tài nguyên - resource Một chức năng quan trọng của HĐH là quản lý và điều khiển các tài nguyên của hệ thống Nó có trách nhiệm phân phối các tài nguyên thuộc các loại khác nhau của hệ thống Chúng ta xem xét các tài nguyên được coi là preemtible (được xử dụng nhiều nhất) như là BXL hay bộ nhớ; Chương trình... Trong hệ thống, khi các process phải chờ ví dụ khi nó chờ được cấp phát tài nguyên hay lập lịch trình, có thể xuất hiện tình huống mà (quyền) được sử dụng BXL bị hoãn không xác định Tình huống này gọi là hoãn vô thời hạn (không xác định) có thể dẫn tới tình huống không chấp nhận được cũng như tình trạng deadlock Tình trạng hoãn vô thời hạn có thể xảy ra do cách điều khiển tài nguyên của hệ thống Khi tài. .. Counting semaphore hữu ích khi có tài nguyên được lấy từ nhóm (pool) các tài nguyên cùng loại Khi khởi tạo semaphore, giá trị của nó là chỉ số lượng tài nguyên của nhóm Mỗi lệnh P sẽ giảm giá trị của semaphore đi 1, tương ứng với việc có 1 tài nguyên đã được lấy từ nhóm Mỗi lệnh V sẽ tăng gia strị semaphare 1 tương ứng với việc process trả lại 1 tài nguyên cho nhóm, và tài nguyên đó có thể được cấp cho... process truy nhập đến dữ liệu chung thì cần cấm tất cả các process khác truy nhập đến cùng dữ liệu vào thời điểm đó Điều đó gọi là mutual exclusion (loại trừ lẫn nhau) 4.5 Khoảng tới hạn Critical region Loại trừ lẫn nhau chỉ cần thiết trong trường hợp khi các process cùng truy nhập đến dữ liệu chung, hay khi chúng thực hiện các thao tác có thể dẫn tới tranh chấp (conflic) dữ liệu nói chung, còn khi... xảy ra Tình huống treo hệ thống là tình huống có một hay nhiều process nằm trong trạng thái treo Trong các hệ thống đa chương trình một trong những chức năng quan trọng của HĐH là quản lý, phân chia tài nguyên Khi tài nguyên được chia sẻ giữa các user, mỗi người có toàn quyền điều khiển, sử dụng tài nguyên đã được phân chia cho anh ta, do đó hoàn toàn có thể xảy ra deadlock và process của người dùng... chẳng bao giờ xảy ra do lý do chủ quan nào đó trong hệ thống điều khiển tài nguyên Các khả năng, giải pháp cân bằng giữa giá phải trả cho các phương tiện ngăn chặn deadlock với lợi ích nó mang lại cũng được xem xét Trong nhiều trường hợp, giá phải trả cho việc loại trừ tình trạng deadlock quá cao Còn trong các trường hợp khác (ví dụ các hệ thống điều khiển thời gian thực) thì giá đó là không tránh... những loại tài nguyên khác cho phép chia sẻ giữa một vài process, còn có những loại chỉ do một process độc quyền sử dụng Ví dụ ổ đĩa thường chứa các file thuộc nhiều process nhưng đôi khi do một process chiếm giữ Bộ nhớ và BXL được sử dụng chia sẻ bởi nhiều process Dữ liệu và chương trình cũng là các tài nguyên và chúng cũng cần các cơ cấu điều khiển, cấp phát tương ứng Ví dụ trong một hệ, nhiều user... gian Giải pháp này có thể dẫn tới giảm hiệu suất của hệ thống nhưng đó là giá phải trả để giảm xác suất xảy ra deadlock Các hệ thống ngày nay hoàn thiện hơn, nó có thể cho phép bắt đầu in trước khi kết tất cả dữ liệu được định dạng nhờ đó một phần hay toàn bộ spooling file được giải phóng (xoá) ngay trong quá trình thực hiện công việc Trong nhiều hệ thống có khả năng cấp phát bộ đệm (buffer) động để... là không còn tài nguyên trống, thì process sẽ phải chờ đến khi nào giá trị semaphore khác 0 nghĩa là có lệnh V được thực hiện (ứng với sự kienẹ có tài nguyên giải phóng) 32/117 He Dieu Hanh Chương 6: Deadlock – Khóa cứng 6.1 Mở đầu Trong hệ thống đa chương trình, một process nằm trong trạng thái deadlock hay treo, nếu như nó chờ sự kiện (event) nào đó không bao giờ xảy ra Tình huống treo hệ thống là ... Cache Memory Thời gian truy cập giảm Tốc độ truy cập tăng Giá thành tăng Dung l-ợng giảm BXL truy cập trực tiếp mã lệnh, liệu Physical Memory Secondary Memory BXL không truy cập trực tiếp,... ó cú cỏc h thng vi b nh o - virtual memory Hỡnh 7.3 Cu trỳc overlay a Module điều khiển OS a b Phần ch-ơng trình, liệu cần có suốt trình b Module Overlay Module Overlay Module Overlay Vùng Overlay