Bài giảng Hệ điều hành nâng cao - Bài 9: Phân đọan và phân trang - Trần Hạnh Nhi
n Cấp phát không liên tục => tận dụng bộ nhớ hiệu quả
n Chia sẻ được ở mức module
L Chuyển đổi địa chỉ phức tạp
L Vấn đề “Cấp phát động” : lựa chọn vùng nhớ liên tục cho 1 segment ?
L Phân mảnh ngoại vi
BÀI 9 : PHÂN ĐỌAN VÀ PHÂN TRANG Cấp phát không liên tục : Segmentation Paging 1 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? 2 Chuyể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 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 gcc emacs ?? External fragmentation Nachos 4 Mô 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 5 Chuyển đổi địa chỉ trong mô hình Paging CPU KGVL Physical addr Logical addr p d f d f 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 ? 7
File đính kèm:
- bai_giang_he_dieu_hanh_nang_cao_bai_9_phan_doan_va_phan_tran.ppt