Tải bản đầy đủ (.ppt) (7 trang)

BÀI 9: PHÂN ĐỌAN VÀ PHÂN TRANG potx

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

1
BÀI 9 : PHÂN ĐỌAN VÀ PHÂN TRANG

Cấp phát không liên tục :

Segmentation

Paging
2
Mô hình Segmentation

Tiến trình gồm nhiều segment, áp dụng base
bound cho từng segment

Phân chia không gian đòa chỉ thành các
segment ?
gcc
Text seg
r/o
Stack seg
r/w
0x1000
0x3000
0x5000
0x6000
Real memory
0x2000
0x8000
0x6000
Base&bound?
3


Chuyeån ñoåi ñòa chæ trong moâ hình Segmentation
Virtual addr
Seg# offset
3 128
Seg table
Prot base len
r 0x1000 512
mem
seg
128
+
0x1000
?
yes
no
fault
4
Mô hình Segmentation

Cấp phát không liên tục => tận dụng bộ nhớ hiệu quả

Chia sẻ được ở mức module

Chuyển đổi đòa chỉ phức tạp

Vấn đề “Cấp phát động” : lựa chọn vùng nhớ liên tục cho 1
segment ?

Phân mảnh ngoại vi
gcc

emacs
??
External
fragmentation
Nachos
5
Moâ hình Paging

Khoâng gian ñòa chæ = {page}

Khoâng gian vaät lyù = {frame}

Kích thöôùc trang ?
Internal
frag
Real memory
gcc
emacs
emacs
gcc
6
Chuyeån ñoåi ñòa chæ trong moâ hình Paging
CPU
KGVL
Physical
addr
Logical
addr
p d
f d

f
7
Mô hình Paging

Cấp phát bộ nhớ đơn giản

Không còn phân mảnh ngoại vi

Không chia sẻ ở mức module

Phân mảnh nội vi

Lưu trữ bảng trang ?

×