You are on page 1of 37

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.

QUN L B NH
I Mc ch
Sau khi hc xong chng ny, ngi hc nm c nhng kin thc sau: Hiu cc cch khc nhau qun l b nh Hiu tip cn qun l b phn trang v phn on Vn dng mt tip cn qun l b nh ph hp vi h thng xc nh

II Gii thiu
Trong chng ny chng ta s tho lun nhiu cch khc nhau qun l b nh. Cc gii thut qun l b nh t tip cn my tr c bn (primitive baremachine) l chin lc phn trang v phn on. Mi tip cn c li im v nhc ca chnh n. Chn phng php qun l b nh cho mt h thng xc nh ph thuc vo nhiu yu t, c bit trn thit k phn cng ca h thng. Chng ta s thy nhiu gii thut yu cu h tr phn cng mc d cc thit k gn y tch hp phn cng v h iu hnh.

III t vn
B nh l trung tm iu hnh h thng my tnh hin i. B nh cha mt mng ln cc t (words) hay cc bytes, mi phn t vi a ch ca chnh n. CPU ly cc ch th t b nh da theo gi tr ca thanh m chng trnh. Cc ch th ny c th gy vic np b sung cc t v lu tr ti cc a ch b nh xc nh.

III.1 Lin kt a ch
Thng thng, mt chng trnh nm trn a nh mt tp tin c th thc thi dng nh phn. Chng trnh ny c mang vo trong b nh v c t trong mt qu trnh n c thc thi. Ph thuc vo vic qun l b nh ang dng, qu trnh c th c di chuyn gia a v b nh trong khi thc thi. Tp hp cc qu trnh trn a ang ch c mang vo b nh thc thi hnh thnh mt hng i nhp (input queue). Th tc thng thng l chn mt trong nhng qu trnh trong hng i nhp v np qu trnh vo trong b nh. Khi mt qu trnh c thc thi, n truy xut cc ch th v d liu t b nh. Cui cng, mt qu trnh kt thc v khng gian b nh ca n c xc nh l trng. Hu ht cc h thng cho php mt qu trnh ngi dng nm bt c phn no ca b nh vt l. Do , mc d khng gian a ch ca my tnh bt u ti 00000, nhng a ch u tin ca qu trnh ngi dng khng cn ti 00000. Sp xp ny nh hng n a ch m chng trnh ngi dng c th dng. Trong hu ht cc trng hp, mt chng trnh ngi dng s i qua mt s bc- mt vi trong chng c th l tu chn-trc khi c thc thi (hnh VII-1). Cc a ch c th c hin din trong nhng cch khc trong nhng bc ny. Cc a ch trong chng trnh ngun thng l nhng danh biu. Mt trnh bin dch s lin kt cc a ch danh biu ti cc a ch c th ti nh v (chng hn nh 14 bytes t v tr bt u ca

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 137

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

module ny). B son tho lin kt hay b np s lin kt cc a ch c th ti nh v ti a ch tuyt i (chng hn 74014). Mi lin kt l mt nh x t mt khng gian a ch ny ti mt khng gian a ch khc .

Hnh 0-1 X l nhiu bc ca chng trnh ngi dng

V truyn thng, lin kt cc ch th v d liu ti cc a ch c th c thc hin ti bt c bc no theo cch sau y: Thi gian bin dch: nu ti thi im bin dch c th bit qu trnh nm u trong b nh th m tuyt i c th c pht sinh. Th d, nu bit trc qu trnh ngi dng nm ti v tr R th m trnh bin dch c pht sinh s bt u ti v tr v m rng t . Nu ti thi im sau , v tr bt u thay i th s cn bin dch li m ny. Cc chng trnh nh dng .COM ca MS-DOS l m tuyt i gii hn ti thi im bin dch. Thi im np: nu ti thi im bin dch cha bit ni qu trnh s nm u trong b nh th trnh bin dch phi pht sinh m c th ti nh v. Trong trng hp ny, lin kt cui cng c tr hon cho ti thi im

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 138

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

np. Nu a ch bt u thay i, chng ta ch cn np li m ngi dng hp nht gi tr c thay i ny. Thi gian thc thi: nu qu trnh c th c di chuyn trong thi gian thc thi t mt phn on b nh ny ti mt phn on b nh khc th vic lin kt phi b tr hon cho ti thi gian chy. Phn cng c bit phi sn dng cho c ch ny thc hin cng vic. Hu ht nhng h iu hnh ny dng phng php ny. Phn ch yu ca chng ny c dnh ht hin th cc lin kt khc nhau c th c ci t hu hiu trong mt h thng my tnh v tho lun s h tr phn cng tng ng.

III.2 Khng gian a ch lun l v khng gian a ch vt l


Mt a ch c to ra bi CPU thng c gi l a ch lun l (logical address), ngc li mt a ch c xem bi n v b nh-ngha l, mt a ch c np vo thanh ghi a ch b nh-thng c gi l a ch vt l (physical address). Cc phng php lin kt a ch thi im bin dch v thi im np to ra a ch lun l v a ch vt l xc nh. Tuy nhin, c ch lin kt a ch ti thi im thc thi dn n s khc nhau gia a ch lun l v a ch vt l. Trong trng hp ny, chng ta thng gi a ch lun l nh l a ch o (virtual address). Tp hp tt c a ch lun l c to ra bi chng trnh l khng gian a ch lun l ; tp hp tt c a ch vt l tng ng a ch lun l ny l khng gian a ch vt l. Do , trong c ch lin kt a ch ti thi im thc thi, khng gian a ch lun l v khng gian a ch vt l l khc nhau. Vic nh x ti thi im thc thi t a ch o ti a ch vt l c thc hin bi mt thit b phn cng c gi l b qun l b nh MMU (memorymanagement unit). Chng ta c th chn gia nhng phng php khc nhau thc hin vic nh x. Nh c hin th trong hnh VII-2 trn, phng php ny yu cu s h tr phn cng. Thanh ghi nn by gi c gi l thanh ghi ti nh v. Gi tr trong thanh ghi ti nh v c cng vo mi a ch c to ra bi qu trnh ngi dng ti thi im n c gi ti b nh. Th d, nu gi tr nn l 14000, th vic c gng bi ngi dng xc nh v tr 0 c t ng ti nh v ti v tr 14000; mt truy xut ti a ch 346 c nh x ti v tr 14346.

Hnh 0-2 nh v t ng dng thanh ghi ti nh v

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 139

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

III.3 Np ng
Trong tho lun ca chng ta gn y, ton b chng trnh v d liu ca mt qu trnh phi trong b nh vt l qu trnh thc thi. Kch thc ca qu trnh b gii hn bi kch thc ca b nh vt l. t c vic s dng khng gian b nh tt hn, chng ta c th s dng np ng (dynamic loading). Vi np ng, mt th tc khng c np cho ti khi n c gi. Tt c th tc c gi trn a trong nh dng np c th ti nh v. Chng trnh chnh c np vo b nh v c thc thi. Khi mt th tc cn gi mt th tc khc, th tc gi trc ht kim tra thy th tc khc c np hay khng. Nu khng, b np lin kt c th ti nh v c gi np th tc mong mun vo b nh v cp nht cc bng a ch ca chng trnh phn nh thay i ny. Sau , iu khin ny c truyn ti th tc mi c np. Thun li ca np ng l mt th tc khng c dng th khng bao gi c np. Phng php ny c bit c ch khi lng ln m c yu cu qun l cc trng hp xy ra khng thng xuyn, chng hn nh cc th tc li. Trong trng hp ny, mc d kch thc ton b chng trnh c th ln, nhng phn c dng (v do c np) c th nh hn nhiu. Np ng khng yu cu h tr c bit t h iu hnh. Nhim v ca ngi dng l thit k cc chng trnh ca h t c s thun li . Tuy nhin, h iu hnh c th gip ngi lp trnh bng cch cung cp cc th tc th vin ci t np t ng.

III.4 Lin kt ng v cc th vin c chia s


Trong hnh VII-1 cng hin th th vin c lin kt ng. Mt s h iu hnh h tr ch lin kt tnh m trong cc th vin ngn ng h thng c i x nh bt k module i tng khc v c kt hp bi b np thnh hnh nh chng trnh nh phn. Khi nim lin kt ng l tng t nh khi nim np ng. Lin kt b tr hon hn l vic np b tr hon cho ti thi im thc thi. c im ny thng c dng vi cc th vin h thng nh cc th vin chng trnh con ca cc ngn ng. Khng c tin ch ny, tt c chng trnh trn mt h thng cn c mt bn sao th vin ca ngn ng ca chng (hay t nht th vin c tham chiu bi chng trnh) c cha trong hnh nh c th thc thi. Yu cu ny lm lng ph c khng gian a v b nh chnh. Vi lin kt ng, mt stub l mt on m hin th cch nh v chng trnh con trong th vin c tr trong b nh hay cch np th vin nu chng trnh con cha hin din. Khi stub ny c thc thi, n kim tra thy chng trnh con c yu cu trong b nh hay cha. Nu cha, chng trnh ny s np chng trnh con vo trong b nh. D l cch no, stub thay th chnh n vi a ch ca chng trnh con v thc thi chng trnh con . Do , thi im tip theo phn on m t c, chng trnh con trong th vin c thc thi trc tip m khng gy ra bt k chi ph cho vic lin kt ng. Di c ch ny, tt c cc qu trnh s dng mt th vin ngn ng thc thi ch mt bn sao ca m th vin.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 140

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

III.5 Ph lp
cho php mt qu trnh ln hn lng b nh c cp pht cho n, chng ta s dng c ch ph lp (overlays). tng ph lp l gi trong b nh nhng ch th v d liu c yu cu ti bt k thi im no c cho. Khi nhng ch th c yu cu, chng c np vo khng gian c chim trc bi cc ch th m chng khng cn cn na. Th d, xt trnh dch hp ng hai ln (two-pass assembler). Trong sut ln th 1, n xy dng bng danh biu; sau , trong ln th 2, n to ra m my. Chng ta c th phn chia trnh dch hp ng thnh m ln 1, m ln 2, bng danh biu, v nhng th tc h tr chung c dng bi ln 1 v ln 2. Gi s kch thc ca cc thnh phn ny nh sau: Ln 1 70 KB Ln 2 80 KB Bng danh biu 20 KB Cc th tc chung 30 KB np mi th mt ln, chng ta cn 200KB b nh. Nu ch c 150KB sn c, chng ta khng th chy qu trnh ca chng ta. Tuy nhin, ch rng ln 1 v ln 2 khng cn trong b nh cng mt lc. Do , chng ta nh ngha hai ph lp. Ph lp A l bng danh biu, cc th tc chung, ln 1, v ph lp B l bng biu tng, cc th tc chung v ln 2. Chng ta b sung trnh iu khin ph lp (10 KB) v bt u vi ph lp A trong b nh. Khi chng ta kt thc ln 1, chng ta nhy ti trnh iu khin ph lp, trnh iu khin ny s c ph lp B vo trong b nh, vit chng ln ph lp B v sau chuyn iu khin ti ln 2. Ph lp A ch cn 120KB, ngc li ph lp B cn 130KB (hnh VII-3). By gi chng ta c th chy trnh hp ng trong 150KB b nh. N s np nhanh hn v rt t d liu cn c chuyn trc khi vic thc thi bt u. Tuy nhin, n s chy chm hn do nhp/xut ph c m m cho ph lp A qua m cho ph lp B.

Hnh 0-3- Cc ph lp cho mt b hp ng dch hai ln

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 141

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

M cho ph lp A v m cho ph lp B c gi trn a nh nhng hnh nh b nh tuyt i, v c c bi trnh iu khin ph lp khi cn. Ti nh v c bit v cc gii thut lin kt c yu cu xy dng cc ph lp.

IV Hon v
Mt qu trnh cn trong b nh c thc thi. Tuy nhin, mt qu trnh c th c hon v (swapped) tm thi khi b nh ti vng lu tr ph backing store, sau mang tr li b nh vic thc thi c tip tc. Th d, gi s mt mi trng a chng vi gii thut lp thi biu CPU round-robin. Khi nh mc thi gian ht, b qun l b nh s bt u hon v ra (swap out) vng lu tr ph qu trnh va mi kt thc v hon v vo (swap in) mt qu trnh khc ti khng gian b nh c trng (hnh VII-4). Do , b nh thi biu CPU s cp nhng phn thi gian ti nhng qu trnh khc trong b nh. L tng, b qun l s hon v cc qu trnh nhanh mt vi qu trnh s trong b nh, sn sng thc thi, khi b nh thi CPU mun nh thi li CPU. nh mc cng phi ln ph hp lng tnh ton c thc hin gia cc hon v.

Hnh 0-4- Hon v hai qu trnh dng a nh l backing store

Mt bin th ca chnh sch hon v ny c dng cho cc gii thut nh thi trn c s u tin. Nu mt qu trnh c u tin cao hn n v mun ph v, b qun l b nh c th hon v ra qu trnh c u tin thp hn m n c th np v thc thi qu trnh c u tin cao hn. Khi qu trnh c u tin cao hn kt thc, qu trnh c u tin thp hn c th c hon v vo tr li v c tip tc. Bin th ca hon v ny thng c gi l cun ra (roll out), v cun vo (roll in). Thng thng, mt qu trnh c hon v ra s c hon v tr li vo cng khng gian b nh m n chim trc . S gii hn ny c sai khin bi phng php lin kt a ch. Nu lin kt a ch c thc hin ti thi im hp dch hay np th qu trnh khng th c di chuyn vo khng gian b nh khc v cc a ch vt l c tnh trong thi gian thc thi.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 142

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Hon v yu cu mt vng lu tr ph (backing store). Vng lu tr ph ny thng l mt a tc cao. N phi ln cha cc bn sao ca tt c hnh nh b nh cho tt c ngi dng, v n phi cung cp truy xut trc tip ti cc hnh nh b nh ny. H thng ny duy tr mt hng i sn sng cha tt c qu trnh m cc hnh nh b nh ca n trong vng lu tr ph hay trong b nh v sn sng thc thi. Bt c khi no b nh thi CPU quyt nh thc thi mt qu trnh, n gi b phn pht (dispacher). B phn pht kim tra thy qu trnh tip theo trong hng i trong b nh khng. Nu khng, v khng c vng b nh trng, b phn pht hon v ra mt qu trnh hin hnh trong b nh v hon v vo mt qu trnh mong mun. Sau , n np li cc thanh ghi v chuyn iu khin ti qu trnh c chn. Trong cc h hon v, thi gian chuyn i gia cc tc v cn c quan tm. Mi qu trnh cn c phn chia mt khong thi gian s dng CPU ln khng thy r s chm tr do cc thao tc hon v gy ra. Nu khng, h thng s dng phn ln thi gian hon v cc qu trnh vo ra b nh chnh, CPU nh vy s khng s dng hiu qu. Hon v cng b rng buc bi yu t khc. Nu chng ta mun hon v mt qu trnh, chng ta phi m bo rng n hon ton ri. Quan tm c bit l vic ch nhp/xut. Mt qu trnh c th ang ch thao tc nhp/xut khi chng ta hon v qu trnh ti ni trng b nh ca n. Tuy nhin, nu nhp/xut ang truy xut khng ng b b nh ngi dng cho nhp/xut vng m, th qu trnh khng th c hon v. Gi s rng thao tc nhp/xut ang xp hng ch v thit b ang bn. Sau , nu chng ta hon v qu trnh P1 ra v hon v P2 vo th thao tc nhp/xut c th c gng s dng b nh hin thuc v qu trnh P2. Hai gii php ch yu cho qu trnh ny l khng bao gi hon v qu trnh ang ch nhp/xut hay thc thi cc thao tc nhp/xut ch trong vng m ca h iu hnh. Chuyn gia cc vng m ca h iu hnh v b nh qu trnh th ch xy ra khi qu trnh c hon v vo.

V Cp pht b nh lin tc
B nh chnh phi cung cp cho c h iu hnh v cc qu trnh ngi dng khc nhau. Do , chng ta cn cp pht nhng phn khc nhau ca b nh chnh trong nhng cch hiu qu nht c th. Phn ny chng ta gii thch mt phng php thng dng, cp pht b nh lin tc. B nh thng c phn chia thnh hai phn khu, mt cho h iu hnh nh v v mt cho cc qu trnh ngi dng. Chng ta c th t h iu hnh b nh cao hay b nh thp. Yu t quan trng nh hng ti quyt nh ny l v tr ca vector ngt. V vector ngt thng trong b nh thp nn cc lp trnh vin thng cng t h iu hnh trong b nh thp. Do , trong gio trnh ny chng ta s tho lun ch trng hp h iu hnh nh v trong b nh thp. Pht trin ca trng hp khc l tng t. Chng ta thng mun nhiu qu trnh ngi dng nh v trong b nh ti cng thi im. Do , chng ta cn xem xt cch cp pht b nh trng ti nhng qu trnh trong hng i nhp ang ch c mang vo b nh. Trong cp pht b nh lin tc, mi qu trnh c cha trong mt phn b nh lin tc.

V.1

Bo v b nh

Trc khi tho lun cp pht b nh chng ta phi tho lun vn bo v b nh-bo v h iu hnh t qu trnh ngi dng, v bo v cc qu trnh t mt qu trnh khc. Chng ta c th cung cp bo v ny bng cch dng thanh ghi ti nh v.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 143

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Thanh ghi ti nh v cha gi tr a ch vt l nh nht; thanh ghi gii hn cha dy cc nh ch lun l (th d: ti nh v = 100040 v gii hn = 74600). Vi cc thanh ghi ti nh v v gii hn, mi a ch lun l phi t hn thanh ghi gii hn; MMU nh x a ch lun l ng bng cch cng gi tr trong thanh ghi ti nh v. a ch c ti nh v ny c gi ti b nh (nh hnh VII-5).

Hnh 0-5 H tr phn cng cho cc thanh ghi ti nh v v cc gii hn

Khi b nh thi CPU chn mt qu trnh thc thi, b phn pht np thanh ghi ti nh v v gii hn vi cc gi tr ng nh mt phn ca chuyn i ng cnh. V mi a ch c pht sinh bi CPU c kim tra da trn cc thanh ghi ny, chng ta c th bo v h iu hnh v cc chng trnh v d liu ngi dng khc t vic sa i bi qu trnh ang chy ny. C ch dng thanh ghi ti nh v cung cp mt cch hiu qu cho php kch thc h iu hnh thay i ng. Kh nng mm do ny c th mong mun trong nhiu trng hp. Th d, h iu hnh cha m v khng gian vng m cho trnh iu khin thit b. Nu mt trnh iu khin thit b (hay dch v h iu hnh khc) khng c dng ph bin, n khng mun gi m v d liu trong b nh, khi chng ta c th dng khng gian cho mc ch khc. Nhng m nh th thng c gi l m h iu hnh tm thi (transient operating system code); n n v i khi c yu cu. Do , dng m ny thay i kch thc ca h iu hnh trong khi thc thi chng trnh.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 144

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

V.2

H thng n chng

Trong phng php ny b nh c chia s cho h iu hnh v mt chng trnh duy nht ca ngi s dng. Ti mt thi im, mt phn ca b nh s do h iu hnh chim gi, phn cn li thuc v qu trnh ngi dng duy nht trong h thng (Hnh VII-6). Qu trnh ny c ton quyn s dng b nh dnh cho n. 0xFFF

User process

Operating system

Hnh 0-6 T chc b nh trong h thng n chng Khi b nh c t chc theo cch thc ny, ch c th x l mt chng trnh ti mt thi im. Quan st hot ng ca cc qu trnh, c th nhn thy rt nhiu tin trnh tri qua phn ln thi gian ch cc thao tc nhp/xut hon thnh. Trong sut thi gian ny, CPU trng thi ri. Trong trng hp nh th, h thng n chng khng cho php s dng hiu qu CPU. Ngoi ra, s n chng khng cho php nhiu ngi s dng lm vic ng thi theo c ch tng tc. nng cao hiu sut s dng CPU, cn cho php ch a chng m trong cc qu trnh chia s CPU vi nhau hot ng ng hnh.

V.3

H thng a chng vi phn khu c nh

Mt trong nhng phng php n gin nht cp pht b nh l chia b nh thnh nhng phn khu c kch thc c nh. Mi phn khu c th cha chnh xc mt qu trnh. Do , cp a chng c gii hn bi s lng phn khu. Trong phng php a phn khu, khi mt phn khu rnh, mt qu trnh c chn t hng i nhp v c np vo phn khu trng. Khi qu trnh kt thc, phn khu tr nn sn dng cho mt qu trnh khc. C hai tip cn t chc hng i: S dng nhiu hng i: mi phn khu s c mt hng i tng ng (hnh VII-7a). Khi mt qu trnh mi c to ra, n c a vo hng i ca phn khu c kch thc nh nht tho nhu cu cha n. Cch t chc ny c khuyt im trong trng hp cc hng i ca mt s phn khu trng trong khi cc hng i ca cc phn khu khc li y, buc cc qu trnh trong nhng hng i ny phi ch c cp pht b nh. S dng mt hng i: tt c cc qu trnh c t trong hng i duy nht (hnh VII-7b). Khi c mt phn khu trng, qu trnh u tin trong hng i c kch thc ph hp s c t vo phn khu v cho x l.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 145

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Partition 3 Partition 4

200K 600K

Partition 3 Partition 4

Partition 1 Operating system


a. S dng nhiu hng i

400K

Partition 1 Operating system

b. S dng mt hng i

Hnh 0-7 Cp pht phn khu c kch thc c nh Khi s dng gii thut ny ngi ta mun trnh s hao ph mt phn khu ln cho mt cng vic nh, nhng li xy ra bt bnh ng, bt li i vi cc cng vic nh. gii quyt ngi ta thm vo qui lut l mt cng vic s khng b b qua na nu n b b qua k ln qui nh. Mi ln mt cng vic b b qua n c nh du mt im. Khi t c s im qui nh, n s khng b b qua na, s c np vo v thc hin mc du c th trn mt phn khu ln hn. Phng php ny ban u c s dng bi h iu hnh IBM OS/360, n c gi l MFT (Multiprogramming with Fixed number of Tasks). Hin nay n khng cn s dng na.

V.4

H thng a chng vi phn khu ng

C ch ny l tng qut ca c ch phn khu c nh. N c dng ch yu trong mi trng x l theo l. Nhiu tng c trnh by y cng c th p dng ti mi trng chia thi m trong phn on thun c dng cho vic qun l b nh. H iu hnh gi mt bng hin th nhng phn no ca b nh l sn dng v phn no ang bn. Ban u, tt c b nh l sn dng cho qu trnh ngi dng, v c xem nh mt khi ln b nh sn dng hay mt l. Khi mt qu trnh n v cn b nh, chng ta tm kim mt l trng ln cho qu trnh ny. Nu chng ta tm thy, chng ta cp pht ch phn b nh nhiu bng lng c yu cu, phn cn li sn dng tho mn nhng yu cu tng lai (Hnh VII-8).

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 146

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Thi gian

C B A OS A OS B A OS

C B

C B

C E

D OS OS

D OS

D OS

Hnh VIII-8 Cp pht cc phn khu c kch thc thay i Khi cc qu trnh i vo h thng, chng c t vo hng i nhp. H iu hnh xem xt yu cu b nh ca mi qu trnh v lng khng gian b nh sn c xc nh cc qu trnh no c cp pht b nh. Khi mt qu trnh c cp khng gian, n c np vo b nh v sau n c th cnh tranh CPU. Khi mt qu trnh kt thc, n gii phng b nh ca n, sau h iu hnh c th t mt qu trnh khc t hng i nhp. Ti bt c thi im c cho, chng ta c mt danh sch kch thc khi trng v hng i nhp. H iu hnh c th xp hng i nhp da theo gii thut nh thi. B nh c cp pht ti qu trnh cho n khi cc yu cu b nh ca qu trnh k tip khng th c tho; khng c khi b nh trng (hay l) ln qun l qu trnh . Sau , h iu hnh c th ch cho n khi khi ln sn dng hay n c th di chuyn xung hng i nhp xem cc yu cu b nh nh hn ca cc qu trnh khc c th c tho hay khng. Thng thng, mt tp hp cc l c kch thc khc nhau c phn tn khp b nh ti bt c thi im c cho. Khi mt qu trnh n v yu cu b nh, h thng tm tp hp ny mt l trng ln cho qu trnh ny. Nu l trng qu ln, n c chia lm hai: mt phn c cp ti qu trnh n; phn cn li c tr v tp hp cc l. Nu l mi nm k vi cc l khc, cc l nm k ny c gom li to thnh mt l ln hn. Ti thi im ny, h thng cn kim tra c qu trnh no ang ch b nh v b nh trng mi hay b nh va c kt hp li c th tho yu cu ca bt c qu trnh ang ch ny khng. Th tc ny l mt trng hp c bit ca vn cp pht lu tr ng l lm cch no tho mn mt yu cu c kch thc n t danh sch l trng. C hai gii php ch yu cho vn ny. 1) Qun l bng bn bit: b nh c chia thnh cc n v cp pht, mi n v c nh x ti mt bit trong bn bit (Hnh VII-9). Gi tr bit ny xc nh trng thi ca n v b nh : 0 ang t do, 1 c cp pht. Khi cn np mt qu trnh c kch thc k n v, h thng s tm trong bn bit mt dy k bit c gi tr 0. Kch thc ca n v cp pht l vn ln trong thit k. Nu kch thc n v cp pht nh s lm tng kch thc ca bn bit. Ngc l, nu kch thc n

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 147

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

v cp pht ln c th gy hao ph cho n v cp pht sau cng. y l gii php n gin nhng thc hin chm nn t c dng.
A B C a) D E

B nh c 5 qu trnh v 3 l trng

11111000 11111111 11001111 11111000

b)

Bn bit tng ng

Hnh 0-9 Qun l b nh bng bn bit 2) Qun l bng danh sch lin kt: dng mt danh sch lin kt qun l cc phn on b nh cp pht v phn on t do, mt phn on c th l mt qu trnh hay mt vng nh trng gia hai qu trnh. Danh sch lin kt gm nhiu mc t lin tip. Mi mc t gm 1 bit u xc nh phn on l l trng (H) hay mt qu trnh (P), sau l 3 t ch a ch bt u, chiu di v ch im ti mc k tip. Vic sp xp cc phn on theo a ch hay theo kch thc tu thuc vo gii thut qun l b nh. S qun l bng danh sch lin kt tng ng vi s qun l bng bn bit c minh ho trong hnh VII-10. 3)

Hnh 0-10 Qun l b nh bng danh sch lin kt Tp hp cc l trng c tm thy xc nh l no l tt nht cp pht. Cc chin lc first-fit, best-fit, worst-fit l nhng chin lc ph bin nht c dng chn mt l trng t tp hp cc l trng. First-fit: cp pht l trng u tin ln. Tm kim c th bt u ti u tp hp cc l trng hay ti im kt thc ca tm kim first-fit trc . Chng ta dng tm kim ngay khi chng ta tm thy mt l trng ln. Best-fit: cp pht l trng nh nht ln. Chng ta phi tm ton b danh sch, tr khi danh sch c xp th t theo kch thc. Chin lc ny to ra l trng nh nht cn tha li.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 148

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Worst-fit: cp pht l trng ln nht. Chng ta phi tm ton danh sch tr khi n c xp theo th t kch thc. Chin lc ny to ra l trng cn li ln nht m c th c ch hn l trng nh t tip cn best-fit. Cc m phng hin th rng c first-fit v best-fit l tt hn worst-fit v vic gim thi gian v s dng lu tr. Gia first-fit v best-fit khng th xc nh r chin lc no tt hn v s dng lu tr, nhng first-fit c tc nhanh hn. Tuy nhin, cc gii thut ny gp phi vn phn mnh ngoi (external fragmentation). Khi cc qu trnh c np v c xo khi b nh, khng gian b nh trng b phn r thnh nhng mnh nh. Phn mnh ngoi tn ti khi tng khng gian b nh tho mn mt yu cu, nhng n khng lin tc; vng lu tr b phn mnh thnh mt s lng ln cc l nh. Vn phn mnh ny c th rt ln. Trong trng hp xu nht, chng c th c mt khi b nh trng nm gia mi hai qu trnh. Nu tt c b nh ny nm trong mt khi trng ln, chng ta c th chy nhiu qu trnh hn. Chn la first-fit so vi best-fit c th nh hng ti lng phn mnh. (Firstfit l tt hn i vi mt s h thng, ngc li best fit l tt hn cho mt s h thng khc). Mt yu t khc l phn cui ca khi trng no c cp pht. (phn cn d no-phn trn nh, hay phn di y?). Vn khng do gii thut no c dng m do phn mnh ngoi.

V.5

Qun l b nh vi h thng bn thn

Nh ta thy trong phn trc, vic qun l cc l hng trn nhng bng lit k c sp xp theo kch thc lm cho vic cp pht b nh rt nhanh, nhng li lm chm cho vic ngng cp pht bi v ta phi ch n cc lng ging. H thng bn thn (Buddy System) l mt gii thut qun l b nh tn dng thun li ca vic my tnh dng nhng s nh phn cho vic nh a ch tng tc kt hp nhng l hng st nhau khi mt qu trnh hon thnh hoc c hon v ra ngoi. Vi phng php ny, b qun l b nh s c mt bng lit k nhng khi cn t do c kch thc 1, 2, 4, 16...bytes n kch thc ca b nh, tc l c kch thc bng ly tha ca 2. Khi c mt qu trnh cn cp pht b nh, mt l hng c kch thc bng lu tha ca 2 cha qu trnh s c cp pht. Nu khng c l hng yu cu, cc l hng s c phn i cho n khi c c l hng cn thit. Khi mt qu trnh chm dt, cc l hng k nhau c kch thc bng nhau s c nhp li to thnh l hng ln hn. Do , gii thut ny c gi l h thng bn thn. Th du: vi b nh 1M, cn phi c 21 bng lit k nh th sp t 1 bytes (20) n 1 byte (220). Khi u ton b b nh cn t do v bng lit k 1M c mt mc t c nht cha ng mt l hng 1M, tt c cc bng lit k khc u rng. Cu hnh b nh lc khi u c ch ra trong hnh VII-11. Memory
0 128 K 256 K 384 K 512K 640 K 768 K 896 K 1M

Initially request 70 request 35 request 80 return A A A A 128 128 B B B 64 64 64 C C 256 256 128 128 512 512 512 512

1 Hole 3 3 3 4

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 149

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

request 60 return B return D return C

128 128

B 256

C C C

128 128 128 1024

512 512 512

4 4 3 1

64 D

Hnh 0-11H thng bn thn vi kch thc 1M By gi chng ta hy xem cch h thng buddy lm vic khi mt qu trnh 70K c hon v vo b nh trng 1M. Do nhng l hng ch c th c kch thc l ly tha ca 2, 128K s c yu cu, bi v chnh l ly tha nh nht ca 2 ln. Khng c khi 128K sn, cng khng c cc khi 256K v 512K. V vy khi 1M s c chia lm hai khi 512K, c gi l nhng bn thn; mt ti a ch 0 v mt ti a ch 512K. Sau khi ti a ch thp hn, chnh l khi ti 0 li c phn lm hai khi bn thn 256K, mt ti 0 v mt ti 256K. Ci thp hn ca chng li c phn lm hai khi 128K, v khi ti 0, nh du l A trong hnh c cp pht cho qu trnh. K n, mt qu trnh 35K c hon v vo. Khi ta cn khi 64K, nhng cng khng c sn, v th phi phn phi khi 128K thnh hai khi bn thn 64K, mt ti a ch 128K, mt ti 192K. Khi ti 128K c cp cho qu trnh, trong hnh l B. Yu cu th ba l 80K. By gi ta hy xem nhng g xy ra khi mt khi c tr li. Gi s ti thi im ny khi 128K (m ch dng c 70K) c t do. Khi khi 128K s c a vo bng t do. By gi cn mt khi 60K. Sau khi kim tra, khi 64K ti 192K c cp pht v n c nh du l C. By gi khi B c tr li. Ti thi im ny c hai khi 128K t do nhng chng khng c kt hp li. Ch rng ngay c khi khi 128K ti 0 c phn ra lm 2, khi ti 9 c dng v khi ti 84K cn t do, s kt hp cng khng xy ra. Khi D c tr li, s c s kt hp li thnh khi 256K ti 0. Cui cng, khi C c tr li, s c kt hp to thnh 1 l hng 1M nh ban u. H thng bn thn c s thun li so vi nhng gii thut cng sp xp theo kch thc ca khi. S thun li ny l khi c mt khi 2k bytes t do, b qun l b nh ch cn tm trong bng lit k l hng c kch thc 2k xem chng c kh nng kt hp c hay khng. Vi nhng gii thut khc m trong cho php cc khi b nh c phn chia mt cch ty , vic tm kim phi din ra trn tt c cc bng lit k. Do d, h thng bn thn lm vic nhanh hn. ng tic, n li cc k km hiu qu trong vic s dng b nh. Mt qu trnh 35K phi c cp pht n 64K, hao ph n 29K. S hao ph ny c gi l s phn mnh trong (internal fragmentation), bi v phn b nh hao ph nm bn trong on c cp pht. Cn trong cc phn trc ta thy nhng l hng gia cc on, nhng khng c s hao ph bn trong cc on, do kiu ny c coi l s phn mnh ngoi.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 150

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

V.6

Phn mnh

Phn mnh b nh c th l phn mnh trong hoc phn mnh ngoi. Xt c ch cp pht nhiu phn khu vi mt l trng c kch thc 18,464 bytes. Gi s rng qu trnh tip theo yu cu 18,462 bytes. Nu chng ta cp pht chnh xc khi c yu cu, chng ta li mt l trng c kch thc 2 bytes. Chi ph gi vt ca l ny s ln hn kch thc ca l trng. Tip cn thng thng l chia b nh vt l thnh nhng khi c kch thc c nh, v cp pht b nh da theo n v ca kch thc khi. Vi tip cn ny, b nh c cp pht ti mt qu trnh c th l ln hn mt cht so vi khi c yu cu. S chnh lnh gia hai s ny l phn mnh trong-b nh b phn mnh trong i vi mt phn khu th khng th c dng. Mt gii php i vi phn mnh ngoi l kt li thnh khi (compaction). Mc tiu l di chuyn ni dung b nh t tt c b nh trng vi nhau trong mt khi ln. Kt khi khng phi lun thc hin c. Nu vic ti nh v l tnh v c thc hin ti thi im hp dch v np th vic kt khi l khng th thc hin c. Kt khi ch c th thc hin c ch nu ti nh v l ng v c thc hin ti thi im thc thi. Nu a ch c ti nh v ng, ti nh v yu cu ch di chuyn chng trnh v d liu, sau thay i thanh ghi nn phn nh a ch nn mi. Khi kt khi l c th, chng ta phi xc nh chi ph ca n. Gii thut kt khi n gin nht l di chuyn tt c qu trnh ti cui b nh; tt c l trng di chuyn theo hng ngc li, to ra mt l trng ln ca b nh sn dng. C ch ny c th t. Mt gii php khc cho vn phn mnh ngoi l cho php khng gian a ch lun l ca mt qu trnh l khng lin tc, do cho php mt qu trnh c cp pht b nh vt l bt c u sau khi sn dng. Hai k thut b tr t gii php ny l phn trang v phn on.

VI Cp pht khng lin tc


VI.1 Phn trang
Phn trang l c ch qun l b nh cho php khng gian a ch vt l ca qu trnh l khng k nhau. Phn trang trnh vn t va kht nhm b nh c kch thc thay i vo vng lu tr ph (backing store) m hu ht cc c ch qun l b nh trc gp phi. Khi phn on m v d liu nm trong b nh c hon v ra, khng gian phi c tm thy trn vng lu tr ph. Vn phn mnh c tho lun trong s kt ni vi b nh chnh cng thng dng nh vi vng lu tr ph, ngoi tr truy xut thp hn nhiu, v th kt khi l khng th. V li im ca n so vi cc phng php trc nn phn trang trong nhng dng khc nhau c dng ph bin trong hu ht cc h iu hnh. V truyn thng, h tr phn trang c qun l bi phn cng. Tuy nhin, nhng thit k gn y ci t phn trang bng cch tch hp cht ch phn cng v h iu hnh, c bit trn cc b vi x l 64-bit.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 151

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

VI.1.1 Phng php c bn

Hnh 0-12 Phn cng phn trang

B nh vt l c chia thnh cc khi c kch thc c nh c gi l cc khung (frames). B nh lun l cng c chia thnh cc khi c cng kch thc c gi l cc trang (pages). Khi mt qu trnh c thc thi, cc trang ca n c np vo cc khung b nh sn dng t vng lu tr ph. Vng lu tr ph c chia thnh cc khi c kch thc c nh v c cng kch thc nh cc khung b nh. H tr phn cng cho phn trang c hin th trong hnh VII-12. Mi a ch c to ra bi CPU c chia thnh hai phn: s trang (p) v di trang (d). S trang c dng nh ch mc vo bng trang. Bng trang cha a ch nn ca mi trang trong b nh vt l. a ch nn ny c kt hp vi di trang nh ngha a ch b nh vt l m n c gi n n v b nh. M hnh phn trang b nh c hin th nh hnh VII-13. Kch thc trang (ging nh kch thc khung) c nh ngha bi phn cng. Kch thc ca mt trang in hnh l lu tha ca 2, t 512 bytes n 16MB trn trang, ph thuc vo kin trc my tnh. Chn lu tha 2 cho kch thc trang thc hin vic dch a ch lun l thnh s trang v di trang rt d dng. Nu kch thc khng gian a ch l 2m, v kch thc trang l 2n n v a ch (byte hay t) th m-n bits cao ca a ch lun l ch s trang, n bits thp ch di trang. Do , a ch lun l nh sau: S trang P m n di trang D N

y p l ch mc trong bng trang v d l di trong trang.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 152

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Hnh 0-13 M hnh phn trang ca b nh lun l v vt l

Th d: xt b nh trong hnh VII-14. S dng kch thc trang 4 bytes v b nh vt l 32 bytes (c 8 trang), chng ta hin th cch nhn b nh ca ngi dng c th c nh x ti b nh vt l nh th no. a ch lun l 0 l trang 0, di 0. Ch mc trong bng trang, chng ta thy rng trang 0 trong khung 5. Do , a ch lun l 0 nh x ti a ch vt l 20 (=(5x4)+0). a ch lun l 3 (trang 0, di 3) nh x ti a ch vt l 23 (=(5x4)+3). a ch lun l 4 trang 1, di 0; da theo bng trang, trang 1 c nh x ti khung 6. Do , a ch lun l 4 nh x ti a ch 24(=(6x4)+0). a ch lun l 13 nh x ti a ch vt l 9. C th ch rng phn trang l mt dng ca ti nh v ng. Mi a ch lun l c gii hn bi phn cng phn trang ti a ch vt l. S dng phn trang tng t s dng mt bng cc thanh ghi nn (hay ti nh v), mt thanh ghi cho mi khung b nh. Khi chng ta s dng mt c ch phn trang, chng ta khng c phn mnh bn ngoi: bt k khung trng c th c cp pht ti mt qu trnh cn n. Tuy nhin, chng ta c th c phn mnh trong. Ch rng cc khung c cp pht nh cc n v. Nu cc yu cu b nh ca mt qu trnh khng xy ra ri trn gii hn ca trang, th khung cui cng c cp pht c th khng y hon ton. Th d, nu cc trang l 2048 bytes, mt qu trnh 72,766 bytes s cn 35 trang cng vi 1086 bytes. N c cp pht 36 khung, do phn mnh trong l 2048 - 1086 = 962 bytes. Trong trng hp xu nht, mt qu trnh cn n trang cng vi 1 byte. N s c cp pht n+1 khung, dn n phn mnh trong gn nh ton b khung. Nu kch thc qu trnh c lp vi kch thc ca trang, th chng ta mong mun phn mnh trong trung bnh l trang trn mt qu trnh. Xem xt ny ngh rng kch thc trang nh l mong mun. Tuy nhin, chi ph lin quan ti mi mc t bng trang v chi ph ny gim khi kch thc trang tng. V th nhp/xut a l hiu qu hn khi s lng d liu c truyn ln hn. Thng th kch thc trang ln ln theo thi gian khi cc qu trnh, tp hp d liu, b nh chnh tr nn ln hn. Ngy nay, cc trang in hnh nm trong khong 4 KB ti 8 KB, v mt s h thng h tr kch thc trang ln hn. CPU v nhn thm ch h tr nhiu kch thc khc
Bin son: Th.s Nguyn Ph Trng - 09/2005 Trang 153

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

nhau. Th d, Solaris dng 8 KB v 4 MB kch thc trang, ph thuc d liu c lu bi trang. Hin nay, cc nh nghin cu ang pht trin vic h tr kch thc trang khc nhau. Mi mc t bng trang thng di 4 bytes, nhng kch thc c th thay i. Mt mc t 32-bit c th ch ti mt khung trang vt l 232. Nu mt khung l 4 KB, th h thng vi nhng mc t 4 bytes c th nh a ch cho 244 bytes (hay 16 TB) b nh vt l. Khi mt qu trnh i vo h thng c thc thi, kch thc ca n, c din t trong cc trang, c xem xt. Mi trang ca qu trnh cn trn mt khung. Do , nu qu trnh yu cu n trang, t nht n khung phi sn dng trong b nh. Nu n khung l sn dng, chng c cp pht ti qu trnh ang i vo ny. Trang u tin ca qu trnh c np vo mt trong nhng khung c cp pht, v s khung c t vo trong bng trang cho qu trnh ny. Trang k tip c np vo mt khung khc, v s khung ca n c t vo trong bng trang, (hnh VII-15).

Hnh 0-14 Th d phn trang cho b nh 32 bytes vi cc trang c kch thc 4 bytes

Mt kha cnh quan trng ca phn trang l s phn chia r rng gia tm nhn b nh ca ngi dng v b nh vt l tht s. Chng trnh ngi dng nhn b nh nh mt khng gian lin tc, cha ch mt chng trnh. S tht, chng trnh ngi dng c phn b khp b nh vt l m n cng qun l cc qu trnh khc. S khc nhau gia tm nhn b nh ca ngi dng v b nh vt l tht s c lm cho tng thch bi phn cng dch a ch. a ch lun l c dch thnh a ch vt l. nh x ny c che giu t ngi dng v c iu khin bi h iu hnh. Ch rng nh nh ngha, qu trnh ngi dng khng th truy xut b nh m n

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 154

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

khng s hu. Khng c cch nh a ch b nh bn ngoi bng trang ca n v bng cha ch nhng trang m qu trnh s hu. V h iu hnh ang qun l b nh vt l nn n phi hiu nhng chi tit cp pht b nh vt l; khung no c cp pht, khung no cn trng, tng khung hin c l bao nhiu,Thng tin ny c gi trong mt cu trc d liu c gi l bng khung. Bng khung ch c mt mc t cho mi khung trang vt l, hin th khung trang ang rnh hay c cp pht. Nu khung trang c cp pht, th xc nh trang no ca qu trnh no c cp.

Hnh 0-15 cc khung trng. (a) trc khi cp pht. (b) sau khi cp pht

Ngoi ra, h iu hnh phi bit rng qu trnh ngi dng hot ng trong khng gian ngi dng, v tt c a ch lun l phi c nh x pht sinh a ch vt l. Nu ngi dng thc hin li gi h thng (th d: thc hin nhp/xut) v cung cp a ch nh mt tham s (th d: vng m), a ch phi c nh x sinh ra a ch vt l ng. H iu hnh duy tr mt bn sao ca bng trang cho mi qu trnh, nh n duy tr bn sao ca b m ch th lnh v ni dung thanh ghi. Bn sao ny c dng dch a ch lun l thnh a ch vt l bt c khi no h iu hnh phi nh x a ch lun l ti a ch vt l dng th cng. N cng c dng bi b phn pht CPU a ch bng trang phn cng khi mt qu trnh c cp pht CPU. Do , trang gia tng thi gian chuyn i ng cnh.

VI.1.2 H tr phn cng


Mi h iu hnh c phng php ring lu tr cc bng trang. Hu ht u cp pht mt bng trang cho mi qu trnh. Mt con tr ch ti mt bng trang c lu tr vi nhng gi tr thanh ghi thanh ghi khc nhau (ging nh b m ch th lnh) trong khi iu khin qu trnh. Khi b phn pht c yu cu bt u mt qu trnh, n phi np li cc thanh ghi ngi dng v nh ngha cc gi tr bng trang phn cng ph hp t bng trang ngi dng c lu tr.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 155

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Ci t phn cng ca bng trang c th c thc hin trong nhiu cch. Cch n gin nht, bng trang c ci t nh tp hp cc thanh ghi tn hin. Cc thanh ghi ny nn c xy dng vi tnh logic tc rt cao thc hin vic dch a ch trang hiu qu. Mi truy xut ti b nh phi kim tra k lng bng trang, v vy tnh hiu qu l vn xem xt ch yu. B phn pht CPU np li cc thanh ghi ny ch khi n np li cc thanh ghi khc. D nhin, cc ch th np hay hiu chnh cc thanh ghi bng trang phi c cp quyn m ch h iu hnh c th thay i bn b nh. DEC PDP-11 l mt th d v kin trc nh th. a ch cha 16 bits, v kch thc trang l 8 KB. Do , bng trang cha 8 mc t m chng c gi trong cc thanh ghi nhanh. S dng cc thanh ghi cho bng trang ch ph hp nu bng trang c kch thc nh (th d: 256 mc t). Tuy nhin, hu ht cc my tnh tng thi cho php bng trang rt ln (th d, 1 triu mc t). i vi nhng my ny, vic s dng cc thanh ghi nhanh ci t bng trang l khng kh thi. Hay ng hn l, bng trang c gi trong b nh chnh, v thanh ghi nn bng trang (page-table base registerPTBR) ch ti thanh ghi bng trang. Thay i cc bng trang yu cu thay i ch mt thanh ghi, v cn bn ct gim thi gian chuyn ng cnh. Vn vi tip cn ny l thi gian c yu cu truy xut v tr b nh ngi dng. Nu chng ta mun truy xut v tr i, u tin chng ta phi xc nh ch mc trong bng trang, s dng gi tr trong di PTBR bi s trang cho i. Tc v ny yu cu mt truy xut b nh. N cung cp chng ta s khung c ni kt vi di trang sinh ra a ch thc. Sau , chng ta c th truy xut ti ni c mong mun trong b nh. Vi c ch ny, hai truy xut b nh c yu cu truy xut mt byte (mt cho mc t bng trang, mt cho byte ). Do , truy xut b nh b chm bi mt trong hai yu t . S tr hon ny khng th chp nhn di hu ht trng hp v th chng ta phi s dng n hon v! Gii php chun cho vn ny l dng b lu tr (cache) phn cng c bit, nh, tm kim nhanh c gi l translation look-aside buffer (TLB). TLB l b nh kt hp tc cao. Mi mc t trong TLB cha hai phn: mt kho (key) v mt gi tr (value). Khi b nh kt hp c biu din vi mt thnh phn, n c so snh vi tt c kho cng mt lc. Nu thnh phn c tm thy, trng gi tr tng ng c tr v. Tm kim nhanh nhng phn cng t. in hnh, s lng mc t trong TLB nh, thng t 64 n 1024. TLB c dng vi cc bng trang trong cch sau. TLB cha ch mt vi mc t bng trang. Khi mt a ch lun l c pht sinh bi CPU, s trang ca n c hin din trong TLB. Nu s trang c tm thy, khung ca n lp tc sn dng v c dng truy xut b nh. Ton b tc v c th mt t hn 10% thi gian nu dng tham chiu b nh khng c nh x. Nu s trang khng trong TLB (cn gi l mt TLB), tham chiu b nh ti bng trang phi c thc hin. Khi s khung t c, chng ta c th dng n truy xut b nh (nh hnh VII-16). Ngoi ra, chng ta thm s trang v s khung ti TLB m chng c th c tm thy nhanh trn tham chiu tip theo. Nu mt TLB y cc mc t, h iu hnh phi chn mt mc t thay th. Cc chnh sch thay th rt a dng t t c s dng gn y nht (least recently used-LRU) ti chn ngu nhin. Ngoi ra, mt s TLB cho php cc mc t c wired down. Ngha l, chng khng th c xo khi TLB. in hnh, cc mc t cho nhn thng c wired down. Mt s TLB lu tr cc nh danh khng gian a ch (address-space identifersASID) trong mi mc t ca TLB. Mt ASID nh danh duy nht mi qu trnh v c dng cung cp vic bo v khng gian a ch cho qu trnh . Khi TLB c

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 156

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

gng phn gii cc s trang o, n m bo ASID cho mi qu trnh hin ang chy trng khp vi ASID c ni kt vi trang o. Nu cc ASID khng khp, chng c xem nh mt TLB. Ngoi ra, cung cp vic bo v khng gian a ch, mt ASID cho php TLB cha cc mc t cho nhiu qu trnh khc nhau cng mt lc. Nu TLB khng h tr cc ASID ring th mi ln mt bng trang c chn (th d, mi chuyn ng cnh), mt TLB phi c y (hay c xo) m bo rng cc qu trnh ang thc thi tip theo khng s dng thng tin dch sai. Ngc li, c nhng mc t c trong TLB cha cc a ch o nhng c cc a ch khng ng hay khng hp l li t qu trnh trc.

Hnh 0-16 phn cng phn trang vi TBL

Phn trm thi gian m s trang xc nh c tm thy trong TLB c gi l t l chp (hit ratio). T l chp 80% c ngha l chng ta tm s trang mong mun trong TLB 80% thi gian. Nu mt 20 nano giy tm TLB v 100 nano giy truy xut b nh, th mt truy xut b nh c nh x mt 120 nano giy khi s trang trong TLB. Nu chng ta khng tm s trang trong TLB (20 nano giy) th trc ht chng ta phi truy xut b nh cho bng trang v s khung (100 nano giy), th sau truy xut byte mong mun trong b nh (100 nano giy), tng thi gian l 220 nano giy. tm thi gian truy xut b nh hiu qu, chng ta phi o mi trng hp vi xc sut ca n: Thi gian truy xut hiu qu = 0.80 x 120 + 0.2 x 220 = 140 nano giy Trong th d ny, chng ta gp phi 40% chm li trong thi gian truy xut b nh (t 100 ti 140 nano giy). i vi mt t l chm 98%, chng ta c: Thi gian truy xut hiu qu = 0.98 x 120 + 0.02 x 220 = 122 nano giy

T l chp c tng ny ch to ra 22% chm li trong thi gian truy xut.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 157

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

VI.1.3 S bo v
Bo v b nh trong mi trng phn trang c thc hin bi cc bit bo v gn lin vi mi khung. Thng thng, cc bit ny c gi trong bng trang. Mt bit c th nh ngha mt trang c-vit hay ch c. Mi tham chiu ti b nh s tm khp bng trang xc nh s khung tng ng. Ti cng thi im a ch vt l c tnh , cc bit bo v c th c kim tra thm nh rng khng c thao tc vit no ang c thc hin ti trang ch c. C gng vit ti mt trang ch c gy ra mt trap phn cng ti h iu hnh (hay xung t b nh bo v). Chng ta c th d dng m rng tip cn ny cung cp mt cp bo v chi tit hn. Chng ta c th to phn cng cung cp bo v ch c, c vit, ch thc thi. Hay bng cch cung cp cc bit bo v ring cho mi loi truy xut, chng ta c th cho php bt c kt hp ca cc truy xut ny; cc c gng khng hp l s c trap ti h iu hnh. Mt bit na thng c gn ti mi mc t trong bng trang: mt bit hp lkhng hp l. Khi bit ny c t l hp l th gi tr ny hin th rng trang c gn trong khng gian a ch lun l b nh l trang hp l. Nu bit ny c t l khng hp l, gi tr ny hin th trang khng trong khng gian a ch lun l ca qu trnh. Cc a ch khng hp l c trap bng cch s dng bit hp l-khng hp l. H iu hnh thit lp bit ny cho mi trang cho php hay khng cho php truy xut ti trang ny. Th d, trong mt h thng vi khng gian a ch 14 bit (0 ti 16383), chng ta c th c mt chng trnh s dng ch a ch 0 ti 10468. Cho kch thc trang 2KB, chng ta xem trng hp trong hnh VII-17. a ch trong cc trang 0, 1, 2, 3, 4, v 5 thng c nh x khp bng trang. Tuy nhin, bt c nhng n lc to ra mt a ch trong trang 6 hay 7 nhn thy rng bit hp l-khng hp l c t l khng hp l v my tnh s trap ti h iu hnh (tham chiu trang khng hp l). V chng trnh m rng ch ti a ch 10468, bt c tham chiu vt ra ngoi a ch l khng hp l. Tuy nhin, cc tham chiu ti trang 5 c xem l hp l v th nhng a ch ti 12287 l hp l. Ch nhng a ch t 12288 ti 16383 l khng hp l. Vn ny l do kch thc trang 2KB v phn nh phn mnh trong ca vic phn trang. Rt him khi mt qu trnh dng tt c dy a ch ca n. Tht vy, nhiu qu trnh dng ch mt phn nh khng gian a ch cn trng cho chng. N s lng ph rt nhiu trong nhng trng hp ny to mt bng trang vi cc mc t cho mi trang trong dy a ch. Hu ht bng ny s khng c dng nhng s mang n khng gian b nh c gi tr. Mt s h thng cung cp phn cng, trong dng mt thanh ghi c chiu di bng trang (page-table length register-PTLR) hin th kch thc ca bng trang. Gi tr ny c kim tra da trn mi a ch lun l thm nh a ch nm trong dy a ch hp l cho qu trnh. Li ca vic kim tra ny gy ra mt trap li ti h iu hnh.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 158

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Hnh 0-17 Bit hp l (v) v khng hp l (i) trong mt bng trang

VI.1.4 Cu trc bng trang


Trong phn ny chng ta s xem xt mt s k thut thng dng nht xy dng cu trc bng trang.

.VI.1.4.1 Bng trang phn cp


Hu ht cc h thng my tnh hin i h tr mt khng gian a ch lun l ln (232 ti 264). Trong mi trng nh th, bng trang tr nn qu ln. Th d, xt mt h thng vi khng gian a ch lun l 32 bit. Nu kch thc trang 4KB th bng trang c th cha ti 1 triu mc t (232/212). Gi s rng mi mc t cha 4 bytes, mi qu trnh c th cn ti 4MB khng gian a ch vt l cho mt bng trang. R rng, chng ta s khng mun cp pht bng trang lin tip nhau. Mt gii php n gin cho vn ny l chia bng trang thnh nhng phn nh hn. C nhiu cch t c s phn chia ny. Mt cch l dng gii thut phn trang hai cp, trong bng trang cng c phn trang nh hnh VII-18. y l th d cho my 32 bit vi kch thc trang 4KB. a ch lun l c chia thnh s trang cha 20 bit v di trang cha 12 bit. V chng ta phn trang bng trang, s trang c chia thnh s trang 10 bit v di trang 10-bit. Do , mt a ch lun l nh sau: S trang P1 10 P2 10 di trang d 12

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 159

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Hnh 0-18 C ch bng trang hai cp

y p1 l ch mc trong bng trang bn ngoi v p2 l di trong trang ca bng trang bn ngoi. Phng php dch a ch cho kin trc ny c hin th trong hnh VII-19. V dch a ch thc hin t nhng phn trong bng trang bn ngoi, c ch ny cng c gi l bng trang c nh x chuyn tip (forward-mapped page table). Petium-II s dng kin trc ny. Kin trc VAX cng h tr mt bin dng ca phn trang hai cp. VAX l my 32-bit vi kch thc trang 512 bytes. Khng gian a ch lun l ca mt qu trnh c chia lm 4 phn bng nhau, mi phn cha 230 bytes. Mi phn biu din mt phn khc nhau ca khng gian a ch lun l ca mt qu trnh. Hai bit cao u tin ca a ch lun l ch r phn tng ng. 21 bits tip theo biu din s trang lun l ca phn , v 9 bits cui biu din di trong trang mong mun. Bng cch chia bng trang nh th, h iu hnh c th nhng phn khu khng c dng cho ti khi mt qu trnh yu cu chng. Mt a ch trn kin trc VAX nh sau: Phn S 2 trang. Trang P 21 di D 9

y s ch r s phn, p l ch mc trong bng trang v d l di trong

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 160

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Kch thc ca bng trang cp mt cho mt qu trnh VAX dng mt phn vn l 221 bits * 4 bytes/trang = 8 MB. vic s dng b nh chnh b gim nhiu hn, VAX phn trang cc bng trang qu trnh ngi dng. i vi cc h thng c khng gian a ch lun l 64 bits, c ch phn trang hai cp khng cn ph hp na. th hin im ny, chng ta gi s rng kch thc trang trong h thng l 4 KB (212). Trong trng hp ny, bng trang s cha ti 252 mc t. Nu chng ta dng c ch phn trang hai cp th cc bng bn trong c th l mt trang di cha 210 mc t. Cc a ch s nh th ny:

Hnh 0-19 Dch a ch cho kin trc phn trang hai cp 32-bit

Trang bn ngoi P1 42

Trang bn trong P2 10

di D 12

Bng trang bn ngoi s cha 242 mc t, hay 244 bytes. Cc phng php c ch trng trnh trang ln l chia bng trang bn ngoi thnh nhng phn nh hn. Tip cn ny cng c dng trn mt vi b x l 32-bit thm kh nng mm do v hiu qu. Chng ta c th chia bng trang bn ngoi thnh c ch phn trang 3 cp. Gi s rng bng trang bn ngoi c to ra t cc trang c kch thc chun (210 mc t, hay 212 bytes); mt khng gian a ch 64 bit vn c kch thc rt ln: Trang bn ngoi cp 2 P1 32 Trang bn ngoi P2 10 Trang bn trong P3 10 di D 12

Bng trang bn ngoi vn ln 232. Bc tip theo s l c ch phn trang cp bn, y bng trang bn ngoi cp hai cng c phn trang. Kin trc SPARC (vi 32-bit nh a ch) h tr c ch phn trang cp ba, tri li kin trc Motorola 68030 32-bit h tr c ch phn trang bn cp. Tuy nhin, i vi kin trc 64-bit, cc bng trang phn cp thng c xem xt l khng ph hp. Th d, UltraSPARC 64-bit s yu cu phn trang by cp mt s truy xut b nh khng c php dch mi a ch lun l.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 161

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

.VI.1.4.2 Bng trang c bm


Mt tip cn thng thng cho vic qun l khng gian a ch ln hn 32-bit l dng bng trang c bm (hashed page table), vi gi tr bm l s trang o. Mi mc t trong bng trang cha mt danh sch lin kt ca cc phn t. Danh sch ny bm ti cng v tr ( qun l ng ). Mi phn t cha ba trng: (a) s trang o, (b) gi tr khung trang c nh x v con tr ch ti phn t k tip trong danh sch lin kt. Gii thut thc hin nh sau: s trang o trong a ch o c bm ti bng bm. S trang o c so snh ti trng (a) trong phn t u tin ca danh sch lin kt. Nu c phn t trng khp, khung trang tng ng (trng (b) c dng hnh thnh a ch vt l mong mun). Nu khng c phn t no trng khp, cc mc t tip theo trong danh sch lin kt c tm kim s trang o trng khp. C ch ny c hin th trong hnh VII-20 di y: Mt bin th i vi c ch ny cho khng gian a ch 64-bit c ngh. Bng trang c nhm (Clustered page tables) tng t nh bng bm ngoi tr mi mc t trong bng bm tham chiu ti nhiu trang (chng hn nh 16) hn l mt trang. Do , mc t bng trang n c th lu nhng nh x cho nhiu khung trang vt l. Bng trang c nhm c bit c ch cho khng gian a ch ri nhau (spare), cc tham chiu b nh l khng lin tc v tp hp khp khng gian b nh.

Hnh 0-20 Bng trang c bm

.VI.1.4.3 Bng trang o


Thng thng, mi qu trnh c mt trang gn lin vi n. Bng trang c mt mc t cho mi trang m qu trnh ang s dng (hay mt khe cho mi a ch o, khng ph thuc tnh hp l sau ). Biu din bng trang ny l biu din t nhin v tham chiu qu trnh phn trang thng qua cc a ch o ca trang. Sau , h iu hnh phi dch tham chiu ny vo mt a ch b nh vt l. V bng ny c sp xp bi a ch o, h iu hnh c th tnh ton ni trong bng m mc t a ch vt l c ni kt ti v s dng gi tr trc tip. Mt trong nhng kh khn ca phng php ny l mi bng trang c th cha hng triu mc t. Cc bng ny c
Bin son: Th.s Nguyn Ph Trng - 09/2005 Trang 162

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

th tiu tn lng ln b nh vt l, c yu cu ch gi vt ca b nh vt l khc ang c s dng nh th no. gii quyt vn ny chng ta c th s dng mt bng trang o (inverted page table). Bng trang o c mt mc t cho mi trang tht (hay khung) ca b nh. Mi mc t cha a ch o ca trang c lu trong v tr b nh tht , vi thng tin v qu trnh s hu trang . Do , ch mt bng trang trong h thng v n ch c mt mc t cho mi trang ca b nh vt l. Hnh VII-21 di y hin th hot ng ca bng trang o. So snh n vi hnh VII-6, m t hot ng ca mt bng trang chun. V ch mt bng trang trong h thng cn c nhiu khng gian a ch khc nh x b nh vt l, nn cc bng trang o thng yu cu mt nh danh khng gian a ch c lu trong mi mc t ca bng trang. Lu tr nh danh khng gian a ch m bo rng nh x ca trang lun l cho mt qu trnh xc nh ti khung trang vt l tng ng. Th d, h thng dng bng trang o gm UltraSPARC 64-bit v PowerPC.

Hnh 0-21 Bng trang o

hin th phng php ny, chng ta m t mt n bn c n gin ho ci t bng trang o dng trong IBM RT. Mi a ch o trong h thng cha b ba: <process-id, page-number, offset>. Mi mc t bng trang o l mt cp <process-id, page-number>, y process-id m bo vai tr nh danh khng gian a ch. Khi mt tham chiu b nh xy ra, mt phn ca a ch o, gm <process-id, page-number>, c hin din trong h thng b nh. Sau , bng trang o c tm kim s trng khp. Nu s trng khp c tm thy ti mc t i th a ch vt l <i, offset> c to ra. Nu khng tm thy th mt truy xut a ch khng hp l c c gng thc hin. Mc d c ch ny gim lng b nh c yu cu lu mi bng trang, nhng n gia tng lng thi gian cn cho vic tm kim bng khi c mt tham chiu

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 163

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

xy ra. V bng trang o c lu bi a ch vt l nhng tm kim xy ra trn a ch o, ton b bng trang c th cn c tm kim s trng khp. S tm kim ny c th mt thi gian qu di. lm gim vn ny, chng ta s dng mt bng bm c m t trong hnh di y gii hn vic tm kim. D nhin, mi truy xut ti bng bm thm mt tham chiu ti th tc, m mt tham chiu b nh o yu cu t nht hai thao tc c b nh tht: mt cho mc t bng bm v mt cho bng trang. ci tin nng lc thc hin, TLB c tm kim u tin, trc khi bng bm c tra cu.

VI.1.5 Trang c chia s


Mt thun li khc ca phn trang l kh nng chia s m chung. Vic xem xt ny c bit quan trng trong mi trng chia thi. Xt mt h thng h tr 40 ngi dng, mi ngi dng thc thi mt trnh son tho vn bn. Nu trnh son tho vn bn cha 150 KB m v 50 KB d liu, chng ta s cn 8000 KB h tr 40 ngi dng. Tuy nhin, nu m l m ti s dng (reentrant code), n c th c chia s nh c hin th trong hnh VII-22. y chng ta thy mt b son tho ba trangmi trang c kch thc 50 KB; kch thc trang ln c dng n gin ho hnh ny-ang c chia s gia ba qu trnh. Mi qu trnh c trang d liu ring ca n. M ti s dng (hay thun m-pure code) l m khng thay i bi chnh n. Nu m l ti s dng th n khng bao gi thay i trong qu trnh thc thi. Do , hai hay nhiu qu trnh c th thc thi cng m ti cng thi im. Mi qu trnh c bn sao thanh ghi ca chnh n v lu tr d liu qun l d liu cho vic thc thi ca qu trnh. D nhin, d liu cho hai qu trnh khc nhau s khc nhau cho mi qu trnh. Ch mt bn sao ca b son tho cn c gi trong b nh vt l. Mi bng trang ca ngi dng nh x ti cng bn sao vt l ca b son tho nhng cc trang d liu c nh x ti cc khung khc nhau. Do , h tr 40 ngi dng, chng ta cn ch mt bn sao ca b son tho (150 KB) cng vi 40 bn sao ca 50 KB khng gian d liu trn mt ngi dng. By gi ton b khng gian c yu cu l 2150 KB thay v 8000 KB-mt tit kim ln. Nhng chng trnh c dng nhiu khc cng c th c chia s - trnh bin dch, h thng ca s, th vin thi im thc thi, h c s d liu, c th chia s, m phi c ti s dng. Tnh t nhin ch c ca m c chia s s khng c ph mc cho tnh ng n ca m; h iu hnh nn tun theo thuc tnh ny. Chia s b nh gia cc qu trnh trn h iu hnh tng t chia s khng gian a ch ca mt tc v bi lung. Ngoi ra, b nh c chia s nh mt phng php giao tip lin qu trnh. Mt s h iu hnh ci t b nh c chia s dng cc trang c chia s. H iu hnh dng bng trang bn trong gp kh khn khi ci t b nh c chia s. B nh c chia s thng c ci t nh nhiu a ch o (mt a ch cho mi qu trnh chia s b nh) m chng c nh x ti mt a ch vt l. Tuy nhin, phng php chun ny khng th c dng khi c ch mt mc t trang o cho mi trang vt l v th mt trang vt l khng th c hai (hay nhiu) a ch o c chia s. T chc b nh da theo trang cung cp nhiu li im khc cho php nhiu qu trnh chia s cng trang vt l.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 164

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Hnh 0-22 chia s m trong mi trng phn trang

VI.2 Phn on
Mt kha cnh quan trng ca vic qun l b nh m tr nn khng th trnh vi phn trang l ngn cch tm nhn b nh ca ngi dng v b nh vt l tht s. Tm nhn b nh ca ngi dng khng ging nh b nh vt l. Tm nhn ngi dng c nh x vo b nh vt l. Vic nh x cho php s khc nhau gia b nh lun l v b nh vt l.

VI.2.1 Phng php c bn


Ngi dng ngh b nh nh mng tuyn tnh cc byte, mt s byte cha ch th lnh, mt s khc cha d liu hay khng? Hu ht mi ngi ni khng. ng hn l, ngi dng thch nhn b nh nh tp hp cc phn on c kch thc thay i, v khng cn xp th t gia cc phn on (nh hnh VII-23). Chng ta ngh nh th no v mt chng trnh khi chng ta ang vit n? Chng ta ngh n nh mt chng trnh chnh vi mt tp hp cc chng trnh con, th tc, hm, hay cc module. C th c cc cu trc d liu khc nhau: bng, mng, ngn xp, bin,..Mi module hay thnh phn d liu ny c tham chiu bi tn. Chng ta ni bng danh biu, hm sqrt, chng trnh chnh khng quan tm n a ch trong b nh m nhng phn t ny chim. Chng ta khng quan tm bng danh biu c lu tr trc hay sau hm sqrt. Mi phn on ny c chiu di thay i; thc cht chiu di c nh ngha bi mc ch ca phn on trong chng trnh. Cc phn t trong mt phn on c nh ngha bi di ca chng t im bt u ca phn on: lnh u tin ca chng trnh, mc t th mi by trong bng danh biu, ch th th nm ca hm sqrt,

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 165

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Hnh 0-23 Tm nhn chng trnh ca ngi dng

Phn on l mt c ch qun l b nh h tr tm nhn b nh ca ngi dng. Khng gian a ch lun l l tp hp cc phn on. Mi phn on c tn v chiu di. Cc a ch xc nh tn phn on v di trong phn on. Do , ngi dng xc nh mi a ch bng hai lng: tn phn on v di. (tng phn c ch ny vi c ch phn trang, trong ngi dng ch xc nh mt a ch n, c chia bi phn cng thnh s trang v di, tt c khng th nhn thy i vi ngi lp trnh). n gin vic ci t, cc phn on c nh s v c tham chiu ti bi s phn on, hn l bi tn phn on. Do , a ch lun l cha mt b hai: <s phn on, di> Thng thng, chng trnh ngi dng c bin dch, v trnh bin dch t ng to ra cc phn on phn nh chng trnh nhp. Mt chng trnh Pascal c th to cc phn on ring nh sau: 1) 2) 3) 4) Cc bin ton cc; Ngn xp gi th tc, lu tr cc tham s v tr v cc a ch; Phn m ca mi th tc hay hm; Cc bin cc b ca mi th tc v hm

Mt trnh bin dch c th to mt phn on ring cho mi khi chung. Cc mng c th c gn cc phn on ring. B np c th mang tt c phn on ny v gn chng s phn on.

VI.2.2 Phn cng


Mc d ngi dng c th tham chiu ti cc i tng trong chng trnh bi mt a ch hai chiu, b nh vt l l chui mt chiu cc byte. Do , chng ta phi xc nh vic ci t nh x a ch hai chiu c nh ngha bi ngi dng vo a ch vt l mt chiu. nh x ny c tc ng bi mt bng phn on. Mi mc t ca bng phn on c mt nn phn on (segment base) v gii hn phn on

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 166

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

(segment limit). Nn phn on cha a ch vt l bt u, ni phn on nh v trong b nh, ngc li gii hn phn on xc nh chiu di ca phn on. S dng bng phn on c hin th nh hnh VII-24. Mt a ch lun l c hai phn: s phn on s v di phn on d. S phn on c dng nh ch mc trong bng on. di d ca a ch lun l phi trong khong t 0 ti gii hn on. Nu khng chng ta s trap ti h iu hnh (a ch vt l vt qua im cui ca phn on). Nu di ny l hp l th n c cng thm gi tr nn ca phn on to ra a ch trong b nh vt l ca byte mong mun. Do , bng phn on l mt mng ca cp thanh ghi nn v gii hn.

Hnh 0-24 Phn cng phn on

Xt trng hp nh hnh VII-25. Chng ta c nm phn on c nh s t 0 n 4. Cc phn on c lu trong b nh vt l nh c hin th. Bng phn on c mt mc t ring cho mi phn on, cho a ch bt u ca phn on trong b nh vt l (hay nn) v chiu di ca phn on (hay gii hn). Th d, phn on 2 di 400 bytes v bt u ti v tr 4300. Do , mt tham chiu byte 53 ca phn on 2 c nh x ti v tr 4300 + 53 = 4353. Mt tham chiu ti phn on 3, byte 852, c nh x ti 3200 (gi tr nn ca phn on 3) +852=4052. Mt tham chiu ti byte 1222 ca phn on 0 dn n mt trap ti h iu hnh, khi phn on ny ch di 1000 bytes.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 167

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Hnh 0-25 Th d v phn on

VI.2.3 Bo v v chia s
Li im c bit ca phn on l s gn lin bo v vi cc phn on. V cc phn on biu din mt phn c nh ngha ca chng trnh, tng t nh tt c mc t trong phn on s c dng cng mt cch. Do , mt s phn on l ch th, trong khi mt s phn on khc l d liu. Trong mt kin trc hin i, cc ch th khng hiu chnh chnh n v th cc phn on ch th c th c nh ngha nh ch c hay ch thc thi. Phn cng nh x b nh s kim tra cc bits bo v c gn vi mi mc t trong bng phn on ngn chn cc truy xut khng hp l ti b nh, nh c gng vit ti phn on ch c hay s dng nhng phn on ch c nh d liu. Bng cch thay th mt mng trong phn on ca chnh n, phn cng qun l b nh s t ng kim tra cc ch s ca mng l hp l v khng vt ra ngoi gii hn ca mng. Do , nhiu li chng trnh s c pht hin bi phn cng trc khi chng c th gy ra tc hi ln. Mt li im khc lin quan n chia s m hay d liu. Mi qu trnh c mt bng phn on gn vi n. B phn pht dng bng phn on ny nh ngha phn on phn cng khi mt qu trnh c cp CPU. Cc phn on c chia s khi cc mc t trong bng phn on ca hai qu trnh khc nhau ch ti cng mt v tr vt l (nh hnh VII-26).

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 168

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Hnh 0-26 Chia s cc phn on trong mt h thng b nh c phn on

Chia s xy ra ti cp phn on. Do , bt c thng tin c th c chia s nu n c nh ngha l mt phn on. Mt s phn on c th c chia s v th mt chng trnh c hnh thnh t nhiu phn on c th c chia s. Th d, xt vic s dng mt trnh son tho vn bn trong h thng chia thi. Trnh son tho hon chnh c th rt ln, c hnh thnh t nhiu phn on c th c chia s gia tt c ngi dng, gii hn a ch vt l c yu cu h tr cc tc v son tho. Thay v n bn sao ca trnh son tho, chng ta ch cn mt bn sao. i vi mi ngi dng, chng ta vn cn cc phn on ring, duy nht lu cc bin cc b. D nhin, cc phn on ny s khng c chia s. Chng ta cng c th chia s mt s phn chng trnh. Th d, cc gi chng trnh con dng chung c th c chia s gia nhiu ngi dng nu chng c nh ngha nh cc phn on chia s, ch c. Th d, hai chng trnh Fortran c th dng cng hm Sqrt, nhng ch mt bn sao vt l ca hm Sqrt c yu cu. Mc d vic chia s ny c v n gin, nhng c nhng xem xt tinh t. in hnh, phn on m cha cc tham chiu ti chnh n. Th d, mt lnh nhy (jump) c iu kin thng c mt a ch chuyn gm s phn on v di. S phn on ca a ch chuyn s l s phn on ca phn on m. Nu chng ta c gng chia s phn on ny, tt c qu trnh chia s phi nh ngha phn on m c chia s c cng s phn on. Th d, nu chng ta mun chia s hm Sqrt v mt qu trnh mun thc hin n phn on 4 v mt qu trnh khc mun thc hin n phn on 17, hm Sqrt nn tham chiu ti chnh n nh th no? V ch c mt bn sao vt l ca Sqrt, n phi c tham chiu ti chnh n trong cng cch cho c hai ngi dng-n phi c mt

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 169

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

s phn on duy nht. Khi s ngi dng chia s tng do kh khn trong vic tm s phn on c th chp nhn cng tng. Cc phn on ch c khng cha con tr vt l c th c chia s nh s phn on khc nhau, nh cc phn on m tham chiu chnh n khng trc tip. Th d, cc nhnh iu kin xc nh a ch nhnh nh mt di t b m chng trnh hin hnh hay quan h ti thanh ghi cha s phn on hin hnh nn cho php m trnh tham chiu trc tip ti s phn on hin hnh.

VI.2.4 S phn mnh


B nh thi biu di phi tm v cp pht b nh cho tt c cc phn on ca chng trnh ngi dng. Trng hp ny tng t nh phn trang ngoi tr cc phn on c chiu di thay i; cc trang c cng kch thc. Do , vi c ch phn khu c kch thc thay i, cp pht b nh l mt vn cp pht lu tr ng, thng gii quyt vi gii thut best-fit hay first-fit. Phn on c th gy ra s phn mnh, khi tt c khi b nh trng l qu nh cha mt phn on. Trong trng hp ny, qu trnh c th phi ch cho n khi nhiu b nh hn (hay t nht mt l ln hn) tr nn sn dng, hay cho ti khi vic hp nht cc l nh to mt l ln hn. V s phn on dng gii thut ti nh v ng nn chng ta c th gom b nh bt c khi no chng ta mun. Nu b nh thi biu CPU phi ch mt qu trnh v vn cp pht b nh, n c th (hay khng th) b qua hng t CPU tm mt qu trnh nh hn, c u tin thp hn chy. Phn mnh ngoi i vi c ch phn on l vn quan trng nh th no? nh thi biu theo thut ng di vi s c c s gip gii quyt vn phn mnh phi khng? Cu tr li ph thuc vo kch thc trung bnh ca phn on. mc cao nht, chng ta c th nh ngha mi qu trnh l mt phn on. Tip cn ny ct gim c ch phn khu c kch thc thay i. cp khc, mi byte c th c t trong chnh phn on ca n v c cp pht ring. Sp xp ny xo i vic phn mnh bn ngoi; tuy nhin mi byte cn mt thanh ghi nn cho mi ti nh v ca n, gp i b nh c dng! D nhin, bc lun l tip theo-cc phn on nh c kch thc c nh-l phn trang. Thng thng, nu kch thc phn on trung bnh l nh, phn mnh ngoi cng s nh. V c nhn cc phn on l nh hn ton b qu trnh nn chng c v thch hp hn t vo trong cc khi b nh sn dng.

VI.3 Phn on vi phn trang


C hai phn on v phn trang c nhng li im v nhc im. Tht vy, hai b vi x l ph bin nht hin nay l: dng Motorola 68000 c thit k da trn c s khng gian a ch phng, ngc li, h Intel 80x86 v Petium da trn c s phn on. C hai l m hnh b nh hp nht hng ti s kt hp ca phn trang v phn on. Chng ta c th kt hp hai phng php tn dng li im ca chng. S kt hp ny c th hin tt nht bi kt trc ca Intel 386. n bn IBM OS/2 32-bit l mt h iu hnh chy trn nh ca kin trc Intel 386 (hay cao hn). Intel 386 s dng phn on vi phn trang cho vic qun l b nh. S ti a cc phn on trn qu trnh l 16KB v mi phn on c th ln ti 4GB. Kch thc trang l 4 KB. Chng ta s khng cho mt m t y v cu trc qun l b nh ca Intel 386 trong gio trnh ny. Thay vo , chng ta s trnh by cc tng quan trng. Khng gian a ch lun l ca qu trnh c chia thnh hai phn khu. Phn khu th nht cha ti 8 KB cc phn on dnh ring cho qu trnh . Phn khu th

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 170

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

hai cha ti 8 KB cc phn on c chia s gia tt c qu trnh. Thng tin v phn khu th nht c gi trong bng m t cc b (Local Descriptor Table-LDT), thng tin v phn khu th hai c gi trong bng m t ton cc (Global Descriptor TableGDL). Mi mc t trong LDT v GDT cha 8 bytes, vi thng tin chi tit v phn on xc nh gm v tr nn v chiu di ca phn on . a ch lun l l mt cp (b chn, di), y b chn l mt s 16-bit S 13 G 1 P 2

Trong : s gn ti s phn on, g hin th phn on trong GDT hay LDT, v p gii quyt vn bo v. di l mt s 32-bit xc nh v tr ca byte (hay t) trong phn on. My ny c 6 thanh ghi, cho php 6 phn on c xc nh ti bt c thi im no bi mt qu trnh. N c 6 thanh ghi vi chng trnh 8-byte qun l b m t tng ng t LDT hay GDT. B lu tr ny Intel 386 trnh phi c b m t t b nh cho mi ln tham chiu b nh. a ch vt l trn 386 di 32 bits v c hnh thnh nh sau. Thanh ghi on ch ti mc t tng ng trong LDT hay GDT. Thng tin nn v gii hn v phn on c dng pht sinh mt a ch tuyn tnh. u tin, gii hn c dng kim tra tnh hp l ca a ch. Nu a ch khng hp l, li b nh c to ra, dn n mt trap ti h iu hnh. Nu n l hp l, th gi tr ca di c cng vo gi tr ca nn, dn n a ch tuyn tnh 32-bit. Sau , a ch ny c dch thnh a ch vt l. Nh c nu trc , mi phn on c phn trang v mi trang c kch thc 4 KB. Do , bng trang c th cha ti 1 triu mc t. V mi mc t cha 4 bytes nn mi qu trnh c th cn 4 MB khng gian a ch vt l cho mt bng trang. R rng, chng ta khng mun cp pht bng trang lin tc trong b nh. Gii php ny c thng qua trong Intel 386 dng c ch phn trang 2 cp. a ch tuyn tnh c chia thnh s trang cha 20 bits, v di trang cha 12 bits. V chng ta phn trang bng trang, s trang c chia nh thnh con tr th mc trang 10-bit v con tr bng trang 10-bit. a ch lun l nh sau: P1 10 P2 10 D 12

C ch dch a ch cho kin trc ny tng t nh c ch c hin th trong hnh VII-18. Dch a ch Intel c hin th chi tit hn trong hnh VII-27di y.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 171

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

Hnh 0-27 Dch a ch Intel 386

ci tin tnh hiu qu ca vic s dng b nh vt l, bng trang Intel 386 c th c hon v ti a. Trong trng hp ny, mi bit c dng trong mc t th mc trang hin th bng m mc t ang ch ti trong b nh hay trn a. Nu bng trn a, h iu hnh c th dng 31 bit cn li xc nh v tr a ca bng; sau bng c th c mang vo b nh theo yu cu.

VII Tm tt
Cc gii thut qun l b nh cho h iu hnh a chng tri di t tip cn h thng ngi dng n ti phn on c phn trang. Yu t quyt nh ln nht ca phng php c dng trong h thng c th l phn cng c ci thin. Mi a ch b nh c c to ra bi CPU phi c kim tra hp l v c th c nh x ti mt a ch vt l. Kim tra khng th c ci t (hu hiu) bng phn mm. Do , chng ta b rng buc bi tnh sn dng phn cng. Cc gii tht qun l b nh c tho lun (cp pht lin tc, phn trang, phn on, v s kt hp ca phn trang v phn on) khc nhau trong nhiu kha cnh. Trong so snh cc chin lc qun l b nh, chng ta nn s dng cc xem xt sau: H tr phn cng: thanh ghi nn hay cp thanh ghi nn v thanh ghi gii hn l cho c ch phn khu n v a, ngc li phn trang v phn on cn bng nh x xc nh nh x a ch. Nng lc: khi gii thut qun l b nh tr nn phc tp hn th thi gian c yu cu nh x a ch lun l ti a ch vt l tng. i vi cc h thng n gin, chng ta ch cn so snh hay cng a ch lun l-cc thao tc ny phi nhanh. Phn trang v phn on c th nhanh nh nu
Bin son: Th.s Nguyn Ph Trng - 09/2005 Trang 172

i Hc Cn Th - Khoa Cng Ngh Thng Tin - Gio Trnh H iu Hnh V1.0

bng c ci t trong cc thanh ghi nhanh. Tuy nhin, nu bng trong b nh th v thc cht truy xut b nh ca ngi dng c th b gim. Mt TLB c th hn ch vic gim nng lc ti mc c th chp nhn. Phn mnh: mt h thng a chng s thc hin hiu qu hn nu n c cp a chng cao hn. i vi mt tp hp qu trnh c cho, chng ta c th tng cp a chng ch bng cch ng gi nhiu qu trnh hn trong b nh. hon thnh tc v ny, chng ta phi gim s lng ph hay phn mnh b nh. Cc h thng vi cc n v cp pht c kch thc c nh, nh c ch n phn khu v phn trang, gp phi s phn mnh trong. Cc h thng vi n v cp pht c kch thc thay i nh c ch a phn khu v phn on, gp phi s phn mnh ngoi. Ti nh v: mt gii php cho vn phn mnh ngoi l c c. C c lin quan n vic chuyn dch mt chng trnh trong b nh khng ch nhng thay i ca chng trnh. Xem xt ny yu cu a ch lun l c ti nh v ng ti thi im thc thi. Nu a ch c ti nh v ch ti thi im np, chng ta khng th lu tr dng c c. Hon v: bt c gii thut c th c hon v c thm ti n. Ti nhng khong thi gian c xc nh bi h iu hnh, thng c m t bi cc chnh xc nh thi, cc qu trnh c chp t b nh chnh ti vng lu tr ph v sau c chp tr li ti b nh chnh. C ch ny cho php nhiu qu trnh c chy hn l c th t vo b nh ti cng mt thi im. Chia s: mt phng tin khc gia tng cp a chng l chia s m v d liu gia cc ngi dng khc nhau. Thng vic chia s yu cu phn trang hay phn on c dng, cung cp nhng gi thng tin nh (cc trang hay cc on) c th c chia s. Chia s l mt phng tin chy nhiu qu trnh vi lng b nh gii hn nhng cc chng trnh v d liu c chia s phi c thit k cn thn. Bo v: nu phn trang hay phn on c cung cp, cc phn khc nhau ca chng trnh ngi dng c th c khai bo ch thc thi, ch c, hay c-vit. S hn ch ny l cn thit vi m v d liu c chia s v thng c ch trong bt c trng hp no cung cp vic kim tra ti thi gian thc thi cho cc li lp trnh thng thng.

Bin son: Th.s Nguyn Ph Trng - 09/2005

Trang 173

You might also like