Bài giảng Hệ điều hành - Chương 4: Quản lý bộ nhớ cung cấp cho người học các kiến thức: Bộ nhớ và chương trình, các phương thức quản lý bộ nhớ, quản lý bộ nhớ trên IBM - PC. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 3Bài 4.1 – B nh và ch ộ ớ ươ ng
trình
B nh là tài nguyên quan tr ng đ thi ộ ớ ọ ể
hành chương trình
Mu n thi hành m t chố ộ ương trình thì mã
l nh và d li u c a nó ph i đệ ữ ệ ủ ả ược n p vào ạ
Trang 4Các b ướ c th c hi n ch ự ệ ươ ng
trình
Bước 1: D chị
Bước 2: Biên t pậ
Bước 3: Thi hành
Trang 5B ướ c 1: D ch ị
D ch các modul chị ương trình (t ngôn ng ừ ữthu t toán) sang ngôn ng máy (nh phân), ậ ữ ịbao g m:ồ
Chuy n đ i các tên bi n sang đ a ch ô ể ổ ế ị ỉ
nh logic (t c là đ a ch t ớ ứ ị ỉ ươ ng đ i c a ô ố ủ
nh trong đo n d li u c a ch ớ ạ ữ ệ ủ ươ ng trình) Chuy n đ i các câu l nh sang mã máy ể ổ ệ
Trang 6B ướ c 2: Biên t p ậ
Liên k t các modul đã d ch đ t o thành ế ị ể ạ
m t chộ ương trình hoàn ch nhỉ
Trang 7B ướ c 3: Thi hành
N p chạ ương trình vào b nh v t lý c ộ ớ ậ ụ
th , chuy n đ i các đ a ch logic sang đ a ể ể ổ ị ỉ ị
ch v t lýỉ ậ
Quy n đi u khi n đề ề ể ược trao cho câu l nh ệ
đ u tiên c a chầ ủ ương trình
Trang 8C u trúc ch ấ ươ ng trình
M t chộ ương trình thường g m các đo n: ồ ạ
Mã l nh, d li u, ngăn x pệ ữ ệ ế
Khi thi hành chương trình thì mã l nh, d ệ ữ
li u, ngăn x p thệ ế ường được n p vào các ạ
đo n nh riêng (không nh t thi t li n ạ ớ ấ ế ề
nhau)
Vi c t ch c, s p x p các đo n chệ ổ ứ ắ ế ạ ương
trình trong b nh có nh hộ ớ ả ưởng r t l n ấ ớ
Trang 9Bài 4.2 – Các ph ươ ng th c qu n lý b ứ ả ộ
nhớ
Phân khu c đ nhố ị
Phân đo nạ Phân trang
K t h p phân trang đo nế ợ ạ
Trang 11Phân khu đ ng ộ
B nh độ ớ ược phân ph i tu theo kích ố ỳ
thước chương trình
Chương trình nào th c hi n xong thì b ự ệ ộ
nh c a nó s đớ ủ ẽ ược gi i phóng, dành ch ả ỗ
Trang 12Nh n xét: ậ
C hai phả ương th c phân khu c đ nh và ứ ố ị
phân khu đ ng đ u có chung đ c đi m:ộ ề ặ ể
M i ch ỗ ươ ng trình khi thi hành đ u chi m ề ế
Trang 13Đ qu n lý các đo n nh , ngể ả ạ ớ ười ta s ử
d ng b ng qu n lý đo n SCB (Segments ụ ả ả ạ
control block), m i ph n t c a b ng s ỗ ầ ử ủ ả ẽ
Trang 15Chương trình b nh ngoài đở ộ ớ ược chia
thành nhi u ph n b ng nhau, m i ph n ề ầ ằ ỗ ầ
Trang 16Đ qu n lý các trang c a chể ả ủ ương trình,
người ta s d ng b ng qu n lý trang ử ụ ả ả
Trang 17Các ph ươ ng pháp n p trang và đ i ạ ổ
trang
Chi n lế ược phân trang thường xuyên ph i ả
th c hi n vi c n p l i trang, đ a trang ra ự ệ ệ ạ ạ ư
b nh ngoài ộ ớ
Làm tăng hao phí th i gian và ch m t c ờ ậ ố
đ h th ngộ ệ ố
Trang 18C n có các bi n pháp n p trang và đ i ầ ệ ạ ổ
trang sao cho thích h p nh t, ti t ki m ợ ấ ế ệ
th i gian nh t! ờ ấ
Trang 19Các chi n l ế ượ c n p trang ạ
N p đ n gi nạ ơ ả
N p trạ ước
N p theo yêu c uạ ầ
Trang 20
Các chi n l ế ượ c đ i trang ổ
Đ i ng u nhiênổ ẫ
N p trạ ước thì thay trước (FIFO)
Thay trang có l n s d ng cu i cùng cách ầ ử ụ ố
Trang 21
K t h p phân trang đo n ế ợ ạ
Chương trình được biên t p theo ki u ậ ể
phân đo n, các đo n đạ ạ ược qu n lý b ng ả ằ
M i đo n (m i modul chỗ ạ ỗ ương trình) l i ạ
được chia thành t ng trang M i đo n ừ ỗ ạ
s có b ng PCB c a riêng nóẽ ả ủ
Trang 22B nh v t lý độ ớ ậ ược chia thành các trang
có kích thước b ng nhau.ằ
Khi thi hành, m i đo n chỗ ạ ương trình s ẽ
đượ ấc c p m t s lộ ố ượng trang v t lý nh t ậ ấ
đ nhị
Trang 24Qu n lý b nh trên h th ng 8086 ả ộ ớ ệ ố
Đ a ch v t lý dài 20 bítị ỉ ậ
Ch qu n lý đỉ ả ược 1MB b nhộ ớ
B nh độ ớ ược chia thành các đo n có kích ạ
thướ ốc t i đa 64 KB (x p ch ng lên nhau)ế ồ
Đ a ch logic có d ng segment:offset, trong ị ỉ ạ
đó segment dài 16 bít, offset dài 16 bit
Trang 26Ch đ th c (Real mode) ế ộ ự
Áp d ng phụ ương pháp qu n lý b nh ả ộ ớ
tương t h th ng 8086ự ệ ố
Đ a ch v t lý dài 24 bítị ỉ ậ
V lý thuy t, nó có th qu n lý đề ế ể ả ược 16
MB b nh v t lý, nh ng do ph i tộ ớ ậ ư ả ương
thích v i 8086 (v n s d ng segment dài ớ ẫ ử ụ
16 bít, offset dài 16 bit), nên trên th c t nó ự ế
ch có b nh ~ 1MB + 64KBỉ ộ ớ
Trang 28Đ a ch logic (đ a ch o) ị ỉ ị ỉ ả
Đ a ch logic d ng ị ỉ ạ segment:offset
(segment dài 16 bít, offset dài 16 bit)
Đ a ch này không xác đ nh m t ô nh v t ị ỉ ị ộ ớ ậ
lý c th , nó ng v i m t ô nh logic (có ụ ể ứ ớ ộ ớ
th n m trên b nh v t lý ho c không)ể ằ ộ ớ ậ ặ
+ Segment: ch a các thông tin giúp tìm t i ứ ớ
đ a ch đo n nh ị ỉ ạ ớ
Trang 29B ng qu n lý đo n ả ả ạ
Các đo n nh đạ ớ ược được qu n lý b i các ả ở
b ng mô t (Descriptor table), m i b n ghi ả ả ỗ ả
c a b ng s ch a thông tin v m t đo n ủ ả ẽ ứ ề ộ ạ
nhớ
Trang 31+ P = 0: Đo n ch a đạ ư ược n p vào b nhạ ộ ớ
+ P = 1: Đo n đã đạ ược n p vào b nhạ ộ ớ
Trường DPL: Ch a m c u tiên c a đo n ứ ứ ư ủ ạ
Trang 32T bít 3 > 15: ch a s hi u đo n logic, ừ ứ ố ệ ạ
t c là s hi u b n ghi trong b ng mô t ứ ố ệ ả ả ả
Trang 33Tr ườ ng RPL (dài 2 bít): Ch a m c u tiên ứ ứ ư
Trang 34Cách chuy n đ i đ a ch segment:offset ể ổ ị ỉ
sang đ a ch v t lý? ị ỉ ậ
Trang 36phương pháp qu n lý b nh ki u phân ả ộ ớ ể
đo n ho c k t h p phân trang đo nạ ặ ế ợ ạ
Trang 40B nh k t h p phân trang ộ ớ ế ợ
Chương trình được chia thành nhi u ề
đo n, m i đo n ng v i m t modulạ ỗ ạ ứ ớ ộ
M i đo n đỗ ạ ược chia thành các trang có
kích thước 4 KB
B nh độ ớ ược chia thành các trang 4 KB,
các trang c a chủ ương trình được n p vào ạ
các trang c a b nhủ ộ ớ
Trang 41Qu n lý các trang ả
M t đo n có th có t i ộ ạ ể ớ 220 trang nên kích
thước b ng qu n lý trang s r t l nả ả ẽ ấ ớ
C n th c hi n phân c p đ gi m kích ầ ự ệ ấ ể ả
thước b ng qu n lý trangả ả
Trang 42M t ộ b ng qu n lý ả ả có th ch a thông tin ể ứ
c a ủ 210 = 1024 trang
M t ộ th m c trang ư ụ có th ch a thông tin ể ứ
c a ủ 210 = 1024 b ng qu n lý trang ả ả
M t ộ th m c trang ư ụ s qu n lý đẽ ả ượ c 210 x
210 = 220 trang
Trang 44Cách chuy n đ i đ a ch tuy n tính ể ổ ị ỉ ế sang
đ a ch v t lý? ị ỉ ậ
Trang 45H t Ph n 4 ế ầ