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

Bài giảng hệ điều hành : BỘ NHỚ ẢO part 1 ppsx

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 (105.61 KB, 6 trang )

1
BÀI 7 : BỘ NHỚ ẢO
 Cho đến nay : Nạp toàn bộ tiến trình vào bộ nhơ rồi
thực hiện nó
 Chậm, lãng phí bộ nhớ
 Nếu kích thước tiến trình lớn hơn dung lương bộ nhớ chính
?
 Lưu ý : tại 1 thời điểm chỉ có một chỉ thò được thực hiện
0x1000
test.exe
0x3000
0x3000
test.exe
jump 0x2000
jump 0x5000
0x7000
OS
(base)
2
Giải pháp
 Nạp từng phần chương trình khi cần thiết
 Demand paging
Real memory
Real memory
Page0
emacs
Timet2t1
Page0
emacs
Page1
Page2


3
Cơ chế
 Sử dụng bộ nhớ phụ để lưu trữ tạm thời các trang chưa sử
dụng
 Ai chòu trách nhiệm chuyển đổi ?
 Lập trình viên : OverlayOverlay
 Hệ điều hành : Bộ nhớ ảo (Virtual MemoryVirtual Memory)
P
RAM
DISK
4
Bộ nhớ ảo = “lời nói dối vó đại“
 Người dùng : sở hữu bộ nhớ “vô hạn”, “riêng biệt”
 Hệ điều hành : “thầm lặng” thực hiện quá trình swapping
RAM
DISK
# of references
Memory address
10% RAM
+
90% DISK
5
Thực hiện Bộ nhớ ảo
 Bảng trang : thêm 1 bit valid/invalid để nhận diện
trang
đã hay chưa được nạp vào RAM
 Truy xuất đến một trang chưa được nạp vào bộ
nhớ :
lỗi trang (page fault)
17 1

4183 0
177 1
5721 0
Disk
Mem
Frame
valid/invalid
6
Xử lý lỗi trang
Bộ nhớ vật lý
M
Bộ nhớ
ảo
nạp
M
OS
Bảng trang
truy xuất
1
2
lỗi trang
3
xác đònh vò trí lưu trang
trên đóa
3’
swap out
trang nạn
nhân
4
mang

trang cần
truy xuất
vào bộ nhớ
5
cập nhật
bảng trang
6
tái kích
hoạt tiến
trình
frame trống
i

×