Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 1 -
CHNG 3: QUN LÝ B NH
Chng này s giúp các bn hình dung nhng vn cn quan tâm khi thit k module qun lý b nh
ca Hu hành . Mt s mô hình t chc b nh cng c gii thiu và phân tích u, khuyt m
các bn có th hiu c cách thc cp phát và thu hi b nh din ra nh th nào
B nh chính là thit b lu tr duy nht thông qua ó CPU có th trao i thông tin vi môi trng
ngoài, do vy nhu cu t chc, qun lý b nh là mt trong nhng nhim v trng tâm hàng u ca h
iu hành . B nh chính c t chc nh mt mng mt chiu các t nh (word), mi t nh có mt
a ch . Vic trao i thông tin vi môi trng ngoài c thc hin thông qua các thao tác c hoc
ghi d liu vào mt a ch c th nào ó trong b nh.
Hu ht các hu hành hin i u cho phép cha nhim nhm nâng cao hiu sut s dng
CPU. Tuy nhiên k thut này li làm ny sinh nhu cu chia s b nh gia các tin trình khác nhau .
Vn nm ch : « b nh thì hu hn và các yêu cu b nh thì vô hn ».
Hu hành chu trách nhim cp phát vùng nh cho các tin trình có yêu cu. thc hin tt nhim
v này, hu hành cn phi xem xét nhiu khía cnh :
S tng ng gia a ch logic và a ch vt lý (physic) : làm cách nào chuyn i mt a ch
ng trng (symbolic) trong chng trình thành mt a ch thc trong b nh chính?
Qun lý b nh vt lý: làm cách nào m rng b nh có sn nhm lu trc nhiu tin trình
ng thi?
Chia s thông tin: làm th nào cho phép hai tin trình có th chia s thông tin trong b nh?
Bo v: làm th nào ngn chn các tin trình xâm phm n vùng nhc cp phát cho tin
trình khác?
Các gii pháp qun lý b nh ph thuc rt nhiu vào c tính phn cng và tri qua nhiu giai n
ci tin tr thành nhng gip pháp khá tha áng nh hin nay.
3.1 Bi cnh
Thông thng, mt chng trình c lu tr trên a nh mt tp tin nh phân có th x lý. thc
hin chng trình, cn np chng trình vaò b nh chính, to lp tin trình tng ng x lý .
Hàng i nhp h thng là tp hp các chng trình trên a ang chc np vào b nh tin
hành x lý.
Các a ch trong chng trình ngun là a ch tng trng , vì th, mt chng trình phi tri qua
nhiu giai n x lý chuyn i các a ch này thành các a ch tuyt i trong b nh chính.
Có th thc hin kt buc các ch th và d liu vi các a ch b nh vào mt trong nhng thi m
sau :
Thi m biên dch: nu ti thi m biên dch, có th bit v trí mà tin trình s thng trú trong b
nh, trình biên dch có th phát sinh ngay mã vi các a ch tuyt i. Tuy nhiên, nu v sau có s
thay i v trí thng trú lúc u ca chng trình, cn phi biên dch li chng trình.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 2 -
Thi m np : nu ti thi m biên dch, cha th bit v trí mà tin trình s thng trú trong b
nh, trình biên dch cn phát sinh mã tng i (translatable). S liên kt a chc trì hoãn n thi
im chng trình c np vào b nh, lúc này các a ch tng i sc chuyn thành a ch
tuyt i do ã bit v trí bt u lu tr tin trình. Khi có s thay i v trí lu tr, ch cn np li
chng trình tính toán li các a ch tuyt i, mà không cn biên dch li.
Thi m x lý : nu có nhu cu di chuyn tin trình t vùng nh này sang vùng nh khác trong quá
trình tin trình x lý, thì thi m kt buc a ch phi trì hoãn n tn thi m x lý. thc hin
kt buc a ch vào thi m x lý, cn s dng c ch phn cng c bit.
3.2 Không gian a ch và không gian vt lý
Mt trong nhng hng tip cn trung tâm nhm t chc qun lý b nh mt cách hiu qa là a ra
khái nim không gian a chc xây dng trên không gian nh vt lý, vic tách ri hai không gian
này giúp hu hành d dàng xây dng các c ch và chin lc qun lý b nh hu hiu :
a ch logic – còn gi là a cho , là tt c các a ch do b x lý to ra.
a ch vt lý - là a ch thc t mà trình qun lý b nh nhìn thy và thao tác.
Không gian a ch – là tp hp tt c các a ch o phát sinh bi mt chng trình.
Không gian vt lý – là tp hp tt c các a ch vt lý tng ng vi các a cho.
a cho và a ch vt lý là nh nhau trong phng thc kt buc a ch vào thi m biên dch
cng nh vào thi m np. Nhng có s khác bit gia a cho và a ch vt lý trong phng thc
kt buc vào thi m x lý.
MMU (memory-management unit) là mt c ch phn cng c s dng thc hin chuyn i a
cho thành a ch vt lý vào thi m x lý.
Chng trình ca ngi s dng ch thao tác trên các a cho, không bao gi nhìn thy các a ch
vt lý . a ch tht sng vi v trí ca d liu trong bô nh chc xác nh khi thc hin truy xut
n d liu.
3.3 Cp phát liên tc
3.3.1. Mô hình Linker_Loader
Ý tng : Tin trình c np vào mt vùng nh liên tc ln cha toàn b tin trình. Ti thi
im biên dch các a ch bên trong tin trình vn là a ch tng i. Ti thi m np, Hu
hành s tr va ch bt u np tin trình, và tính toán chuyn các a ch tng i va ch
tuyt i trong b nh vt lý theo công thc a ch vt lý = a ch bt u + a ch tng i.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 3 -
3.3.2. Mô hình Base &Bound
Ý tng : Tin trình c np vào mt vùng nh liên tc ln cha toàn b tin trình. Ti thi
im biên dch các a ch bên trong tin trình vn là a ch tng i. Tuy nhiên b túc vào cu trúc
phn cng ca máy tính mt thanh ghi nn (base register) và mt thanh ghi gii hn (bound register).
Khi mt tin trình c cp phát vùng nh, np vào thanh ghi nn a ch bt u ca phân vùng c
cp phát cho tin trình, và np vào thanh ghi gii hn kích thc ca tin trình. Sau ó, mi a ch b
nhc phát sinh s tng c cng vi a ch cha trong thanh ghi nn cho ra a ch tuyt
i trong b nh, các a ch cng c i chiu vi thanh ghi gii hn bo m tin trình không
truy xut ngoài phm vi phân vùng c cp cho nó.
Hai thanh ghi h tr chuyn i a ch
Mt u im ca vic s dng thanh ghi nn là có th di chuyn các chng trình trong b nh sau
khi chúng bt u x lý, mi khi tin trình c di chuyn n mt v trí mi, ch cn np li giá tr
cho thanh ghi nn, các a ch tuyt i sc phát sinh li mà không cn cp nht các a ch tng
i trong chng trình
Chu ng hin tng phân mnh ngoi vi( external fragmentation ) : khi các tin trình ln lt vào
và ra khi h thng, dn dn xut hin các khe h gia các tin trình. ây là các khe hc to ra do
kích thc ca tin trình mi c np nh hn kích thc vùng nh mi c gii phóng bi mt tin
trình ã kt thúc và ra khi h thng. Hin tng này có th dn n tình hung tng vùng nh trng
tho mãn yêu cu, nhng các vùng nh này li không liên tc ! Ngi ta có th áp dng k thut
« dn b nh » (memory compaction ) kt hp các mnh b nh nh ri rc thành mt vùng nh ln
liên tc. Tuy nhiên, k thut này òi hi nhiu thi gian x lý, ngoài ra, s kt buc a ch phi thc
hin vào thi m x lý, vì các tin trình có th b di chuyn trong quá trình dn b nh.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 4 -
Phân mnh ngoi vi
Vn ny sinh khi kích thc ca tin trình tng trng trong qúa trình x lý mà không còn vùng
nh trng gn k m rng vùng nh cho tin trình. Có hai cách gii quyt:
Di ch tin trình : di chuyn tin trình n mt vùng nh khác ln tha mãn nhu cu tng
trng ca tin trình.
Cp phát d vùng nh cho tin trình : cp phát d phòng cho tin trình mt vùng nh ln hn yêu cu
ban u ca tin trình.
Mt tin trình cn c np vào b nh x lý. Trong các phng thc t chc trên ây, mt tin
trình luôn c lu tr trong b nh sut quá trình x lý ca nó. Tuy nhiên, trong trng hp tin trình
b khóa, hoc tin trình s dng ht thi gian CPU dành cho nó, nó có thc chuyn tm thi ra b
nh ph và sau này c np tr li vào b nh chính tip tc x lý.
Các cách t chc b nh trên ây u phi chu ng tình trng b nh b phân mnh vì chúng u
tip cn theo kiu cp phát mt vùng nh liên tc cho tin trình. Nhã tho lun, có th s dng k
thut dn b nh loi b s phân mnh ngoi vi, nhng chi phí thc hin rt cao. Mt gii pháp
khác hu hiu hn là cho phép không gian a ch vt lý ca tin trình không liên tc, ngha là có th
cp phát cho tin trình nhng vùng nh t do bt k, không cn liên tc.
3.4. Cp phát không liên tc
3.4.1. Phân on (Segmentation)
Ý tng: quan nim không gian a ch là mt tp các phân on (segments) – các phân on là
nhng phn b nh kích thc khác nhau và có liên h logic vi nhau. Mi phân n có mt tên gi
(s hiu phân n) và mt dài. Ngi dùng s thit lp mi a ch vi hai giá tr : <s hiu phân
on, offset>.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 5 -
Hình 4.17 Mô hình phân on b nh
ch MMU trong k thut phân n:
Cn phi xây dng mt ánh x chuyn i các a ch 2 chiu c ngi dùng nh ngha thành a
ch vt lý mt chiu. S chuyn i này c thc hin qua mt bng phân n. Mi thành phn
trong bng phân n bao gm mt thanh ghi nn và mt thanh ghi gii hn. Thanh ghi nn lu tra
ch vt lý ni bt u phân n trong b nh, trong khi thanh ghi gii hn c t chiu dài ca phân
on.
Chuyn i a ch:
Mi a cho là mt b <s,d> :
s hiu phân on s : c s dng nh ch mc n bng phân n
a ch tng i d : có giá tr trong khong t 0 n gii hn chiu dài ca phân n. Nu a ch
ng i hp l, nó sc cng vi giá tr cha trong thanh ghi nn phát sinh a ch vt lý tng
ng.
Hình 4.18 C ch phn cng h tr k thut phân on
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 6 -
Hình 4.19 H thng phân n
Cài t bng phân on:
Có th s dng các thanh ghi lu tr bng phân n nu s lng phân n nh. Trong trng
hp chng trình bao gm quá nhiu phân n, bng phân n phi c lu trong b nh chính.
Mt thanh ghi nn bng phân n (STBR) chn a ch bt u ca bng phân n. Vì s lng
phân on s dng trong mt chng trình bin ng, cn s dng thêm mt thanh ghi c t kích
thc bng phân n (STLR).
Vi mt a ch logic <s,d>, trc tiên s hiu phân n sc kim tra tính hp l (s <STLR). K
tip, cng giá tr s vi STBR có c a cha ch ca phn t th s trong bng phân n
(STBR+s). i ch vt lý cui cùng là (STBR+s + d)
Hình 4.20 S dng STBR, STLR và bng phân n
Bo v: Mt u im c bit ca c ch phân n là kh nng c t thuc tính bo v cho mi
phân on. Vì mi phân n biu din cho mt phn ca chng trình vi ng ngha c ngi
dùng xác nh, ngi s dng có th bit c mt phân n cha ng nhng gì bên trong, do vy
h có thc t các thuc tính bo v thích hp cho tng phân n.
ch phn cng ph trách chuyn i a ch b nh s kim tra các bit bo vc gán vi mi
phn t trong bng phân n ngn chn các thao tác truy xut bt hp ln phân n tng ng.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 7 -
Chia s phân n: Mt u im khác ca k thut phân n là kh nng chia s mc phân
on. Nh kh nng này, các tin trình có th chia s vi nhau tng phn chng trình ( ví d các th
tc, hàm), không nht thit phi chia s toàn b chng trình nh trng hp phân trang. Mi tin trình
có mt bng phân n riêng, mt phân n c chia s khi các phn t trong bng phân n ca
hai tin trình khác nhau cùng chn mt v trí vt lý duy nht.
Hình 4.21 Chia s code trong h phân n
Phi gii quyt vn cp phát ng: làm th nào tha mãn mt yêu cu vùng nh kích thc N ?
Cn phi chn vùng nh nào trong danh sách vùng nh t do cp phát ? Nh vy cn phi ghi nh
hin trng b nh có th cp phát úng. Có hai phng pháp qun lý ch yu :
Qun lý bng mt bng các bit : b nhc chia thành các n v cp phát, mi n vc phn
ánh bng mt bit trong bng các bit, mt bit nhn giá tr 0 nu n v b nh tng ng ang t do, và
nhn giá tr 1 nu n v tng ng ã c cp phát cho mt tin trình. Khi cn np mt tin trình có
kích thc kn v, cn phi tìm trong bng các bit mt dãy con k bit nhn giá tr 0. ây là mt gii
pháp n gin, nhng thc hin chm nên ít c s dng.
Hình 4.5 Qun lý b nh bng bng các bit
Qun lý bng danh sách: T chc mt danh sách các phân n ã cp phát và phân on t do, mt
phân on có th là mt tin trình (P) hay vùng nh trng gia hai tin trình (H).
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 8 -
Hình 4.6 Qun lý b nh bng danh sách
Các thut toán thông dng chn mt phân on t do trong danh sách cp phát cho tin trình là :
First-fit: cp phát phân n t do u tiên ln.
Best-fit: cp phát phân n t do nh nht nhng ln thõa mãn nhu cu.
Worst-fit : cp phát phân n t do ln nht.
Trong h thng s dng k thut phân n , hin tng phân mnh ngoi vi li xut hin khi các
khi nh t do u quá nh, không cha mt phân n.
3.4.2. Phân trang ( Paging)
Ý tng:
Phân b nh vt lý thành các khi (block) có kích thc cnh và bng nhau, gi là khung trang
(page frame). Không gian a ch cng c chia thành các khi có cùng kích thc vi khung trang,
và c gi là trang (page). Khi cn np mt tin trình x lý, các trang ca tin trình sc np
vào nhng khung trang còn trng. Mt tin trình kích thc N trang s yêu cu N khung trang t do.
Hình 4.8 Mô hình b nh phân trang
ch MMU trong k thut phân trang:
ch phn cng h tr thc hin chuyn i a ch trong c ch phân trang là bng trang (pages
table). Mi phn t trong bng trang cho bit các a ch bt u ca v trí lu tr trang tng ng
trong b nh vt lý ( s hiu khung trang trong b nh vt lý ang cha trang ).
Chuyn i a ch:
Mi a ch phát sinh bi CPU c chia thành hai phn:
s hiu trang (p): s dng nh ch mc n phn t tng ng trong bng trang.
a ch tng i trong trang (d): kt hp vi a ch bt u ca trang to ra a ch vt lý mà trình
qun lý b nh s dng.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 9 -
Kích thc ca trang do phn cng qui nh. d phân tích a cho thành s hiu trang và a ch
ng i, kích thc ca mt trang thông thng là mt ly tha ca 2 (bin i trong phm vi 512
bytes và 8192 bytes). Nu kích thc ca không gian a ch là 2
m
và kích thc trang là 2
n
, thì m-n
bits cao ca a cho s biu din s hiu trang, và n bits thp cho bit a ch tng i trong trang.
p d
m-n n
Cài t bng trang:
Trong trng hp n gin nht, bng trang mt tp các thanh ghi c s dng cài t bng trang.
Tuy nhiên vic s dng thanh ghi ch phù hp vi các bng trang có kích thc nh, nu bng trang có
kích thc ln, nó phi c lu tr trong b nh chính, và s dng mt thanh ghi lu a ch bt
u lu tr bng trang (PTBR).
Theo cách t chc này, mi truy xut n d liu hay ch thu òi hi hai ln truy xut b nh :
mt cho truy xut n bng trang và mt cho bn thân d liu!
Hình 4.10 Mô hình b nh phân trang
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 10 -
Hình 4.11 S dng thanh ghi nn trn bng trang
Có th né tránh bt vic truy xut b nh hai ln bng cách s dng thêm mt vùng nhc bit ,
vi tc truy xut nhanh và cho phép tìm kim song song, vùng nh cache nh này thng c gi
là b nh kt hp (TLBs). Mi thanh ghi trong b nh kt hp gm mt t khóa và mt giá tr, khi a
n b nh kt hp mt i tng cn tìm, i tng này sc so sánh cùng lúc vi các t khóa
trong b nh kt hp tìm ra phn t tng ng. Nhc tính này mà vic tìm kim trên b nh kt
hp c thc hin rt nhanh, nhng chi phí phn cng li cao.
Trong k thut phân trang, TLBs c s dng lu tr các trang b nhc truy cp gn hin
ti nht. Khi CPU phát sinh mt a ch, s hiu trang ca a ch sc so sánh vi các phn t trong
TLBs, nu có trang tng ng trong TLBs, thì s xác nh c ngay s hiu khung trang tng ng,
nu không mi cn thc hin thao tác tìm kim trong bng trang.
T chc bng trang:
Mi hu hành có mt phng pháp riêng t chc lu tr bng trang. a s các hu hành cp
cho mi tin trình mt bng trang. Tuy nhiên phng pháp này không th chp nhn c nu hu
hành cho phép qun lý mt không gian a ch có dung lng quá (2
32
, 2
64
): trong các h thng nh
th, bn thân bng trang òi hi mt vùng nh qúa ln! Có hai gii pháp cho vn này:
Phân trang a cp: phân chia bng trang thành các phn nh, bn thân bng trang cng sc phân
trang
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 11 -
Bng trang nghch o: s dng duy nht mt bng trang nghch o cho tt c các tin trình . Mi
phn t trong bng trang nghch o phn ánh mt khung trang trong b nh bao gm a ch logic
ca mt trang ang c lu tr trong b nh vt lý ti khung trang này, cùng vi thông tin v tin
trình ang c s hu trang. Mi a cho khi ó là mt b ba <idp, p, d >
Trong ó : idp là nh danh ca tin trình
p là s hiu trang
d là a ch tng i trong trang
Mi phn t trong bng trang nghch o là mt cp <idp, p >. Khi mt tham kho n b nhc
phát sinh, mt phn a cho là <idp, p > c a n cho trình qun lý b nh tìm phn t tng
ng trong bng trang nghch o, nu tìm thy, a ch vt lý <i,d> sc phát sinh. Trong các trng
hp khác, xem nh tham kho b nhã truy xut mt a ch bt hp l.
Bo v:
ch bo v trong h thng phân trang c thc hin vi các bit bo vc gn vi mi khung
trang. Thông thng , các bit này c lu trong bng trang , vì mi truy xut n b nhu phi
tham kho n bng trang phát sinh a ch vt lý, khi ó, h thng có th kim tra các thao tác truy
xut trên khung trang tng ng có hp l vi thuc tính bo v ca nó không.
Ngoài ra, mt bit ph tri c thêm vào trong cu trúc mt phn t ca bng trang : bit hp l-bt hp
l (valid-invalid).
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 12 -
Hp l : trang tng ng thuc v không gian a ch ca tin trình.
Bt hp l : trang tng ng không nm trong không gian a ch ca tin trình, iu này có ngha tin
trình ã truy xut n mt a ch không c phép.
Hình 4.15 Cu trúc mt phn t trong bng trang
Chia s b nh trong c ch phân trang:
Mt u im ca c ch phân trang là cho phép chia s các trang gia các tin trình.Trong trng hp
này, s chia sc thc hin bng cách ánh x nhiu a ch logic vào mt a ch vt lý duy nht. Có
th áp dng k thut này cho phép có tin trình chia s mt vùng code chung: nu có nhiu tin
trình ca cùng mt chng trình, ch cn lu tr mt n code ca chng trình này trong b nh, các
tin trình s có th cùng truy xut n các trang cha code chung này. Lu ý có th chia s mt
on code, n code này phi có thuc tính reenterable (cho phép mt bn sao ca chng trình c
s dng ng thi bi nhiu tác v).
K thut phân trang loi bc hin tng phân mnh ngoi vi : mi khung trang u có thc
cp phát cho mt tin trình nào ó có yêu cu. Tuy nhiên hin tng phân mnh ni vi vn có th xy
ra khi kích thc ca tin trình không úng bng bi s ca kích thc mt trang, khi ó, trang cui
cùng s không c s dng ht.
Mt khiá cnh tích cc rt quan trng khác ca k thut phân trang là s phân bit rch ròi góc nhìn
ca ngi dùng và ca b phn qun lý b nh vt lý:
Góc nhìn ca ngi s dng: mt tin trình ca ngi dùng nhìn thy b nh nh là mt không gian
liên tc, ng nht và ch cha duy nht bn thân tin trình này.
Góc nhìn ca b nh vt lý: mt tin trình ca ngi s dng c lu tr phân tán khp b nh vt
lý, trong b nh vt lý ng thi cng cha nhng tin trình khác.
Phn cng m nhim vic chuyn i a ch logic thành a ch vt lý . S chuyn i này là trong
sut i vi ngi s dng.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 13 -
u tr các thông tin chi tit v quá trình cp phát b nh, hu hành s dng mt bng khung
trang, mà mi phn t mô t tình trng ca mt khung trang vt lý : t do hay c cp phát cho mt
tin trình nào ó .
u ý rng s phân trang không phn ánh úng cách thc ngi s dng cm nhn v b nh.
Ngi s dng nhìn thy b nh nh mt tp các i tng ca cng trình (segments, các th
vin ) và mt tp các i tng d liu (bin toàn cc, stack, vùng nh chia s ). Vn t ra là cn
tìm mt cách thc biu din b nh sao cho có th cung cp cho ngi dùng mt cách nhìn gn vi
quan im logic ca h hn và ó là k thut phân n
K thut phân n thõa mãn c nhu cu th hin cu trúc logic ca chng trình nhng nó dn
n tình hung phi cp phát các khi nh có kích thc khác nhau cho các phân n trong b nh
vt lý. u này làm rc ri vn hn rt nhiu so vi vic cp phát các trang có kích thc tnh.Mt
gii pháp dung hoà là kt hp c hai k thut phân trang và phân on : chúng ta tin hành phân trang
các phân on.
3.4.3. Phân on kt hp phân trang (Paged segmentation)
Ý tng: Không gian a ch là mt tp các phân n, mi phân n c chia thành nhiu trang.
Khi mt tin trình c a vào h thng, hu hành s cp phát cho tin trình các trang cn thit
cha các phân on ca tin trình.
ch MMU trong k thut phân n kt hp phân trang:
h tr k thut phân n, cn có mt bng phân n, nhng gi ây mi phân n cn có mt
bng trang phân bit.
Chuyn i a ch:
Mi a ch logic là mt b ba: <s,p,d>
s hiu phân n (s): s dng nh ch mc n phn t tng ng trong bng phân n.
s hiu trang (p): s dng nh ch mc n phn t tng ng trong bng trang ca phân n.
a ch tng i trong trang (d): kt hp vi a ch bt u ca trang to ra a ch vt lý mà
trình qun lý b nh s dng.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 14 -
Hình 4.22 Mô hình phân on k hp phân trang
Tt c các mô hình t chc b nh trên ây u có khuynh hng cp phát cho tin trình toàn b các
trang yêu cu trc khi tht s x lý. Vì b nh vt lý có kích thc rt gii hn, u này dn n hai
im bt tin sau :
Kích thc tin trình b gii hn bi kích thc ca b nh vt lý.
Khó có th bo trì nhiu tin trình cùng lúc trong b nh, và nh vy khó nâng cao mc a chng
ca h thng.
Tóm tt
Có nhiu cách tip cn khác nhau t chc quãn lý b nh, nhng tu chung mong t n các mc
tiêu sau :
Có tháp ng c y các nhu cu b nh ca chng trình vi mt b nh vt lý gii hn
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 15 -
Quá trình chuyn i a ch, t chc cp phát b nh là trong sut vi ngi dùng, và có kh nng
tái nh v.
Tn dng hiu qu b nh ( ít có vùng nh không s dng c)
B nhc bo v tt
Có kh nng chia s b nh gia các tin trình
Mt s cách tip cn t chc b nh chính
Cp phát liên tc : có th cp phát các vùng nh liên tc cho các tin trình trong nhng phân vùng có
kích thc cnh hay bin ng. m yu ca cách tip cn này là kích thc các chng trình có
th dc x lý b gii hn bi các kích thc ca khi nh liên tc có th s dng. Các hin tng
phân mnh ngoi vi, ni vi u có th xut hin
Cp phát không liên tc : có th cp phát các vùng nh không liên tc cho mt tin trình. Hai k thut
thng c áp dng là phân trang và phân on. K thut phân trang cho phép loi bõ hin tng
phân mnh ngoi vi, k thut phân n loi b hin tng phân mnh ni vi, nhng phi gii quyt
vn cp phát ng.
Cng c bài hc
Các câu hi cn tr li c sau bài hc này :
1. Nhim v qun lý b nh bao gm các công vic nào ? Giai on nào do hu hành thc hin ,
giai on nào cn s tr giúp ca phn cng?
2. Các khái nim : phân mnh ni vi, phân mnh ngoi vi, bài toán cp phát ng, ch logic, ch
physic
3. Phân tích u khuyt ca các mô hình t chc b nh.
3.5. B nho
B nh o là mt k thut hin i giúp cho ngi dùng c gii phóng hoàn toàn khi mi bn tâm
v gii hn b nh. Ý tng, u im và nhng vn liên quan n vic t chc b nho sc
trình bày trong bài hc này.
3.5.1 Dn nhp
Nu t toàn th không gian a ch vào b nh vt lý, thì kích thc ca chng trình b gii hn bi
kích thc b nh vt lý.
Thc t, trong nhiu trng hp, chúng ta không cn phi np toàn b chng trình vào b nh vt lý
cùng mt lúc, vì ti mt thi m ch có mt ch th ca tin trình c x lý. Ví d, các chng trình
u có mt n code x lý li, nhng on code này hu nh rt ít khi c s dng vì him khi xy
ra li, trong trng hp này, không cn thit phi np n code x lý li tu.
T nhn xét trên, mt gii pháp c xut là cho phép thc hin mt chng trình chc np
tng phn vào b nh vt lý. Ý tng chính ca gii pháp này là ti mi thi m ch lu tr trong b
nh vt lý các ch th và d liu ca chng trình cn thit cho vic thi hành ti thi m ó. Khi cn
n các ch th khác, nhng ch th mi sc np vào b nh, ti v trí trc ó b chim gi bi các
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 16 -
ch th nay không còn cn n na. Vi gii pháp này, mt chng trình có th ln hn kích thc ca
vùng nh cp phát cho nó.
Mt cách thc hin ý tng ca gii pháp trên ây là s dng k thut overlay. K thut overlay
không òi hi bt k s tr giúp c bit nào ca hu hành , nhng trái li, lp trình viên phi bit
cách lp trình theo cu trúc overlay, và iu này òi hi khá nhiu công sc.
gii phóng lp trình viên khi các suy t v gii hn ca b nh, mà cng không tng thêm khó
khn cho công vic lp trình ca h, ngi ta nghn các k thut tng, cho phép x lý mt
chng trình có kích thc ln ch vi mt vùng nh có kích thc nh . Gii pháp c tìm thy vi
khái nim b nho (virtual memory).
3.5.1.1. nh ngha
B nho là mt k thut cho phép x lý mt tin trình không c np toàn b vào b nh vt lý. B
nho mô hình hoá b nh nh mt bng lu tr rt ln và ng nht, tách bit hn khái nim không
gian a ch và không gian vt lý. Ngi s dng ch nhìn thy và làm vic trong không gian a cho,
vic chuyn i sang không gian vt lý do hu hành thc hin vi s tr giúp ca các c ch phn
cng c th.
Cn kt hp k thut swappingn chuyn các phn ca chng trình vào-ra gia b nh chính và b
nh ph khi cn thit.
Nh vic tách bit b nho và b nh vt lý, có th t chc mt b nho có kích thc ln hn b
nh vt lý.
B nho cho phép gim nh công vic ca lp trình viên vì h không cn bn tâm n gii hn ca
vùng nh vt lý, cng nh không cn t chc chng trình theo cu trúc overlays.
Hình 2.24 B nho
3.5.1.2. Cài t b nho
B nho thng c thc hin vi k thut phân trang theo yêu cu (demand paging). Cng có th
s dng k thut phân on theo yêu cu ( demand segmentation) cài t b nho, tuy nhiên vic
cp phát và thay th các phân n phc tp hn thao tác trên trang, vì kích thc không bng nhau
ca các on.
Phân trang theo yêu cu ( demand paging)
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 17 -
Mt h thng phân trang theo yêu cu là h thng s dng k thut phân trang kt hp vi k thut
swapping. Mt tin trình c xem nh mt tp các trang, thng trú trên b nh ph ( thng là a).
Khi cn x lý, tin trình sc np vào b nh chính. Nhng thay vì np toàn b chng trình, ch
nhng trang cn thit trong thi m hin ti mi c np vào b nh. Nh vy mt trang chc
np vào b nh chính khi có yêu cu.
Vi mô hình này, cn cung cp mt c ch phn cng giúp phân bit các trang ang trong b nh
chính và các trang trên 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 chính .
invalid : hoc trang bt hp l (không thuc v không gian a ch ca tin trình) hoc trang hp l
nhng ang c lu trên b nh ph.
Mt phn t trong bng trang m t cho mt trang không nm trong b nh chính, sc ánh du
invalid và cha a ch ca trang trên b nh ph.
ch phn cng :
ch phn cng h tr k thut phân trang theo yêu cu là s kt hp ca c ch h tr k thut
phân trang và k thut swapping:
Bng trang: Cu trúc bng trang phi cho phép phn ánh tình trng ca mt trang là ang nm trong
b nh chính hay b nh ph.
B nh ph: B nh ph lu tr nhng trang không c np vào b nh chính. B nh ph thng
c s dng là a, và vùng không gian a dùng lu tr tm các trang trong k thut swapping
c gi là không gian swapping.
Hình 2.24 Bng trang vi mt s trang trên b nh ph
Li trang
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 18 -
Truy xut n mt trang c ánh du bt hp l s làm phát sinh mt li trang (page fault). Khi dò
tìm trong bng trang ly các thông tin cn thit cho vic chuyn i a ch, nu nhn thy trang
ang c yêu cu truy xut là bt hp l, c ch phn cng s phát sinh mt ngt báo cho hu
hành. Hu hành s x lý 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 thúc tin trình
Ngc li : n bc 3
Tìm v trí cha trang mun truy xut trên a.
Tìm mt khung trang trng trong b nh chính :
Nu tìm thy : n bc 5
Nu không còn khung trang trng, chn mt khung trang « nn nhân » và chuyn trang « nn nhân »
ra b nh ph (lu ni dung ca trang ang chim gi khung trang này lên a), cp nht bng trang
ng ng ri n bc 5
Chuyn trang mun truy xut t b nh ph vào b nh chính : np trang cn truy xut vào khung
trang trng ã chn (hay va mi làm trng ) ; cp nht ni dung bng trang, bng khung trang tng
ng.
Tái kích hot tin trình ngi s dng.
Hình 2.26 Các giai on x lý li trang
3.5.2. Thay th trang
Khi xy ra mt li trang, cn phi mang trang vng mt vào b nh . Nu không có mt khung trang
nào trng, hu hành cn thc hin công vic thay th trang – chn mt trang ang nm trong b
nh mà không c s dng ti thi m hin ti và chuyn nó ra không gian swapping trên a
gii phóng mt khung trang dành ch np trang cn truy xut vào b nh.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 19 -
Nh vy nu không có khung trang trng, thì mi khi xy ra li trang cn phi thc hin hai thao tác
chuyn trang : chuyn mt trang ra b nh ph và np mt trang khác vào b nh chính. Có th gim
bt s ln chuyn trang bng cách s dng thêm mt bit cp nht (dirty bit). Bit này c gn vi mi
trang phn ánh tình trng trang có b cp nht hay không : giá tr ca bit c c ch phn cng t
là 1 mi ln có mt tc ghi vào 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 trên a, ngc li, nu bit cp nht
là 0, ngha là trang không b thay i, thì không cn lu tr trang tr li a.
s hiu trang
bit valid-invalid dirty
bit
Hình 4.27 Cu trúc mt phn t trong bng trang
S thay th trang là cn thit cho k thut phân trang theo yêu cu. Nh c ch này, h thng có th
hoàn toàn tách ri b nho và b nh vt lý, cung cp cho lp trình viên mt b nho rt ln trên
mt b nh vt lý có th bé hn rt nhiu ln.
3.5.2.1. S thi hành phân trang theo yêu cu
Vic áp dng k thut phân trang theo yêu cu có thnh hng mnh n tình hình hot ng ca h
thng.
Ga s p là xác sut xy ra mt li trang (0≤ p ≤ 1):
p = 0 : không có li trang nào
p = 1 : mi truy xut s phát 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 + tái kích hot
Trong công thc này, 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 phân trang, cn phi duy trì t l phát sinh li trang thp.
n na, cài t k thut phân trang theo yêu cu, cn phi gii quyt hai vn chính yu : xây
dng mt thut toán cp phát khung trang, và thut toán thay th trang.
3.5.2.2. Các thut toán thay th trang
Vn chính khi thay th trang là chn la mt trang « nn nhân » chuyn ra b nh ph. Có nhiu
thut toán thay th trang khác nhau, nhng tt c cùng chung mt mc tiêu : chn trang « nn nhân »
là trang mà sau khi thay th s gây ra ít li trang nht.
Có thánh giá hiu qa ca mt thut toán bng cách x lý trên mt chui các a ch cn truy xut
và tính toán s lng li trang phát sinh.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 20 -
Ví d: Gi s theo vt x lý ca mt tin trình và nhn thy tin trình thc hin truy xut các 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ó kích thc ca mt trang là 100 bytes, có th vit li chui truy xut trên gin lc hn nh sau
:
1, 4, 1, 6, 1, 6, 1, 6, 1
xác nh s các li trang xy ra khi s dng mt thut toán thay th trang nào ó trên mt chui
truy xut c th, còn cn phi bit s lng khung trang s dng trong h thng.
minh ho các thut toán thay th trang s trình bày, 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
3.5.2.2.1. Thut toán FIFO
Tip cn: Ghi nhn thi m mt trang c mang vào b nh chính. Khi cn thay th trang, trang
trong b nh lâu nht sc chn
Ví d : s dng 3 khung trang , ban u c 3 u trng :
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 2 2 4 4 4 0 0 0 0 0 0 0 7 7 7
0 0 0 0 3 3 3 2 2 2 2 2 1 1 1 1 1 0 0
1 1 1 1 0 0 0 3 3 3 3 3 2 2 2 2 2 1
* * * * * * * * * * * * * * *
Ghi chú : * : có li trang
áp dng thut toán FIFO, thc t không nht thit phi ghi nhn thi m mi trang c np vào
b nh, mà ch cn t chc qun lý các trang trong b nh trong mt danh sách FIFO, khi ó trang u
danh sách sc chn thay th.
Thut toán they th trang FIFO d hiu, d cài t. Tuy nhiên khi thc hin không phi lúc nào cng
có kt qa tt : trang c chn thay th có th là trang chc nhiu d liu cn thit, thng xuyên
c s dng nên c np sm, do vy khi b chuyn ra b nh ph s nhanh chóng gây ra li trang.
S lng li trang xy ra s tng lên khi s lng khung trang s dng tng. Hin tng này 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 phát sinh
1 2 3 4 1 2 5 1 2 3 4 5
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 21 -
1 1 1 4 4 4 5 5 5 5 5 5
2 2 2 1 1 1 1 1 3 3 3
3 3 3 2 2 2 2 2 4 4
* * * * * * * * *
S dng 4 khung trang , s có 10 li trang phát sinh
1 2 3 4 1 2 5 1 2 3 4 5
1 1 1 1 1 1 5 5 5 5 4 4
2 2 2 2 2 2 1 1 1 1 5
3 3 3 3 3 3 2 2 2 2
4 4 4 4 4 4 3 3 3
* * * * * * * * * *
3.5.2.2.2. Thut toán ti u
Tip cn: Thay th trang s lâu c s dng nht trong tng lai.
Ví d : s dng 3 khung trang, khi u u trng:
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7
0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0
1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1
* * * * * * * * *
Thut toán này bo m s lng li trang phát sinh là thp nht , nó cng không gánh chu nghch lý
Belady, tuy nhiên, ây là mt thut toán không kh thi trong thc t, vì không th bit trc chui truy
xut ca tin trình!
3.5.2.2.3. Thut toán « Lâu nht cha s dng » ( Least-recently-used LRU)
Tip cn: Vi mi trang, ghi nhn thi m cui cùng trang c truy cp, trang c chn thay
th s là trang lâu nht cha c truy xut.
Ví d: s dng 3 khung trang, khi u u trng:
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 2 2 4 4 4 0 0 0 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0
1 1 1 3 3 3 2 2 2 2 2 2 2 2 2 7 7 7
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 22 -
* * * * * * * * * * * *
Thut toán FIFO s dng thi m np chn trang thay th, thut toán ti u li dùng thi m
trang sc s dng, vì thi m này không th xác nh trc nên thut toán LRU phi dùng thi
im cui cùng trang c truy xut – dùng quá kh gn doán tng lai.
Thut toán này òi hi phi c c ch phn cng h tr xác nh mt th t cho các trang theo
thi m truy xut cui cùng. Có th cài t theo mt trong hai cách :
S dng bm:
thêm vào cu trúc ca mi phn t trong bng trang mt trng ghi nhn thi m truy xut mi nht,
và thêm vào cu trúc ca CPU mt bm.
mi ln có s truy xut b nh, giá tr ca counter tng lên 1.
Mi ln thc hin truy xut n mt trang, giá tr ca counter c ghi nhn vào trng thi m truy
xut mi nht ca phn t tng ng vi trang trong bng trang.
thay th trang có giá tr trng thi m truy xut mi nht là nh nht.
S dng stack:
t chc mt stack lu tr các s hiu trang
mi khi thc hin mt truy xut n mt trang, s hiu ca trang sc xóa khi v trí hin hành
trong stack và a lên u stack.
trang nh stack là trang c truy xut gn nht, và trang áy stack là trang lâu nht cha c s
dng.
3.5.2.2.4. Các thut toán xp x LRU
Có ít h thng c cung cp các h tr phn cng cài t c thut toán LRU tht s. Tuy
nhiên, nhiu h thng c trang b thêm mt bit tham kho ( reference):
mt bit reference, c khi gán 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 gán tr v 0 sau tng chu k qui nh trc.
Sau tng chu k qui nh trc, kim tra giá tr ca các bit reference, có th xác nh c trang nào
ã c truy xut n và trang nào không, sau khi ã kim tra xong, các bit reference c phn cng
gán tr v 0 .
vi bit reference, có th bit c trang nào ã c truy xut, nhng không bit c th t truy
xut. Thông tin không y này dn n nhiu thut toán xp x LRU khác nhau.
s hiu trang
bit valid-invalid dirty bit bit reference
Hình 4.28 Cu trúc mt phn t trong bng trang
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 23 -
a) Thut toán vi các bit reference ph tr
Tip cn: Có th thu thp thêm nhiu thông tin v th t truy xut hn bng cách lu tr các bit
references sau tng khong thi gian u n:
vi mi trang, s dng thêm 8 bit lch s (history)trong bng trang
sau tng khong thi gian nht nh (thng là100 millisecondes), mt ngt ng hc phát sinh,
và quyn u khin c chuyn cho hu hành. Hu hành t bit reference ca mi trang vào
bit cao nht trong 8 bit ph tr catrang ó bng cách y các bit khác sang phi 1 v trí, b luôn bit
thp nht.
nh vy 8 bit thêm vào này s l u tr tình hình truy xut n trang trong 8 chu k cui cùng.
nu gía tr ca 8 bit là 00000000, thì trang tng ng ã không c dùng n sut 8 chu k cui
cùng, ngc li nu nó c dùng n ít nht 1 ln trong mi chu k, thì 8 bit ph tr s là 11111111.
Mt trang mà 8 bit ph tr có giá tr11000100 sc truy xut gn thi m hin ti hn trang có 8
bit ph tr là 01110111.
nu xét 8 bit ph tr này nh mt s nguyên không du, thì trang LRU là trang có s ph tr nh nht.
Ví d :
0 0 1 0 0 0 1 1 1 0
HR =11000100
HR =11100010
HR =01110001
S lng các bit lch s có th thay i tùy theo phn cng, và phi c chn sao cho vic cp nht là
nhanh nht có th.
b) Thut toán « c hi th hai »
Tip cn: S dng mt bit reference duy nht. Thut toán c s vn là FIFO, tuy nhiên khi chn c
mt trang theo tiêu chun FIFO, kim tra bit reference ca trang ó :
Nu giá tr ca bit reference là 0, thay th trang ã chn.
Ngc li, cho trang này 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 m vào
Ready List c cp nht li là thi m hin ti.
Mt trang ã c cho c hi th hai s không b thay th trc khi h thng ã thay th ht nhng
trang khác. Hn na, nu trang thng xuyên c s dng, bit reference ca nó s duy trì c giá tr
1, và trang hu nh không bao gi b thay th.
Có th cài t thut toán « hi th hai » vi mt xâu vòng.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 24 -
Hình 2.29 Thut toán thay th trang <<c hi th hai >>
c) Thut toán « hi th hai » nâng cao (Not Recently Used - NRU)
Tip cn : xem các bit reference và dirty bit nh mt cp có th t .
Vi hai bit này, có th có 4 t hp to thành 4 lp sau :
(0,0) không truy xut, không sa i: ây là trang tt nht thay th.
(0,1) không truy xut gn ây, nhng ã b sa i: trng hp này không tht tt, vì trang cn c
u tr li trc khi thay th.
(1,0) c truy xut gn ây, nhng không b sa i: trang có th nhanh chóng c tip tc c s
dng.
(1,1) c truy xut gn ây, và b sa i: trang có th nhanh chóng c tip tc c s dng, và
trc khi thay th cn phi c lu tr li.
lp 1 có u tiên thp nht, và lp 4 có u tiên cao nht.
mt trang s thuc v mt trong bn lp trên, tu vào bit reference và dirty bit ca trang ó.
trang c chn thay th là trang u tiên tìm thy trong lp có u tiên thp nht và khác rng.
d) Các thut toán thng kê
Tip cn: s dng mt bin m lu tr s ln truy xut n mt trang, và phát trin hai thut toán
sau :
Thut toán LFU: thay th trang có giá tr bin m nh nht, ngha là trang ít c s dng nht.
Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái, môn Tin hc – i hc DL Hi Phòng
Tài liu lu hành ni b - 25 -
Thut toán MFU: thay th trang có giá tr bin m ln nht, ngha là trang c s dng nhiu nht
(most frequently used).
3.5.3. Cp phát khung trang
Vn t ra là làm th nào cp phát mt vùng nh t do có kích thc cnh cho các tin trình
khác nhau?
Trong trng hp n gin nht ca b nho là hn nhim, có th cp phát cho tin trình duy nht
ca ngi dùng tt c các khung trang trng.
Vn ny sinh khi kt hp k thut phân trang theo yêu cu vi sa chng : cn phi duy trì nhiu
tin trình trong b nh cùng lúc, vy mi tin trình sc cp bao nhiêu khung trang.
S khung trang ti thiu:
Vi mi tin trình, cn phi cp phát mt s khung trang ti thiu nào ó tin trình có th hot ng.
S khung trang ti thiu này c quy nh bi kin trúc ca ca mt ch th.Khi mt li trang xy ra
trc khi ch th hin hành hoàn tt, ch thó cn c tái khi ng, lúc ó cn có các khung
trang np tt c các trang mà mt ch th duy nht có th truy xut.
S khung trang ti thiu c qui nh bi kin trúc máy tính, trong khi s khung trang ti a c xác
nh bi dung lng b nh vt lý có th s dng.
Các thut toán cp phát khung trang
Có hai hng tip cn:
Cp phát cnh:
Cp phát công bng: nu có m khung trang và n tin trình, mi tin trình c cp m /n khung trang.
Cp phát theo t l: tùy vào kích thc ca tin trình cp phát s khung trang :
si = kích thc ca b nho cho tin trình pi
S = Σ si
m = s lng tng cng khung trang có th s dng
Cp phát ai khung trang cho tin trình pi: ai = (si / S) m
Cp phát theo u tiên : s dng ý tng cp phát theo t l, nhng nhng s lng khung trang cp
cho tin trình ph thuc vào u tiên ca tin trình, hn là ph thuc kích thc tin trình:
Nu tin trình pi phát sinh mt li trang, chn mt trong các khung trang ca nó thay th, hoc chn
mt khung trang ca tin trình khác vi u tiên thp hn thay th.
Thay th trang toàn cc hay cc b
Có th phân các thut toán thay th trang thành hai lp chính: