Ng Duc Thuan
152
Chương 5: Quảnlýbộnhớ
5.1 Đặtvấnđề
HĐH ngàynay chophépchạychếđộđanhiệm=> Nhu
cầuchiasẻbộnhớgiữacáctiếntrìnhkhácnhau.
Ø Hệđiềuhànhcónhiệmvụcấpphápbộnhớchocáctiến
trìnhkhicóyêucầu.
Ø Đểthựchiệntốtnhiệmvụnày, HĐH xemxétbộnhớ
dựatrênnhiềukhíacạnh:
oSựtươngtácgiữòachỉlogic vàvậtlý.
oQuảnlýbộnhớvậtlý.
oChiasẻthôngtin giữacáctiếântrìnhqua bộnhớ.
oBảomọisựtruyxuấtbấthợppháp.
Ng Duc Thuan
153
5.1 Đặtvấnđề
Quátrìnhánhxạđòachỉtượngtrưngcủa1 chương
trìnhnguồnvàobộnhớchínhvào3 thờiđiểm:
§ Thờiđiểmbiêndòch
§ Thờiđiểmnạp
§ Thờiđiểmxửlý
Khônggianđòachỉvàkhônggianvậtlý
ü Đòa chỉlogic-đòachỉảodo bộxửlýtạora.
ü Đòa chỉvậtlý-đòachỉthực.
ü Không gianđòachỉ-làtậphợpđòachỉảophát
sinhbởi1 chươngtrình.
ü Không gianvậtlý–làtậphợpđòachỉvậtlý
tươngứngđạichỉảo.
Chương 5: Quảnlýbộnhớ
Ng Duc Thuan
154
Chương 5: Quảnlýbộnhớ
PHÂN CẤP BỘ NHỚ
CACHE
PRIMARY STORAGE
SECONDARY STORAGE
Từtrênxuống
ü Tốcđộgiảm
ü Dung lượngtăng
ü Giáthànhgiảm
Cácvấnđềquantâm
ü Bộnhớchínhchứa1 hay nhiềutiếntrình?
üCácquytrìnhdùngvùngnhớnhưnhau/ khácnhau?
üBảovệvùngnhớcủaOS vàcủatừngtiếntrình?
üVùngnhớcủaquytrìnhlàliêntục/ giánđoạn?
Ng Duc Thuan
155
Chương 5: Quảnlýbộnhớ
CHIẾN LƯC QUẢN LÝ BỘ NHỚ
Chiếnlượcnạp(fetch strategies)
§ Nạpphầnnàocủatiếntrìnhvàobộnhớvàkhi
nàonạp ?
§ Nạptheoyêucầu & nạptiênđoán
Chiếnlượcsắpđặt(placement strategies)
Nạptiếntrìnhmớivàâu ?
Chiếnlượcthaythế(replacement strategies)
Đưatiếntrìnhnàorabộnhớphụ ?
Ng Duc Thuan
156
Chương 5: Quảnlýbộnhớ
TỔ CHỨC CẤP PHÁT BỘ NHỚ
Cấpphátbộnhớliêntục
ØĐơn lậptrình
ØĐalậptrìnhphânđoạncốđònh
ØĐalậptrìnhphânđoạnthaổi
ØĐalậptrìnhcóthaythếvùngnhớ
Cấpphátbộnhớkhôngliêntục
Ng Duc Thuan
157
Chương 5: Quảnlýbộnhớ
5.2 Cấpphátliêntục
Cáchệđơnchươngtrình
Ýtưởng: Bộnhớchỉchiasẻchohệđiềuhànhvàmột
chươngtrìnhduynhấtngườisửdụng. Mộtphầnbộ
nhớdo HĐH chiếmgiữphầncònlạithuộcvềtiến
trìnhngườidùng.
Thảoluận:
F Cầnbảovệvùngnhớkhỏisựxâmphạmtiếntrình
ngườidùng.(sửdụngthanhghigiớihạn)
FTạimộtthờiđiểmchỉcóthểđápứngmộttiếntrình.
Ng Duc Thuan
158
OS
USER
UNUSED
CPU
Boundary
register
ü Mỗi lầntiếntrìnhngườidùngtruyxuấtcầnkiểmtravới
nộidung thanhghigiớihạn=>Tốcđộtruyxuấtkhôngcao.
üSửdụngCPU khônghiệuquả.
Chương 5: Quảnlýbộnhớ
Ng Duc Thuan
159
2.Hệthốngđachươngtrìnhvớiphânvùngcốđònh.
tưởng: Bộnhớđượcchiathànhn phânvùngcó
kíchthướccốđònh(cácphânvùngcókíchthước
khácnhau). Tiếntrìnhcóyêucầubộnhớđượclưu
trữtronghàngđợi. Hàngđợiđượctổchức:
Sửdụngmỗiphânvùngmộthàngđợi.
Sửdụngmộthàngđợiduynhất.
Process queue
P0P2 P1
OS
1
2
3
P0P2 P1
P5P7 P6
Process queue
OS
1
2
3
Chương 5: Quảnlýbộnhớ
Ng Duc Thuan
160
Thảoluận:
ü Kíchthướctiếntrìnhkhácnhau => phânmảnhnội.
ü Mứcđộđachươngcủahệthốngbògiớihạnbởi
phânvùng.
CPU
CPU
Limit
Limit
register
register
Base
Base
register
register
Bo
Bo
ä
ä
nhơ
nhơ
ù
ù
+
<
Đ
Đ
òa
òa
ch
ch
ỉ
ỉ
lỗi
lỗi
Chương 5: Quảnlýbộnhớ
Ng Duc Thuan
161
3. Hệthốngđachươngtrìnhvớiphânvùngđộng.
Ýtưởng:Tiếntrìnhđượcđưavàohệthống, cấp
phátmộtvùngnhớvừúngkíchthướctiến
trình. Phầncònlạicấpchotiếntrìnhkhác.
OS
User A 15KB
User B 25KB
User C 40KB
P0P2 P1
Chương 5: Quảnlýbộnhớ
Ng Duc Thuan
162
Thảoluận:
ØKhông cóhiệntượngphânmảnhnộivi, nhưngxuất
hiệnphânmảnhngoạivi.
ØKhikíchthướctiếntrìnhtăngtrưởngtrongquátrình
xửlýmàkhôngcònvùngnhớtrốngkềnhaủrộng.
Ø Ghilạihiệntrạngbộnhớđểcấpphátđểcấpphát
độngchúng.
Ø Có2 phươngpháp:
§ Quảnlýbằngmộtbảngcácbit.
§ Quảnlýbằngdanhsách( First fit, Best fit, Worst fit)
Chương 5: Quảnlýbộnhớ
Ng Duc Thuan
163
HỆ THỐNG ĐA CHƯƠNG
PHÂN ĐOẠN THAY ĐỔI
OS
Free space 20KB
Free space 35KB
Free space 15KB
Free space 10KB
12KB
?
Best fit
First fit
Worst fit
Chiếnlượcsắpđặt
Vấnđềphânmảnhvùngnhớ(fragmentation)
Ng Duc Thuan
164
DCBA
111001111100111
D(4)(3)C(2)B(3)(2)A(4)
40P 24H
36P 29P
31
1
H 414P
Chửụng 5: Quaỷnlyựboọnhụự
Ng Duc Thuan
165
4. Cáchệthốngđachươngvớikỹùthuật“SWAPPING”
Ýtưởng: Mộttiếntrìnhchờtươngđốidàitạmthời
chuyểnrabộnhớphụ(swapout). Khikếtthúcviệc
chờtiếntrìnhtrởlạibộnhớchínhđểxửlý(swap in.)
OS
SWAPPING
AREA
Programs on Secondary
storage
swap in
swap out
Chương 5: Quảnlýbộnhớ
Ng Duc Thuan
166
Chương 5: Quảnlýbộnhớ
5.3 Cấpphátkhôngliêntục
1.Phântrang(paging)
Ýtưởng:
1.Phânbộnhớthànhcáckhốicókíchthướccốđònhbằng
nhau.
ü Mộttiếntrìnhkíchthướcntrangsẽyêucầun khungtrang
tựdo.
ü Cơ chếMMU(ManagerMemory Unit) trongkỹthuậtphân
trang.
ü Hỗtrợ phầncứngthựchiệnchuyểnđổiđòachỉtrongcơ
chếphântranglàbảngtrang(pagestable). Mỗiphầntử
trongbảngchobiếtcácđạichỉbắtđầucủavòtrílưutrữ
trangtươngứngtrongbộnhớvậtlý.
Ng Duc Thuan
167
5.3 Cấpphátkhôngliêntục
Chuyểnđổiđòachỉ:
MỗiđòachỉphátbởiCPU baogồm2 thànhphần:
+ Sốhiệutrang(p)
+ Đòachỉtươngđốitrongtrang(d)
Kíchthướcmỗitrangdo phầncứngquònhthường
lũythừacủa2 nằmtrongmiềntrò(512 ->8192).
ØNếukíchthướccủakhônggianđòachỉlà2
m
và
kíchthướctrang2
n
, thìm-nbits caocủòachỉảo
sẽbiểudiễnsốtrang, vàn bits thấpchobiếtđòachỉ
tươngđốitrongtrang.
Chương 5: Quảnlýbộnhớ
Ng Duc Thuan
168
ÁNH XẠ ĐỊA CHỈ TRỰC TIẾP TRONG HỆ
THỐNG PHÂN TRANG
Ng Duc Thuan
169
ÁNH XẠ TRANG DÙNG BỘ NHỚ KẾT HP
Ng Duc Thuan
170
ØKỹ thuậtphântrangloạibỏhiệntượngphânmảnh
ngoạivi.
ØVẫn cònxuấthiệntượngphânmảnhnộivi khikích
thướctiếntrìnhkhônglàbộisốkíchthướccủatrang.
ØMộttiếntrìnhngườidùngcoibộnhớphântrangnhư
khônggianliêntục, đồngnhấtvàchỉchứaduynhất
mộttiếntrình.
ØPhầncứngnhiệmvụđổiđòachỉlogic thànhđòachỉ
vậtlý.
ØĐểlưutrữthôngtin chi tiếtquátrìnhcấpphátbộ
nhớ, HĐH sửdụngmộtbảngkhungtrang.
Thảoluận
Ng Duc Thuan
171
Chương 5: Quảnlýbộnhớ
KHÁI NIỆM BỘ NHỚ ẢO
Làhìnhảnhcủabộnhớthực
vĐòa chỉảoV: thamkhảobởiprocess
vĐòa chỉthựcR : cótrongbộnhớthực
|V| >> |R|
Đòachỉảượcánhxạthànhđòachỉthựcmỗikhiquá
trìnhthựcthi à dynamic address translation
Sựcầnthiếtcủabộnhớảo
Ø Dễ pháttriểnứngdụng
Ø Lưutrữđượcnhiềuquátrìnhtrongbộnhớ
Ø Táiđònhvò(relocation) cácquátrình
Ø Chocácquátrìnhchiasẻvùngnhớdễdàng
Ng Duc Thuan
172
ANH XAẽ ẹềA CHặ TRONG HE THONG
PHAN ẹOAẽN
Ng Duc Thuan
173
Chương 5: Quảnlýbộnhớ
PHỐI HP PHÂN TRANG & PHÂN ĐOẠN
ĐòachỉảoV=(s, p, d)
v s: chỉsốđoạn(segment #)
v p : chỉsốtrangtrongđoạn(page #)
v d : độdờicủaônhớtrongtrang(displacement)
ĐòachỉthựcR=(p’, d’)
v p’ : chỉsốtrangthực(frame #)
v d’ : độdờicủaônhớtrongtrangthực
Ánhxạđòachỉ
(s, p) à Associate memory à p’
Hoặcsàs’(s’, p) à p’
(s’ : đòachỉđầubảngánhxạtrangvớimỗiđoạn)
Ng Duc Thuan
174
ÁNH XẠ ĐỊA CHỈ TRONG HỆ THỐNG
PHÂN ĐOẠN KẾT HP PHÂN TRANG
b
+
b+p
Virtual address
p’ d
Real address
p’
p’
Associative map
p ds
s
Segment
table
Page
table
Ng Duc Thuan
175
CẤU TRÚC ÁNH XẠ BỘ NHỚ
Process
table
Segment
tables
Page
table
Real
memory
(tronghệthốngphânđoạnkết
hợpphântrang)
Ng Duc Thuan
176
Chương 5: Quảnlýbộnhớ
CÁC CHIẾN LƯC QUẢN LÝ BỘ NHỚ ẢO
Cácchiếnlượcquảnlý
ØChiếnlượcnạp(Fetch strategies)
ØChiếnlượcsắpđặt(Placement strategies)
ØChiếnlượcthaythế(Replacementstrategies)
Chiếnlượcnạp
ØNạptrangtheoyêucầu(Demand paging)
ØNạptrangtiênđoán(Anticipatory paging)
ØPage fault vàcácbướcxửlýpage fault
Chiếnlượcsắpđặt
Chiếnlượcthaythế