CHƯƠNG
CHƯƠNG
7: B
7: B
Ộ
Ộ
NH
NH
Ớ
Ớ
CH
CH
Í
Í
NH
NH
Main Memory
Main Memory
8.2
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
N
N
Ộ
Ộ
I DUNG
I DUNG
Background
Swapping
truy xuấttrựctiếp.
Truy xuất thanh ghi mấtmột xung đồng hồ (hoặcíthơn).
Truy xuấtbộ nhớ chínhcóthể mất nhiềuxungđồng hồ
Cache ở giữabộ nhớ chính và các thanh ghi CPU.
Bộ nhớđòi hỏiphải đượcbảovệđểđảmbảohoạt động đúng.
8.5
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
THANH GHI CƠ S
THANH GHI CƠ S
Ở
Ở
V
V
À
À
THANH GHI GI
THANH GHI GI
Ớ
Ớ
I H
I H
Ạ
Ạ
N
N
Base and Limit Registers
Base and Limit Registers
Ị
& D
& D
Ữ
Ữ
LI
LI
Ệ
Ệ
U V
U V
Ớ
Ớ
I B
I B
Ộ
Ộ
NH
NH
Ớ
Ớ
Gắnkết địachỉ chỉ thị và dữ liệuvới địachỉ bộ nhớ xảy ra trong
ba giai đoạn khác nhau
z Thờigianbiêndịch (compile time): nếuvị trí bộ nhớ
đượcb
iếttrước, mã tuyệt đối(absolute code) có thể được
sinh ra; phảibiêndịch lạinếuvị trí khởi đầuthayđổi.
z Thờigiannạp (Load time): phảisinhramãcóthểđịnh vị
lại(relocatable code) nếuvị trí bộ nhớ không đượcbiết
trước khi biên dịch
T CHƯƠNG
T CHƯƠNG
TRÌNH NGƯ
TRÌNH NGƯ
Ờ
Ờ
I D
I D
Ù
Ù
NG
NG
8.8
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
KHÔNG GIAN Đ
KHÔNG GIAN Đ
Ị
Ị
A CH
A CH
Ỉ
Ỉ
LOGIC vs
LOGIC vs
. K
. K
HÔNG
ĐƠN V
Ị
Ị
QU
QU
Ả
Ả
N TR
N TR
Ị
Ị
B
B
Ộ
Ộ
NH
NH
Ớ
Ớ
Memory
Memory
-
-
Management Unit (
Management Unit (
MMU
MMU
)
)
Thiếtbị phầncứng ánh xạđịachỉảovới địachỉ vậtlý
NG M
NG M
Ộ
Ộ
T THANH GHI
T THANH GHI
T
T
Á
Á
I Đ
I Đ
Ị
Ị
NH V
NH V
Ị
Ị
8.11
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
N
N
Ạ
Ạ
P Đ
P Đ
Ộ
Mảnh code nhỏ, stub, được dùng để định vị thủ tụcthư viện
thường trú trong bộ nhớ thích hợp.
Stub tự sắp đặtlạivới địachỉ thủ tụcvàthựchiệnthủ tục
HĐH cầnkiểmtrathủ tụcnằm trong không gian địachỉ quá
trình
Liên kết động đặcbiệthữudụng đốivớicácthư viện
Hệ thống đượcbiếtnhư các thư việnchiasẻ (shared
libraries)
8.13
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
Swapping
Swapping
Một quá trình có thểđược hoán chuyểntạmthờirakhỏibộ nhớ lên lưutrữ
ngoài, và sau đó được mang trở lạivàobộ nhớđểtiếptụcthựchiện.
Lưutrữ ngoài – đĩa nhanh, đủ lớn để chứa đượccácbảnsaocủatấtcả
các ảnh bộ nhớ người dùng; phải cung cấptruyxuấttrựctiếp đếncácảnh
bộ nhớ này
Roll out, roll in –biếnthể của swapping được dùng cho các thuật toán lập
lịch biểudựatrênưu tiên; quá trình độ ưutiênthấpbị chuyển ra, quá trình
có độ ưutiêncaođượcnạpvàovàđượcthựchiện
Phầnlớnthời gian swap là thờigiantruyền; tổng thờigiantruyềntỷ lệ với
lượng bộ nhớđược swapped
Các phiên bản đượcsửa đổi được tìm thấy trên nhiều HĐH (UNIX, Linux,
và Windows)
Hệ thống duy trì mộthàngđợisẵn sàng (ready queue) các quá trình sẵn
sàng chạycóảnh bộ nhớ trên đĩa
8.14
á
t
t
k
k
ề
ề
Bộ nhớ chính thông thường chia thành hai phần:
z HĐH thường trú, thường đượclưu trong bộ nhớ thấpvới
vector interrupt
z Các quá trình người dùng đượclưu trong bộ nhớ cao
Các thanh ghi tái định vịđược dùng để bảovệ các quá trình
người dùng
z Thanh ghi cơ sở (base register) chứagiátrị của địachỉ vật
lý nhỏ nhất(của vùng nhớđượccấp phát)
z Thanh ghi giớihạn (limit register) chứakhoảng địachỉ logic
(độ dài đoạnbộ nhớđượccấp phát)
z MMU ánh xạđịachỉ logic → vậtlý
8.16
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
B
B
ả
ả
o
o
v
C
C
ấ
ấ
p
p
ph
ph
á
á
t
t
k
k
ề
ề
(Cont.)
(Cont.)
Cấpphátđangăn (multiple-partition allocation)
z Lỗ (Hole) – khốibộ nhớ sẵncó; cáclỗ kích cỡ khác nhau và
trảiratrênbộ nhớ
z Khi quá trình đếnnóđượccấp phát mộtlỗđủlớn để chứa quá
trình
z Hệđiều hành duy trì thông tin về :
a) các ngăn đượccấp phát b) các ngăntự do (hole)
OS
process 5
process 8
process 2
OS
tr
tr
ữ
ữ
đ
đ
ộ
ộ
ng
ng
First-fit: Cấp phát lỗđầutiênphùhợp
Best-fit: Cấp phát lỗ nhỏ nhất trong các lỗ phù hợp
Worst-fit: Cấp phát lỗ lớnnhất
Làm thế nào thỏamãnyêucầukíchcỡ n từ một danh sách các lỗ tự do
First-fit và best-fit tốthơnworst-fit về tốc độ và sử dụng lưutrữ
8.19
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
Phân
Phân
m
m
ả
ả
nh
nh
(Fragmentation)
(Fragmentation)
Lưuvếttấtcả các khung tự do
Bảng trang đượcsử dụng để dịch địachỉ logic sang địachỉ vật
lý
Có thể dẫn đếnhiệntượng phân mảnh trong
8.21
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
Sơ
Sơ
đ
đ
ồ
ồ
d
d
ị
ị
ch
ch
đ
đ
ị
ị
a
a
ch
ch
ỉ
ứ
ứ
ng
ng
phân
phân
trang
trang
8.23
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
Mô
Mô
h
h
ì
ì
nh
nh
phân
phân
trang
trang
c
c
ủ
ủ
a
lý
8.24
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
V
V
í
í
d
d
ụ
ụ
phân
phân
trang
trang
Bộ nhớ 32-byte và kích thướctrang4-byte
8.25
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts – 7
th
Edition, Feb 22, 2005
C
C
á
á
c
c