You are on page 1of 10

Nguyn l h iu hnh Qun l b nh

Nguyn Hi Chu
Khoa Cng ngh thng tin
Trng i hc Cng ngh

1 2

Gii thiu Cc bc x l chng trnh NSD

z Chng trnh c HH a vo b nh,


sau to tin trnh thc hin

z Input queue L hng ch cc tin trnh trn


a ang ch c a vo b nh thc
hin

z Cc chng trnh ca NSD phi qua mt s


bc chun b trc khi c thc hin
3 4

Chuyn i a ch Khng gian a ch logic (o)


v a ch vt l (a ch tht)
C 3 cch chuyn i a ch lnh v d liu ca chng trnh vo b nh:

z Khi dch chng trnh (compile-time): Sinh m z qun l b nh mt cch hon chnh, cn
c a ch c nh; phi dch li nu cn thay i c hai cch nhn a ch khc nhau:
a ch. z a ch logic (Logical address) sinh bi CPU;
z Khi np chng trnh (load-time): Phi sinh cn gi l a ch o (virtual address).
m c th nh v li nu nh a ch b nh z a ch vt l (Physical address); cn gi l a ch
khng c bit thi im dch chng trnh tht sinh bi n v qun l b nh
z Khi thc hin chng trnh (execution-time): z a ch tht v o ging nhau trong lc
nh x a ch khi chng trnh c thc hin nh x a ch compile-time v load-time
nu nh tin trnh c th chuyn gia cc v khc nhau trong execution-time.
segment b nh. Cn c h tr t phn cng (v 5 6

d thanh ghi base v limit)

1
n v qun l b nh (MMU) S dng thanh ghi relocation
z L thit b phn cng dng nh x a ch
o sang a ch vt l
z Trong MMU, c thanh ghi relocation (nh v
li) dng tnh ton a ch thc (vt l) t
a o ca mt tin trnh ca NSD
z Chng trnh ca NSD lm vic trn a ch
o v khng bao gi bit a ch vt l

7 8

Np chng trnh ng Lin kt ng (dynamic linking) v


(Dynamic loading) th vin chung (shared library)
z Cc hm, th tc khng c np cho n z Lin kt chng trnh c thc hin khi chng
khi c s dng (c gi n) trnh c thc hin.
z Cch np ng ny s dng b nh hiu qu z Mt on m ngn (stub) c dng nh v cc
hn: Cc hm, th tc khng dng n hm tng ng c np sn trong b nh
khng bao gi c np vo b nh z Stub c thay th bng a ch ca hm/th tc
z Hu ch khi c mt on m ln c s cn thit, sau thc hin hm/th tc
dng vi tn sut thp z HH cn kim tra cc hm/th tc c np
z Khng cn c cc c im c bit t h cha
iu hnh v phn cng/phn mm z Lin kt ng rt c li khi xy dng cc th vin
9 chung, khi sa li (cc ming v patch) 10

Overlays V d v overlays
z Ch lu trong b nh cc phn lnh v d
liu phi s dng trong sut qu trnh thc
hin

z S dng khi tin trnh c yu cu b nh ln


hn dung lng c cp pht.

z Ci t bi ngi s dng, lp trnh overlays


rt phc tp
11 12

2
Swapping Minh ha swapping
z Swapping: a mt tin trnh ra backing store
lu tr tm thi, sau a tr li b nh trong
thc hin.
z Backing store Vng a c tc truy cp cao, ln
cha c nhiu tin trnh ca NSD, c th truy cp trc
tip
z Roll out, roll in Phng n swap dnh cho lp lch
c u tin: Tin trnh u tin thp: roll out, u tin
cao: roll in tip tc thc hin
z Thi gian swap t l thun vi dung lng b nh
c swap vo/ra
z UNIX, Linux, and Windows s dng swapping
13 14

Cp pht b nh lin tc
Cp pht lin tc
z B nh trong thng c chia thnh 2 phn:
(Contiguous allocation) z Phn dnh cho h iu hnh (resident) thng
dng phn thp ca b nh vi cc ngt
z NSD dng phn cao ca b nh. Mi tin trnh
c cp pht mt vng lin tc ca b nh
z Thanh ghi relocation dng bo v cc tin
trnh ca NSD v trnh thay i m v d
liu ca HH
z Thanh ghi relocation cha gi tr nh nht ca
15
a ch vt l, thanh ghi limit cha ln ca 16

min a ch o (a ch o < limit)

Minh ha thanh ghi relocation, limit Cp pht lin tc (tip): MFT


z B nh c chia thnh cc khi vi c c
nh, mi tin trnh c cp pht mt khi
z Khi tin trnh kt thc, khi b nh cp
pht cho tin trnh c gii phng cp
pht cho tin trnh khc
z Mc a chng trnh b hn ch bi cc
khi
z C ca tin trnh b hn ch bi c ca khi
z Cc HH/my tnh s dng MFT: IBM/360
17 18

3
Cp pht lin tc (tip): MVT Cc chin lc cp pht
z Cp pht MVT z First-fit: Cp pht khi nh u tin tha
z Hole khi b nh ri; cc khi ri vi kch c khc mn iu kin.
nhau ri rc trong b nh z Best-fit: Cp pht khi nh b nht tha
z Mt tin trnh s c cp pht mt khi b nh mn iu kin: Phi duyt ton b danh sch
ln thc hin khi nh
z HH c thng tin v cc khi cp pht v khi ri
z Worst-fit: Cp pht khi nh ln nht tha
HH HH HH HH
mn iu kin: Phi duyt ton b danh sch
Tin trnh 5 Tin trnh 5 Tin trnh 5 Tin trnh 5

Tin trnh 9 Tin trnh 9


khi nh
Tin trnh 8 Tin trnh 10
z First-fit v best-fit tt hn worst-fit theo ngha
Tin trnh 2 Tin trnh 2 Tin trnh 2 Tin trnh 2
19
tc v tn dng b nh 20

Vn phn mnh
External Fragmentation (Phn mnh ngoi): Tng
Phn trang (Paging)
z
dung lng p ng c nhu cu cp pht nhng
cc khi khng lin tc
z Internal Fragmentation (Phn mnh trong)
Dung lng b nh cp pht cho tin trnh
khng c s dng ht
z Gim phn mnh ngoi: Compaction
z Xo trn cc khi cc khi nh ri nm lin tc
z Compaction ch thc hin c khi relocation l ng, v
c thc hin execution-time
z V d: Tin ch Defragmentation ca Windows
21 22

Phn trang (paging) Cch nh a ch theo trang


z Phn trang l chin lc cp pht b nh cho php khng z a ch c nh mt cch phn cp:
gian a ch logic ca mt tin trnh c th khng lin tc; z S hiu trang (Page number - p) c s dng lm ch s
tin trnh c cp pht b nh vt l khi c b nh ri n phn t trong bng trang cha a ch c s ca cc
z B nh vt l c chia thnh cc frame c c nh, nh frame trong b nh vt l
(l ly tha ca 2, v d 512, 1024, 8192) z Offset trang (Page offset - d) a ch tng i trong trang

z Chia b nh o thnh cc khi cng c gi l trang (page) z a ch o c m bit, s dng m-n bit cao lm s hiu
z HH c danh sch cc frame ri trang v n bit thp lm offset
z thc hin mt chng trnh c n trang, cn tm n frame z Khng c phn mnh ngoi, c phn mnh trong:
ri np chng trnh z Gim c trangGim phn mnh trongGim hiu nng
z Tng c trangTng hiu sutTng phn mnh trong
z C mt bng trang nh x trangframe
z Bng trang: chung trong HH, mi tin trnh c mt copy 23 24

4
Chuyn i a ch V d phn trang 1

25 26

V d phn trang 2 Bng frame ri

C ca
mt trang
l 4 bytes

27 28
Trc cp pht Sau cp pht

Ci t bng trang Ci t bng trang (tip)


z Bng trang c lu b nh trong z Truy cp b nh hai ln: Gim tc
z Thanh ghi c s bng trang (page-table base z Gii quyt vn 2 ln truy cp b nh: S
register) (PTBR) tr n bng trang dng phn cng cache c tc truy cp
cao gi l b nh kt hp (associative
z Thanh ghi di bng trang (page-table memory) hoc vng m h tr chuyn i
length register) (PTLR) lu c bng trang (translation look-aside buffers -TLB)
z S dng bng trang, mi thao tc truy cp z Mi phn t trong TLB c hai phn: kha v
d liu/lnh cn ti 2 ln truy cp b nh (1 gi tr
cho bng trang, 1 cho d liu/lnh) z S lng cc phn t ca TLB thng t 64
n 1024
29 30

5
B nh kt hp Phn trang phn cng vi TLB
z B nh kt hp
Page # Frame #

z Chuyn i a ch (A, A)
if A nm trong thanh ghi kt hp, ly frame#.
else ly frame# t bng trang trong b nh
31 32

Thi gian truy cp hiu qu Bo v b nh


z Thi gian tm kim thanh ghi kt hp = z B nh c bo v nh kt hp bit bo v
(n v thi gian) trong mi phn t bng trang
z Thi gian truy cp b nh l n n v thi gian z Bit hp l-khng hp l (valid-invalid) kt ni
z Hit ratio: S phn trm (%) a ch trang c vi mi phn t trong bng trang:
tm thy cc thanh ghi kt hp/TLB z valid ch ra rng trang thuc khng gian a ch
logic ca tin trnh trang hp l
z Hit ratio =
z invalid ch ra rng trang khng thuc khng gian
z Thi gian truy cp hiu qu (EAT): a ch logic ca tin trnh
EAT = (n + ) + (2n + )(1 ) = 2n + n
33 34

V d bit valid (v)/invalid (i)


trong bng trang Cc trang chung
z M dng chung
z Nhiu tin trnh (son tho, compiler...) c th dng
chung cc on m reentrant (on m khng t
thay i chnh n)
z on m chung phi xut hin cng mt v tr a
ch trong khng gian a ch logic/o ca tt c cc
tin trnh
z M lnh v d liu ring
z Mi tin trnh c mt bn ring cha lnh v d liu
z Cc trang cha lnh v d liu ring c th bt
k v tr no trong khng gian a ch ca tin trnh
35 36

6
V d cc trang chung

Cu trc bng trang


Bng trang phn cp

Bng trang bm

Bng trang ngc

37 38

Bng trang phn cp V d bng trang hai cp


z B nh my tnh ln (232-264 bytes): Nu z a ch logic (trn my 32-bit, trang c 4K=212) c
dng bng trang mt cp th bng trang c chia thnh:
c rt ln: Tn b nh, tm kim chm z a ch trang: 20 bits.
z a ch offset: 12 bits.
z Bng trang 2 cp (a ch 20 bit) c chia thnh:
z Khng gian a ch logic c qun l bi z 10-bit a ch trang cp 1
nhiu bng trang nhiu cp z 10-bit a ch trang cp 2 a ch trang Offset

z Khi a ch logic c dng: p1 p2 d

10 10 12
z Mt k thut n gin nht l bng trang hai trong p1 l ch s n bng trang ngoi, p2 l ch
cp. C th c bng trang hai, ba, bn cp s n trang (thc s) bng trang ngoi
39 40

Tnh a ch vi bng trang hai


S bng trang hai cp cp

41 42

7
Bng trang bm Bng trang bm
z Thng s dng khi a ch > 32 bit

z S hiu/a ch trang c bm trong bng


trang. Bng trang ny cha dy cc phn t
(cc trang) c bm cng mt v tr

z S hiu trang c so snh trong dy cc


trang c bm cng mt v tr t
tm ra frame vt l
43 44

Bng trang ngc Kin trc bng trang ngc


z Gii php gim b nh lu cc bng trang
z Mi phn t trong bng ng vi mt frame
z Mi phn t cha a ch o ca trang v
thng tin v tin trnh ang s dng trang
z Gim dung lng b nh cn lu cc
bng trang, nhng tng thi gian cn tm
trong bng khi cn tham chiu n mt trang
z S dng bng bm hn ch s ln tm
kim trong cc phn t bng trang
45 46

Phn on
Phn on
z Phng thc qun l b nh cho php NSD nhn
(Segmentation) b nh mt cch d dng di gc lp trnh
z Mt chng trnh gm nhiu phn on, mi phn
on th hin di gc lp trnh dng:
main program, // Chng trnh chnh
function, // Cc hm
method, // Cc phng thc
object, // Cc i tng, lp
local/global variables, // Cc bin
common block, // Cc khi chung
47
stack, // Ngn xp 48

symbol table, arrays // Bng k hiu, mng

8
Chng trnh nhn t NSD Phn on: Cch nhn logic

4
1

3 2
4

49 Khng gian a ch ca NSD Khng gian b nh vt l 50

Kin trc phn on Kin trc phn on (tip)


z a ch o/logic l mt b i:<segment, offset> z Thanh ghi c s bng phn on (Segment-
z Bng phn on (segment table) nh x a table base register STBR) tr n base
ch vt l 2 cp; mi phn t bng c: z Thanh ghi di bng phn on (Segment-
z base: a ch vt l bt u ca phn on (segment) table length register - STLR) ch ra s lng
z limit: di ca phn on (segment). phn on c s dng trong tin trnh;
z S hiu phn on s l hp l nu tha mn
iu kin: s < STLR.

51 52

Kin trc phn on (tip) Kin trc phn on (tip)


z nh v li (relocation) z Bo v b nh:Mi phn on c:
z ng z Bit kim tra = 0 phn on khng hp l
z S dng bng phn on z read/write/execute privileges
z Dng chung (sharing) z Protection bits associated with segments;
z C cc phn on dng chung code sharing occurs at segment level.
z S dng cng mt s hiu phn on (segment z Do phn on c c bin i Gp vn
number) tng t trong cp pht b nh lin tc
z Cp pht (allocation) z Kt hp phn on vi phn trang tng
z first fit/best fit hiu qu s dng b nh, d cp pht hn
z Phn mnh ngoi 53
(v d: MULTICS, Intel 386) 54

9
Phn cng phn on V d phn on

55 56

Tm tt
z a ch logic (o)/a ch vt l (tht)
z Cc phng n nh x a ch ca chng trnh
vo b nh
z Cp pht b nh lin tc, phn mnh, cc chin
lc cp pht first-fit, best-fit, worst-fit
z Phn trang
z Trang, frame
z Bng trang, bng trang phn cp, bng trang ngc
z Phn on, bng phn on
57

10

You might also like