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

hệ điều hành tran hanh nhi bài091 phân đoạn va phân trang sinhvienzone com

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 (151.35 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

SinhVienZone.com

https://fb.com/sinhvienzonevn

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

https://fb.com/sinhvienzonevn

2


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

no
?

128


Seg# offset

Seg table
Prot base

r

SinhVienZone.com

len

fault
yes

+

mem
0x1000

seg

128

0x1000 512

https://fb.com/sinhvienzonevn

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

SinhVienZone.com

https://fb.com/sinhvienzonevn

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

https://fb.com/sinhvienzonevn

Internal
frag

5


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

Physical
addr

p d

CPU


f d
KGVL
f

SinhVienZone.com

https://fb.com/sinhvienzonevn

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 ?

SinhVienZone.com

https://fb.com/sinhvienzonevn

7




×