Bài giảng Hệ điều hành - Bài 9: Phân đoạn và phân trang

? 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 ?

pdf7 trang | Chuyên mục: Hệ Điều Hành | Chia sẻ: dkS00TYs | Lượt xem: 4263 | Lượt tải: 4download
Tóm tắt nội dung Bài giảng Hệ điều hành - Bài 9: Phân đoạn và phân trang, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
1BÀI 9 : PHÂN ĐỌAN VÀ PHÂN TRANG
 Cấp phát không liên tục :
 Segmentation
 Paging
2Mô 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?
3Chuyển đổi địa chỉ trong mô hình Segmentation
Virtual addr
Seg# offset
3 128
Seg table
Prot base len
r 0x1000 512
mem
seg
128
+ 0x1000?
yes
no
fault
4Mô 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
5Mô hình Paging
 Không gian địa chỉ = {page}
 Không gian vật lý = {frame}
 Kích thước trang ?
Internal
frag
Real memory
gcc
emacs
emacs
gcc
6Chuyển đổi địa chỉ trong mô hình Paging
CPU
KGVL
Physical 
addr
Logical 
addr
p d f d
f
7Mô 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 ?

File đính kèm:

  • pdfBài giảng Hệ điều hành - Bài 9 Phân đoạn và phân trang.pdf