
Chương 8
BNh o

10.2
Nội dung trình bày
Tại sao cần phải có bộnhớ ảo ?
Tổng quan vềhiện thực bộnhớ ảo
Hiện thực bộnhớ ảo : demand paging
Hiện thực bộnhớ ảo : Page Replacement
– Các giải thuật thay trang (Page Replacement Algorithms)
Vấn đềcấp phát Frames
Vấn đềThrashing
Hiện thực bộnhớ ảo : Demand Segmentation

10.3
Tại sao cần có bộnhớ ảo ?
Nhìn lại paging và segmentation :
Các tham chiếu đến bộnhớđược chuyển đổi động thành địa chỉthực lúc
process đang thực thi
Một process gồm các phần nhỏ(page hay segment), các phần này được nạp
vào các vùng có thểkhông liên tục trong bộnhớchính
CPU
package
CPU
Memory Disk
controller
Bus
The CPU sends virtual
addresses to the MMU
MMU
The MMU sends physical
addresses to the memory MMU: memory management unit

10.4
Bộnhớ ảo (1)
Nhận xét: không phải tất cảcác phần của một process cần thiết
phải được nạp vào bộnhớchính tại cùng một thời điểm
•Ví dụ
– Đoạn mã điều khiển các lỗi hiếm khi xảy ra
– Các arrays, list, tables được cấp phát bộnhớ(cấp phát tĩnh) nhiều hơn
yêu cầu thực sự
– Một sốtính năng ít khi được dùng của một chương trình
•Ngay cảkhi toàn bộchương trình đều cần dùng thì có thểkhông
cần dùng toàn bộcùng một lúc.

10.5
Bộnhớ ảo (2)
B
ộ
nh
ớ ả
o(virtual memory)
– Cơ chếđược hiện thực trong hệđiều hành đểcho phép thực thi một quá
trình mà chỉcần giữtrong bộnhớchính một phần của không gian địa chỉ
luận lý của nó, còn phần còn lại được giữtrên bộnhớphụ(đĩa).
Ưu điểm của bộnhớ ảo
– Sốlượng process trong bộnhớnhiều hơn
– Một process có thểthực thi ngay cảkhi kích thước của nó lớn hơn bộnhớ
thực