You are on page 1of 12

27/04/2012

Bo nho ao

This is the html version of the file http://www.thuvienphutho.net/Download.aspx? file=200745103938_Bai071.htm. Google automatically generates html versions of documents as we crawl the web.

BI 7:

B NH O

B nh o l mt k thut hin i gip cho ngi dng c gii phng hon ton khi mi bn tm v gii hn b nh. tng, u im v nhng vn lin quan n vic t chc b nh o s c trnh by trong bi hc ny.

I. Dn nhp
Nu t ton th khng gian a ch vo b nh vt l, th kch thc ca chng trnh b gii hn bi kch thc b nh vt l. Thc t, trong nhiu trng hp, chng ta khng cn phi np ton b chng trnh vo b nh vt l cng mt lc, v ti mt thi im ch c mt ch th ca tin trnh c x l. V d, cc chng trnh u c mt on code x l li, nhng on code ny hu nh rt t khi c s dng v him khi xy ra li, trong trng hp ny, khng cn thit phi np on code x l li t u. T nhn xt trn, mt gii php c xut l cho php thc hin mt chng trnh ch c np tng phn vo b nh vt l. tng chnh ca gii php ny l ti mi thi im ch lu tr trong b nh vt l cc ch th v d liu ca chng trnh cn thit cho vic thi hnh ti thi im . Khi cn n cc ch th khc, nhng ch th mi s c np vo b nh, ti v tr trc b chim gi bi cc ch th nay khng cn cn n na. Vi gii php ny, mt chng trnh c th ln hn kch thc ca vng nh cp pht cho n. Mt cch thc hin tng ca gii php trn y l s dng k thut overlay. K thut overlay khng i hi bt k s tr gip c bit no ca h iu hnh , nhng tri li, lp trnh vin phi bit cch lp trnh theo cu trc overlay, v iu ny i hi kh nhiu cng sc. gii phng lp trnh vin khi cc suy t v gii hn ca b nh, m cng khng tng thm kh khn cho cng vic lp trnh ca h, ngi ta ngh n cc k thut t ng, cho php x l mt chng trnh c kch thc ln ch vi mt vng nh c kch thc nh . Gii php c tm thy vi khi nim b nh o (virtual memory). I.1. nh ngha B nh o l mt k thut cho php x l mt tin trnh khng c np ton b vo b nh vt l. B nh o m hnh ho b nh nh mt bng lu tr rt ln v ng nht, tch bit hn khi nim khng gian a ch v khng gian vt l. Ngi s dng ch nhn thy v lm vic trong khng gian a ch o, vic chuyn i sang khng gian vt l do h iu hnh thc hin vi s tr gip ca cc c ch phn cng c th. Tho lun:
webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo 1/12

27/04/2012

Bo nho ao

Cn kt hp k thut swapping n chuyn cc phn ca chng trnh vo-ra gia b nh chnh v b nh ph khi cn thit. Nh vic tch bit b nh o v b nh vt l, c th t chc mt b nh o c kch thc ln hn b nh vt l. B nh o cho php gim nh cng vic ca lp trnh vin v h khng cn bn tm n gii hn ca vng nh vt l, cng nh khng cn t chc chng trnh theo cu trc overlays.

Hnh 2.24 B nh o I.2. Ci t b nh o B nh o thng c thc hin vi k thut phn trang theo yu cu (demand paging). Cng c th s dng k thut phn on theo yu cu ( demand segmentation) ci t b nh o, tuy nhin vic cp pht v thay th cc phn on phc tp hn thao tc trn trang, v kch thc khng bng nhau ca cc on. Phn trang theo yu cu ( demand paging) Mt h thng phn trang theo yu cu l h thng s dng k thut phn trang kt hp vi k thut swapping. Mt tin trnh c xem nh mt tp cc trang, thng tr trn b nh ph ( thng l a). Khi cn x l, tin trnh s c np vo b nh chnh. Nhng thay v np ton b chng trnh, ch nhng trang cn thit trong thi im hin ti mi c np vo b nh. Nh vy mt trang ch c np vo b nh chnh khi c yu cu. Vi m hnh ny, cn cung cp mt c ch phn cng gip phn bit cc trang ang trong b nh chnh v cc trang trn a. C th s dng li bit valid-invalid nhng vi ng ngha mi: valid : trang tng ng l hp l v ang trong b nh chnh .
webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo 2/12

27/04/2012

Bo nho ao

invalid : hoc trang bt hp l (khng thuc v khng gian a ch ca tin trnh) hoc trang hp l nhng ang c lu trn b nh ph. Mt phn t trong bng trang m t cho mt trang khng nm trong b nh chnh, s c nh du invalid v cha a ch ca trang trn b nh ph. C ch phn cng : C ch phn cng h tr k thut phn trang theo yu cu l s kt hp ca c ch h tr k thut phn trang v k thut swapping: Bng trang: Cu trc bng trang phi cho php phn nh tnh trng ca mt trang l ang nm trong b nh chnh hay b nh ph. B nh ph: B nh ph lu tr nhng trang khng c np vo b nh chnh. B nh ph thng c s dng l a, v vng khng gian a dng lu tr tm cc trang trong k thut swapping c gi l khng gian swapping.

Hnh 2.24 Bng trang vi mt s trang trn b nh ph Li trang Truy xut n mt trang c nh du bt hp l s lm pht sinh mt li trang (page fault ). Khi d tm trong bng trang ly cc thng tin cn thit cho vic chuyn i a ch, nu nhn thy trang ang c yu cu truy xut l bt hp l, c ch phn cng s pht sinh mt ngt bo cho h iu hnh. H iu hnh s x l
webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo 3/12

27/04/2012

Bo nho ao

li trang nh sau : Kim tra truy xut n b nh l hp l hay bt hp l Nu truy xut bt hp l : kt thc tin trnh Ngc li : n bc 3 Tm v tr cha trang mun truy xut trn a. Tm mt khung trang trng trong b nh chnh : Nu tm thy : n bc 5 Nu khng cn khung trang trng, chn mt khung trang nn nhn v chuyn trang nn nhn ra b nh ph (lu ni dung ca trang ang chim gi khung trang ny ln a), cp nht bng trang tng ng ri n bc 5 Chuyn trang mun truy xut t b nh ph vo b nh chnh : np trang cn truy xut vo khung trang trng chn (hay va mi lm trng ) ; cp nht ni dung bng trang, bng khung trang tng ng. Ti kch hot tin trnh ngi s dng.

Hnh 2.26 Cc giai on x l li trang

II. Thay th trang


Khi xy ra mt li trang, cn phi mang trang vng mt vo b nh . Nu khng c mt khung trang no trng, h iu hnh cn thc hin cng vic thay th trang chn mt trang ang nm trong b nh m khng c
webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo 4/12

27/04/2012

Bo nho ao

s dng ti thi im hin ti v chuyn n ra khng gian swapping trn a gii phng mt khung trang dnh ch np trang cn truy xut vo b nh. Nh vy nu khng c khung trang trng, th mi khi xy ra li trang cn phi thc hin hai thao tc chuyn trang : chuyn mt trang ra b nh ph v np mt trang khc vo b nh chnh. C th gim bt s ln chuyn trang bng cch s dng thm mt bit cp nht (dirty bit). Bit ny c gn vi mi trang phn nh tnh trng trang c b cp nht hay khng : gi tr ca bit c c ch phn cng t l 1 mi ln c mt t c ghi vo trang, ghi nhn ni dung trang c b sa i. Khi cn thay th mt trang, nu bit cp nht c gi tr l 1 th trang cn c lu li trn a, ngc li, nu bit cp nht l 0, ngha l trang khng b thay i, th khng cn lu tr trang tr li a. s hiu trang bit valid-invalid dirty bit

Hnh 4.27 Cu trc mt phn t trong bng trang S thay th trang l cn thit cho k thut phn trang theo yu cu. Nh c ch ny, h thng c th hon ton tch ri b nh o v b nh vt l, cung cp cho lp trnh vin mt b nh o rt ln trn mt b nh vt l c th b hn rt nhiu ln.

II.1. S thi hnh phn trang theo yu cu Vic p dng k thut phn trang theo yu cu c th nh hng mnh n tnh hnh hot ng ca h thng. Ga s p l xc sut xy ra mt li trang (0 p 1): p = 0 : khng c li trang no p = 1 : mi truy xut s pht sinh mt li trang Thi gian tht s cn thc hin mt truy xut b nh (TEA) l: TEA = (1-p)ma + p (tdp) [+ swap out ] + swap in + ti kch hot Trong cng thc ny, ma l thi gian truy xut b nh, tdp thi gian x l li trang. C th thy rng, duy tr mt mc chp nhn c s chm tr trong hot ng ca h thng do phn trang, cn phi duy tr t l pht sinh li trang thp. Hn na, ci t k thut phn trang theo yu cu, cn phi gii quyt hai vn chnh yu : xy dng mt thut ton cp pht khung trang, v thut ton thay th trang. II.2. Cc thut ton thay th trang Vn chnh khi thay th trang l chn la mt trang nn nhn chuyn ra b nh ph. C nhiu thut ton thay th trang khc nhau, nhng tt c cng chung mt mc tiu : chn trang nn
webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo 5/12

27/04/2012

Bo nho ao

nhn l trang m sau khi thay th s gy ra t li trang nht. C th nh gi hiu qa ca mt thut ton bng cch x l trn mt chui cc a ch cn truy xut v tnh ton s lng li trang pht sinh. V d: Gi s theo vt x l ca mt tin trnh v nhn thy tin trnh thc hin truy xut cc a ch theo th t sau : 0100, 0432, 0101, 0162, 0102, 0103, 0104, 0101, 0611, 0102, 0103,0104, 0101, 0610, 0102, 0103, 0104, 0101, 0609, 0102, 0105 Nu c kch thc ca mt trang l 100 bytes, c th vit li chui truy xut trn gin lc hn nh sau : 1, 4, 1, 6, 1, 6, 1, 6, 1 xc nh s cc li trang xy ra khi s dng mt thut ton thay th trang no trn mt chui truy xut c th, cn cn phi bit s lng khung trang s dng trong h thng. minh ho cc thut ton thay th trang s trnh by, chui truy xut c s dng l : 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 II.2.1. Thut ton FIFO Tip cn: Ghi nhn thi im mt trang c mang vo b nh chnh. Khi cn thay th trang, trang trong b nh lu nht s c chn V d : s dng 3 khung trang , ban u c 3 u trng : 7 7 0 7 0 1 7 0 1 * * * 2 2 0 1 * 0 2 0 1 3 2 3 1 * 0 2 3 0 * 4 4 3 0 * 2 4 2 0 * 3 4 2 3 * 0 0 2 3 * 3 0 2 3 2 0 2 3 1 0 1 3 * 2 0 1 2 * 0 0 1 2 1 0 1 2 7 7 1 2 * 0 7 0 2 * 1 7 0 1 *

Ghi ch : * : c li trang Tho lun: p dng thut ton FIFO, thc t khng nht thit phi ghi nhn thi im mi trang c np vo b nh, m ch cn t chc qun l cc trang trong b nh trong mt danh sch FIFO, khi trang u danh sch s c chn thay th. Thut ton they th trang FIFO d hiu, d ci t. Tuy nhin khi thc hin khng phi lc no cng c kt qa tt : trang c chn thay th c th l trang chc
webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo 6/12

27/04/2012

Bo nho ao

nhiu d liu cn thit, thng xuyn c s dng nn c np sm, do vy khi b chuyn ra b nh ph s nhanh chng gy ra li trang. S lng li trang xy ra s tng ln khi s lng khung trang s dng tng. Hin tng ny gi l nghch l Belady. V d: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 S dng 3 khung trang , s c 9 li trang pht sinh 1 1 2 1 2 3 1 2 3 * * * 4 4 2 3 * 1 4 1 3 * 2 4 1 2 * 5 5 1 2 * 1 5 1 2 2 5 1 2 3 5 3 2 * 4 5 3 4 * 5 5 3 4

S dng 4 khung trang , s c 10 li trang pht sinh 1 1 2 1 2 3 1 2 3 4 1 2 3 4 * * * * 1 1 2 3 4 2 1 2 3 4 5 5 2 3 4 * 1 5 1 3 4 * 2 5 1 2 4 * 3 5 1 2 3 * 4 4 1 2 3 * 5 4 5 2 3 *

II.2.2. Thut ton ti u Tip cn: Thay th trang s lu c s dng nht trong tng lai. V d : s dng 3 khung trang, khi u u trng: 7 7 0 7 0 1 7 0 1 * * * 2 2 0 1 * 0 2 0 1 3 2 0 3 * 0 2 0 3 4 2 4 3 * 2 2 4 3 3 2 4 3 0 2 0 3 * 3 2 0 3 2 2 0 3 1 2 0 1 * 2 2 0 1 0 2 0 1 1 2 0 1 7 7 0 1 * 0 7 0 1 1 7 0 1

Tho lun:
webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo 7/12

27/04/2012

Bo nho ao

Thut ton ny bo m s lng li trang pht sinh l thp nht , n cng khng gnh chu nghch l Belady, tuy nhin, y l mt thut ton khng kh thi trong thc t, v khng th bit trc chui truy xut ca tin trnh! II.2.3. Thut ton Lu nht cha s dng ( Least-recently-used LRU) Tip cn: Vi mi trang, ghi nhn thi im cui cng trang c truy cp, trang c chn thay th s l trang lu nht cha c truy xut. V d: s dng 3 khung trang, khi u u trng: 7 7 0 7 0 1 7 0 1 * * * 2 2 0 1 * 0 2 0 1 3 2 0 3 * 0 2 0 3 4 4 0 3 * 2 4 0 2 * 3 4 3 2 * 0 0 3 2 * 3 0 3 2 2 0 3 2 1 1 3 2 * 2 1 3 2 0 1 0 2 * 1 1 0 2 7 1 0 7 * 0 1 0 7 1 1 0 7

Tho lun: Thut ton FIFO s dng thi im np chn trang thay th, thut ton ti u li dng thi im trang s c s dng, v thi im ny khng th xc nh trc nn thut ton LRU phi dng thi im cui cng trang c truy xut dng qu kh gn d on tng lai. Thut ton ny i hi phi c c ch phn cng h tr xc nh mt th t cho cc trang theo thi im truy xut cui cng. C th ci t theo mt trong hai cch : S dng b m: thm vo cu trc ca mi phn t trong bng trang mt trng ghi nhn thi im truy xut mi nht, v thm vo cu trc ca CPU mt b m. mi ln c s truy xut b nh, gi tr ca counter tng ln 1. Mi ln thc hin truy xut n mt trang, gi tr ca counter c ghi nhn vo trng thi im truy xut mi nht ca phn t tng ng vi trang trong bng trang. thay th trang c gi tr trng thi im truy xut mi nht l nh nht. S dng stack: t chc mt stack lu tr cc s hiu trang
webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo 8/12

27/04/2012

Bo nho ao

mi khi thc hin mt truy xut n mt trang, s hiu ca trang s c xa khi v tr hin hnh trong stack v a ln u stack. trang nh stack l trang c truy xut gn nht, v trang y stack l trang lu nht cha c s dng. II.2.4. Cc thut ton xp x LRU C t h thng c cung cp cc h tr phn cng ci t c thut ton LRU tht s. Tuy nhin, nhiu h thng c trang b thm mt bit tham kho ( reference): mt bit reference, c khi gn l 0, c gn vi mt phn t trong bng trang. bit reference ca mt trang c phn cng t gi tr 1 mi ln trang tng ng c truy cp, v c phn cng gn tr v 0 sau tng chu k qui nh trc. Sau tng chu k qui nh trc, kim tra gi tr ca cc bit reference, c th xc nh c trang no c truy xut n v trang no khng, sau khi kim tra xong, cc bit reference c phn cng gn tr v 0 . vi bit reference, c th bit c trang no c truy xut, nhng khng bit c th t truy xut. Thng tin khng y ny dn n nhiu thut ton xp x LRU khc nhau. s hiu trang bit valid-invalid dirty bit bit reference

Hnh 4.28 Cu trc mt phn t trong bng trang a) Thut ton vi cc bit reference ph tr Tip cn: C th thu thp thm nhiu thng tin v th t truy xut hn bng cch lu tr cc bit references sau tng khong thi gian u n: vi mi trang, s dng thm 8 bit lch s (history)trong bng trang sau tng khong thi gian nht nh (thng l100 millisecondes), mt ngt ng h c pht sinh, v quyn iu khin c chuyn cho h iu hnh. H iu hnh t bit reference ca mi trang vo bit cao nht trong 8 bit ph tr catrang bng cch y cc bit khc sang phi 1 v tr, b lun bit thp nht. nh vy 8 bit thm vo ny s l u tr tnh hnh truy xut n trang trong 8 chu k cui cng. nu ga tr ca 8 bit l 00000000, th trang tng ng khng c dng n sut 8 chu k cui cng, ngc li nu n c dng n t nht 1 ln trong mi chu k, th 8
webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo 9/12

27/04/2012

Bo nho ao

bit ph tr s l 11111111. Mt trang m 8 bit ph tr c gi tr11000100 s c truy xut gn thi im hin ti hn trang c 8 bit ph tr l 01110111. nu xt 8 bit ph tr ny nh mt s nguyn khng du, th trang LRU l trang c s ph tr nh nht. V d :

0 HR =11000100 HR =11100010 HR =01110001

Tho lun: S lng cc bit lch s c th thay i ty theo phn cng, v phi c chn sao cho vic cp nht l nhanh nht c th. b) Thut ton c hi th hai Tip cn: S dng mt bit reference duy nht. Thut ton c s vn l FIFO, tuy nhin khi chn c mt trang theo tiu chun FIFO, kim tra bit reference ca trang : Nu gi tr ca bit reference l 0, thay th trang chn. Ngc li, cho trang ny mt c hi th hai, v chn trang FIFO tip theo. Khi mt trang c cho c hi th hai, gi tr ca bit reference c t li l 0, v thi im vo Ready List c cp nht li l thi im hin ti. Mt trang c cho c hi th hai s khng b thay th trc khi h thng thay th ht nhng trang khc. Hn na, nu trang thng xuyn c s dng, bit reference ca n s duy tr c gi tr 1, v trang hu nh khng bao gi b thay th. Tho lun: C th ci t thut ton c hi th hai vi mt xu vng.

webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo

10/12

27/04/2012

Bo nho ao

Hnh 2.29 Thut ton thay th trang <<c hi th hai >> c) Thut ton c hi th hai nng cao (Not Recently Used - NRU) Tip cn : xem cc bit reference v dirty bit nh mt cp c th t . Vi hai bit ny, c th c 4 t hp to thnh 4 lp sau : (0,0) khng truy xut, khng sa i: y l trang tt nht thay th. (0,1) khng truy xut gn y, nhng b sa i: trng hp ny khng tht tt, v trang cn c lu tr li trc khi thay th. (1,0) c truy xut gn y, nhng khng b sa i: trang c th nhanh chng c tip tc c s dng. (1,1) c truy xut gn y, v b sa i: trang c th nhanh chng c tip tc c s dng, v trc khi thay th cn phi c lu tr li. lp 1 c u tin thp nht, v lp 4 c u tin cao nht.
webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo 11/12

27/04/2012

Bo nho ao

mt trang s thuc v mt trong bn lp trn, tu vo bit reference v dirty bit ca trang . trang c chn thay th l trang u tin tm thy trong lp c u tin thp nht v khc rng. d) Cc thut ton thng k Tip cn: s dng mt bin m lu tr s ln truy xut n mt trang, v pht trin hai thut ton sau : Thut ton LFU: thay th trang c gi tr bin m nh nht, ngha l trang t c s dng nht. Thut ton MFU: thay th trang c gi tr bin m ln nht, ngha l trang c s dng nhiu nht (most frequently used).

webcache.googleusercontent.com/search?q=cache:-r44FoGzVTQJ:www.thuvienphutho.net/Downlo

12/12

You might also like