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

Bài giảng: Phân đoạn và phân trang

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

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


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



Segmentation
Paging

CuuDuongThanCong.com

/>
1


Mô hình Segmentation
0x1000
0x3000

gcc

Base&bound?

Real memory
0x2000

Text seg
r/o

0x8000



0x5000 Stack seg
0x6000




0x6000

r/w

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 ?
CuuDuongThanCong.com

/>
2


Chuyeån ñoåi ñòa chæ trong moâ hình Segmentation
Virtual addr
3

no
?

128

Seg# offset


Seg table
Prot base

r

CuuDuongThanCong.com

len

fault
yes

+

mem
0x1000

seg

128

0x1000 512

/>
3


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
External
fragmentation
gcc
??
Nachos


emacs

CuuDuongThanCong.com

/>
4


Moâ hình Paging

Real memory

gcc
gcc
emacs






emacs

Khoâng gian ñòa chæ = {page}
Khoâng gian vaät lyù = {frame}
Kích thöôùc trang ?
CuuDuongThanCong.com

/>
Internal
frag

5


Chuyeån ñoåi ñòa chæ trong moâ hình Paging
Logical
addr
CPU

Physical
addr

p d

f d
KGVL
f

CuuDuongThanCong.com


/>
6


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 ?

CuuDuongThanCong.com

/>
7



×