Tải bản đầy đủ (.pdf) (17 trang)

Tổ chức bộ nhớ ảo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (408.4 KB, 17 trang )

Trong TH dung lượng bộ nhớ khá lớn thì các hệ thống đó hoạt động tốt hơn đáng
kể do giảm được thời gian thực hiện swapping.
Hình 7.15
¶nh bé nhí, ®-îc l-u trªn bé nhí ngoµi
OS
Vïng
Swapping
a
0
b
B CA
a a a
d
e
f
Hệ thống đa nhiệm với swapping, tại mỗi thời điểm chỉ có một chương trình trong
bộ nhớ. Chương trình đó tiếp tục đến khi có một trong các sự kiện sau xảy ra:
1. Xuất hiện tín hiệu timer
2. Nó kết thúc
Vùng swapping của chương trình đó sẽ được copy vào bộ nhớngoài, còn ảnh bộ
nhớ của chương trình tiếp theo sẽ được nạp vào vùng swapping. Chương trình thứ
hai tiếp tục được thực hiện, quá trình cứ thế tiếp tục.
Chương 8: Tổ chức bộ nhớ ảo
8
8
.
.
1
1
M
M




đ
đ


u
u
Thuật ngữ virtual memory thường gắn liền với khả năng đánh địa chỉ cho không
gian nhớ lớn hơn nhiều dung lượng bộ nhớ vật lý. Virtual memory xuất hiện (ứng
dụng) lần đầu vào năm 1960 tại trường đại học Manchester và sau đó nhanh chóng
được phổ biến.
Có hai phương pháp được chấp nhận một cách tự nhiên khi thực hiện (tổ chức) bộ
nhớ ảo: đó là tổ chức theo trang (page) và theo phân đoạn (segment). Trong một số
hệ thống, ứng dụng một trong hai phương pháp đó còn trong một số khác thì áp
dụng tổ hợp cả hai phương pháp.
Tất cả các cơchế bộ nhớ ảo đều đặc trưng bởi tính chất rằng địa chỉ được tính bởi
chương trình, không nhất thiết phải trùng với địa chỉ bộ nhớ (vật lý). Trong thực tế
địa chỉ ảo thể hiện không gian lớn hơn nhiều so với thực tế bộ nhớ vật lý.
8
8
.
.
2
2
Q
Q
u
u
á

á
t
t
r
r
ì
ì
n
n
h
h
p
p
h
h
á
á
t
t
t
t
r
r
i
i


n
n
c

c
á
á
c
c
d
d


n
n
g
g
t
t


c
c
h
h


c
c
b
b


n

n
h
h


H.8.1 biểu diễn quá trình phát triển từ các hệ thống bộ nhớ thực đơn nhiệm (1 user)
đến các hệ thống bộ nhớ ảo sử dụng tổ hợp cả hai phương pháp page và segment.
Vỡ t chc b nh o phc tp hn nhiu nờn cú hai chng: C8: t chc b nh o
v C9: iu khin b nh o
Hỡnh 8.1
Hệ thống đơn
nhiệm
Hệ đa nhiệm, bộ nhớ vật lý
Phân đoạn cố định Phân đoạn thay đổi
Địa chỉ
tuyệt đối
Địa chỉ
thay đổi
Tổ chức theo
trang
Tổ chức theo
segment
Tổ chức kết
hợp
Hệ đa nhiệm, bộ nhớ ảo
Bộ nhớ vật lý Bộ nhớ ảo
8.3 B nh o: cỏc khỏi nim cbn
Ct lừi cỏc khỏi nim v b nh o l ch a ch m process cú th truy nhp gi
l khụng gian a ch o V ca process ú, cũn vựng a ch thc tn ti trong b
nh gi l khụng gian a ch thc R.

Dự rng process lm vic vi a ch o thỡ tht s chỳng phi lm vic vi b nh.
Do ú vo thi gian thc hin process, cỏc a ch o cn phi bin i thnh a
ch thc, ngoi ra vic x lý phi nhanh chúng vỡ nu khụng thỡ hiu qu ca mỏy
tớnh cú th gim ti mc khụng chp nhn c v li ớch ca t chc b nh o
khụng th ng dng c.
Hỡnh v: ỏnh x cỏc ụ nh t b nh vt lý sang b nh o
Bộ nhớ ảo Bộ nhớ vật lý
xỏc nh ỏnh x gia a ch thc v o, ngi ta ó thit k cỏc phng phỏp
khỏc nhau. Cch bin i a ch ng (DAT-dynamic address translation) m
bo s bin i a ch o sang a ch o vo thi gian thc hin process. Tt c
cỏc h thng ú u cú tớnh cht chung: ú l cỏc a ch o lin nhau cha chc ó
tng ng vi cỏc a ch thc lin nhau (h.8.3). Nhth user khụng cn phi quan
tõm n vic np chng trỡnh hay d liu ca mỡnh trong b nh (vt lý). Anh ta
cú c kh nng vit chng trỡnh mt cỏch t nhiờn hn, ch phi quan tõm n
cỏc vn thit k chng trỡnh, thut toỏn m khụng cn ý n chi tit c th
ca thớờt b. Khi ú mỏy tớnh (cú th) c coi nhl mt ci gỡ ú tru tng hn-
mt cụng c logic no ú chy chng trỡnh ch khụng phi nhmt cỏi mỏy
vt lý vi cỏc chi tit cn ý, lm khú khn cho quỏ trỡnh thit k chng trỡnh.
Hỡnh 8.3
Cơ chế
ánh xạ
DAT
Bộ nhớ ảo Bộ nhớ vật lý
88..44 TTcchhcc bbnnhhnnhhiiuu llpp
Nu nhchỳng ta ra rng khụng gian a ch o ca user s ln hn khụng gian
a ch thc, v nu chỳng ta nh hng rng h thng s lm vic tt trong ch
a nhim v ti nguyờn b nh c chia s (dựng chung), thỡ chỳng ta cn cú mụi
trng, cụng c lu tr chng trỡnh, d liu trong b nh th cp. Thng thỡ
ngi ta s dng mụ hỡnh b nh hai cp (h.8.4). Lp th nht- b nh vt lý, ti
ú cn np cỏc chng trỡnh c thc hin v cỏc d liu cn truy cp. Lp th

hai- b nh ngoi cú dung lng ln lu tr cỏc chng trỡnh, d liu lỳc ú
cha cn np.
chy chng trỡnh, code v d liu ca nú cn c a vo b nh
Hỡnh 8.4
BXL
Bộ nhớ
ngoài
Bộ nhớ vật lý
HDD
TAPE
...
Bi vỡ b nh thc hin c chia s gia nhiu chng trỡnh v mi chng trỡnh
(process) cú th cú khụng gian a ch o ln hn khụng gian a ch thc do ú
vo thi gian thc hin, ch cú mt phn mó (code) v d liu ca mi process nm
trong b nh thc. Trờn h.8.5 th hin cu trỳc b nh hai lp, trong b nh thc
lu ch mt phn b nh o ca cỏc chng trỡnh.
Hỡnh 8.5
Bộ nhớ ngoài
Bộ nhớ vật lý
A
B
A
C
A
B
C
Bộ nhớ ảo
ứng dụng C
Bộ nhớ ảo
ứng dụng B

Bộ nhớ ảo
ứng dụng A
Bộ nhớ vật lý
ứng dụng A
Bộ nhớ vật lý
ứng dụng B
Vùng làm bộ nhớ ảo
8
8
.
.
5
5
B
B
l
l
o
o
c
c
k
k
i
i
n
n
g
g
m

m
a
a
p
p
p
p
i
i
n
n
g
g
:
:


n
n
h
h
x
x


t
t
h
h
e

e
o
o
k
k
h
h


i
i
Cch bin i a ch ng (DAT) phi s dng cỏc bng ỏnh x - ch rng cỏc ụ
nh o no ti thi im hin thi nm trong b nh v ụ nh thc no. Nu nh
ỏnh x c thc hin theo tng byte hay word thỡ rừ rng thụng tin v ỏnh x cũn
ln hn bn thõn b nh thc. Do ú cú th ỏp dng b nh o, cn cú phng
phỏp cho phộp gim kớch thc ca bng ỏnh x.
Vỡ ỏnh x tng ụ nh l khụng th chp nhn, chỳng ta phi gp theo cỏc khi -
block, v h thng theo dừi xem cỏc block ca b nh o nm õu trong b nh.
Kớch thc block cng ln thỡ thụng tin v ỏnh x cng nh, nhng cỏc block ln
li cn nhiu thi gian np hn v ngoi ra vi xỏc sut ln cũn hn ch s process
cú th chia s chung b nh vt lý.
Khi thit k cch b nh o xut hin cõu hi l cỏc block cú kớch thc nh
nhau hay khỏc nhau. Nu cỏc block cú kớch thc nhnhau thỡ chỳng (block) c
gi l cỏc trang (page), cũn t chc b nh o tng ng gi l t chc theo trang.
Nu cỏc block cú th cú kớch thc khỏc nhau thỡ chỳng c gi l cỏc on
(segment), t chc b nh o l t chc theo on. Trong mt s h thng c hai
cỏch c t hp tc l cỏc segment c to thnh t cỏc page cú kớch thc nh
nhau.
Cỏc a ch trong cỏc h thng ỏnh x theo khi l cỏc a ch gm hai thnh phn
(hai chiu). truy nhp n mt d liu c th, program ch ra block v offset

ca d liu trong block ca d liu trong block ú (h.8.6)
b
(Block No)
d
(Offset )
Địa chỉ ảo v = (b,d)
a ch o V c ch ra vi cp s v=(b,d) trong ú b- s block (s th t) cũn d-
offset ( lch) tng i so vi u block.
S bin i t a ch o v=(b,d) thnh a ch thc r c thc hin nhtrờn hỡnh
8.7. Mi process cú bng ỏnh x block ca mỡnh (nm trong b nh thc). a ch
thc a ca bng ny c np vo thanh ghi riờng ca BXL gi l thanh ghi a ch
(u) ca bng ỏnh x (block table origin register). Mi dũng ca bng ỏnh x cha
ỏnh x ca mt block ca process, ngoi ra cỏc dũng c sp xp theo th t s
block, t block 0, block 1. S block b c cng vi a ch cs ca bng ỏnh x
a, ta c a ch thc ca dũng cha ỏnh x ca block b. Dũng ny cha a ch
thc b' ca block b. Sau ú cng thờm vo a ch b' ny vi offset d ta c a
ch thc cn tỡm r=b'+d. Tt c cỏc phng phỏp block mapping dựng trong cỏc h
thng t chc theo trang, segment hay t hp c th hin trờn h.8.7
Hỡnh 8.7
Địa chỉ thực
a
Block table origin
Register
b d
Địa chỉ ảo v = (b,d)
+
Bảng ánh xạ
a+b
b
l b'

Độ dài
Địa chỉ
block
trong bộ
nhớ vật

+
b'
r
Cn phi ý rng block mapping c thc hin ng (dynamic) ngay trong thi
gian thc hin process. Nu cch bin i a ch DAT khụng hiu qu, thỡ
chi phớ ca nú cú th lm gim hiu sut ca h thng ti mc vt quỏ u th m
b nh o mang li.
88..66 TTcchhcc tthheeoo ttrraanngg:: ccỏỏcc kkhhỏỏii nniimm ccbbnn
Chỳng ta xem xột ỏnh x theo khi vi kớch thc c nh tc l t chc b nh
theo trang. Trong phn ny chỳng ta ch xem xột t chc theo trang thun tuý.
a ch o trong h thng theo trang c th hin bng cp v=(p,d) trong ú p- s
th t trang trong b nh o cũn d-offset trong trang p (h.8.8)
Hỡnh 8.8
p
(Page No)
d
(Offset )
Địa chỉ ảo v = (p,d)
Process cú th c thc hin tip nu trang hin thi cn n ca nú nm trong b
nh thc. Cỏc trang c ghi t b nh ngoi vo b nh thc, theo cỏc block gi
l page frame v cú kớch thc ỳng bng kớch thc trang. Cỏc page frame bt
u t cỏc a ch (trong b nh thc) l bi s ca kớch thc trang (h.8.9). Cỏc
trang cú th c np vo bt k page frame trng no.
Hỡnh 8.9

Số trang
0
page frame 0
page frame 1
p
2p
3p
page frame 2
Kích th-ớc Vùng địa chỉ
0 p 0 p-1
1 p p 2p-1
2 p 2p 3p-1
Bin i a ch ng trong h thng t chc theo trang, thc hin theo cỏch sau:
Process truy nhp n a ch o v=(p,d). Cch ỏnh x trang th hin trờn h.8.10,
u tiờn tỡm s trang p trong bng ỏnh x trang v xỏc nh c page frame p'
tng ng vi trang p. a ch thc c tớnh bng tng ca p' v d.
Hỡnh 8.10
p d
page frame 0
page frame 1
p'
offset d
page frame p'
Bộ nhớ vật lý
.
.
.
.
Địa chỉ ảo
DAT

Page frame p' t-ơng ứng
với trang ảo p
Chỳng ta s xem xột quỏ trỡnh ny k hn. Trong thc t, thng thỡ khụng phi tt
c cỏc page ca process u nm trong b nh, do ú bng ỏnh x phi ch ra l
trang cn truy nhp cú nm trong b nh khụng v nm õu, cũn nu khụng thỡ
nú nm õu trong b nh ngoi. Trờn h.8.11 biu din mt dũng d liu trong bng
ỏnh x trang. Bit flag r ch ra s hin din ca trang trong b nh: nu r=1 tc l
trang nm trong b nh thc, cũn nu r=0 thỡ trang ú hin khụng cú trong b nh
thc. Nu nhtrang ú khụng cú trong b nh thỡ s l a ch (v trớ) ca trang
trong b nh ngoi, cũn nu nú nm trong b nh thỡ p' l s page frame. Chỳ ý
rng p' khụng phi l a ch thc tht s. a ch thc a - ca page frame p' c
tớnh bng a=(p)*(p') (s trang p cú giỏ tr t 0.1.2.3...)
Hỡnh 8.11

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×