Professional Documents
Culture Documents
BT Hệ điều hành 06
BT Hệ điều hành 06
Qun l b nh
Quan ly bo nh
Cac kieu a ch nh
Chuyen oi a ch nh
Overlay va swapping
Mo hnh quan ly bo nh n gian
Fixed partitioning
Dynamic partitioning
C che
che phan
phan trang (paging)
C che phan oan (segmentation)
-9.2-
Vn :
Khi no np?
Np vo u?
Np nhng phn no?
-9.3-
B nh
L mt dy cc nh lin tc nhau
Mi nh (mt word) c mt a ch
Chng
g trnh = tp
p cc cu lnh
((ch th my)
y) + d liu
MOV AX, 10
MOV BX, 20
12
16
-9.4-
Cac kieu a ch nh
a
ch tng
g oi ((relative address)) la mot kieu a
ch luan ly
y
Bo linker: ket hp cac object module thanh mot file nh phan kha
thc thi goi la load module.
Bo loader: nap
nap load module va
vao
o bo nh
nh chnh
System
Library
y
dynamic linking
static linking
System
S
t
Library
-9.6-
CALL B
L-1
0
L
Length
th L
Relocatable
object modules
Return
Module A
JMP L
L-1 Return
L
Module B
CALL C
M-1
Module A
Length M
Load module
Module B
JMP L+M
L+M-1 Return
Return
L+M Module C
Module C
Length N
L+M+N-1 Return
N-1
N
1
Return
-9.7-
Chuyen oi a ch nh
int I;
goto p1;
2000
250
2250
p1
Symbolic address
Relocatable address
Absolute address
(Ph i l memory))
(Physical
-9.8-
Chuyen oi a ch
V du
du:: chng trnh .COM
COM cua
cua MS
MS-DOS,
DOS phat
phat bieu
bieu assemply
Khuyet iem: phai bien dch lai neu thay oi a ch
Load time: tai thi iem bien dch, neu khong biet a ch thc
th vao thi iem loading, phai chuyen oi a ch kha tai nh
v ((relocatable)) theo mot a
ch nen ((base address).
)
a ch thc c tnh toan lai vao thi iem chng trnh thc thi
phai tien hanh reload neu a ch base thay oi.
-9.9-
Relative (relocatable)
addresses
0
JMP 400
400
LOAD 1200
1200
max
= 2000
-9.10-
Dynamic linking
-9.11-
Thong thng, external module la mot th vien cung cap cac tien
ch cua OS. Cac chng trnh thc thi co the dung cac phien ban
khac nhau cua external module ma khong can sa oi, bien dch
lai.
Chia se
se ma
ma (code sharing): mot external module ch ca
can
n na
nap
p vao
vao
bo nh mot lan. Cac process can dung external module nay th
cung chia se oan ma cua external module tiet kiem khong
gian nh va a.
g
-9.12-
Dynamic loading
Rat hieu q
qua trong
g trng hp
p ton tai khoi lng
g ln ma chng
g
trnh khong c s dung thng xuyen (v du cac thu tuc x ly
loi)
Khong can s ho tr ac biet cua he ieu hanh
Thong thng, user chu trach nhiem thiet ke va hien thc cac
chng
g trnh co dynamic-loading.
y
g
He ieu hanh chu yeu cung cap mot so thu tuc th vien ho tr, tao
ieu kien de dang hn cho lap trnh vien
-9.13-
C che overlay
-9.14-
70KB
Pass 2
80KB
Symbol table
20KB
Common routines
30KB
Assembler
Total memory
available = 150KB
pass 1
symbol
table
20KB
common
routines
30KB
overlay
driver
10KB
80KB
pass 2
70KB
-9.15-
C che swapping
-9.16-
-9.17-
-9.18-
-9.19-
(used)
hole kch thc
18 464 bytes
18.464
-9.20-
Fixed partitioning
Chien lc placement
-9.23-
Dynamic partitioning
-9.24-
Chien lc placement
-9.25-
C che phan trang khien bo nh b phan manh noi, tuy nhien lai
khac phuc c phan manh ngoai.
-9.26-
frame
number
page 0
0
0
page 2
page 3
page 1
logical memory
page table
page 0
2
3
page 2
page 1
page 3
physical memory
-9.27-
Mo hnh chuyen oi a ch
page number
p
m-n bits
((nh v t 0 2m-n -1))
n bits
(nh v t 0 2n-1)
Paging hardware
physical
address
logical
address
CPU
f
f000 0000
f0000000
d
f1111111
p
f
p y
physical
memory
page table
frame number frame offset
f (l-n bits)
d (n bits)
-9.29-
Chuyen oi bo nh vi paging
-9.30-
Moii tac
Mo
tac vu
vu truy cap d
d lieu/lenh can
can hai thao tac
tac truy xua
xuatt
vung nh
Mot thao tac truy xuat bang phan trang (page number: p) va mot
thao tac
tac truy xuat
xuat d
d lieu/lenh (page offset: d displacement)
Thng dung mot bo phan cache phan cng co toc o truy xuat
va tm kiem cao, goi la thanh ghi ket hp (associative register)
hoac translation look-aside
look aside buffers (TLBs)
-9.31-
frame #
Anh xa a ch ao (A, A)
Neu A nam trong TLB (hit) lay ngay c ch so frame tiet kiem c
~ 10% thi gian tm kiem.
Ngc lai (miss), phai tm ch so frame t bang phan trang nh bnh thng.
-9.32-
-9.33-
Bao ve bo nh
Viec bao ve bo nh c hien thc bang cach gan vi frame cac bit
bao ve (protection bits). Cac bit nay bieu th cac thuoc tnh sau
read-only,
d
l read-write,
d it execute-only
t
l
-9.34-
page 0
page 2
0
1
2
page 0
page 1
page 2
page 3
page 6
page 4
page 7
page 5
page 4
12287
8
valid-invalid bit
page 1
page 3
10468
frame number
page 5
...
page n
-9.35-
Mot giai phap c at ra la chia thanh nhieu bang phan trang quan
ly cac vung khong gian bo nh ao khac nhau bang a mc
(multilevel paging table).
C che tao bang phan trang 2-mc (two-level page table), hay con
c goi la forward-mapped page table trong he thong Intel
P ti -II
Pentium
II
-9.36-
-9.37-
20 bit
offset
12 bit
Bang phan trang cung b chia nho nen page number cung c chia
nho thanh
nho
thanh 2 phan:
phan:
10-bit page number
10-bit page offset
page #
page number
p1
10 bit
p2
10 bit
page offset
d
12 b
bitt
S o anh xa a ch
Memory Address: A
-9.39-
page offset
12
page number
b
page offset
ff t
32
10 10
2
page number
42
10
page offset
12
page number
b
page offset
ff t
22 10 10 10
2
Dung bang bam e giam bt khong gian bang phan trang, tang toc
o tm kiem trang.
Ra
att pho
p ob
bie
en ttrong
o g cac
cac he
e tho
t ong l
n hn
3
32 b
bitt a ch.
c
e giai quyet ung o, moi entry cua bang phan trang c gan mot
danh sa
sach
ch lien
lien ket.
ket. Mo
Moii pha
phan
n t
t danh sa
sach
ch cha
cha ch so
so trang a
ao
o
(virtual page number) va ch so frame tng ng.
Ch so trang ao c bien oi qua ham bam thanh mot hashed value.
Cac thong tin nh ch so trang ao va ch so frame se c lu vao danh
sach lien ket tai v tr ng vi hashed value.
ed 1
data 1
ed 2
data 3
ed 3
ed 1
ed
d2
data 1
Process 2
ed 1
ed 2
ed 3
data 2
ed 3
ed 1
ed 2
ed 2
data 3
data 2
8
9
10
Process 3
-9.43-
Trong thc te, di goc nhn cua user, mot chng trnh cau thanh t
nhieu p
phan oan (segment).
( g
) Moi p
phan oan la mot n v luan ly
y,, v
du nh:
main program, procedure, function, local variables, global variables,
common block, stack, symbol table, arrays
-9.44-
Global variables
Procedure call stack
Procedure/function code
Local variable
Trnh loader se
se gan
gan moi
moi segment
mot so nh danh rieng.
stack
procedure
p
symbol
table
function
sqrt
main program
-9.45-
4
2
3
4
3
2
-9.46-
trong bo nh
nh
Mo
M t ch
h so segmentt s la
l h
hp le
l neu
s < STLR
-9.47-
1400
procedure
segment 3
segment
g
0
function
sqrt
symbol
table
segment 4
main program
segment 1
segment 2
limit
base
1000
1400
400
6300
400
4300
1100
3200
1000
4700
segment
table
2400
3200
segment 3
4300
4700
segment 2
segment 4
5700
6300
segment 0
6700
segment 1
s
limit base
CPU
<
yes
physical
memory
no
t
trap;
addressing
dd
i error
-9.49-
-9.50-
segment 0
data 1
segment 1
limit
base
25286
43062
4425
68348
segment table
process P1
segment 0
data 2
segment 1
Logical
L
i l address
dd
space
process P2
43062
editor
68348
72773
limit
base
25286
43062
8850
90003
segment table
process P2
p
data 1
90003
d t 2
data
98553
physical memory
-9.51-