BÀI : 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 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 segment Phân chia không gian đòa thành segment ? SinhVienZone.com https://fb.com/sinhvienzonevn Chuyển đổi đòa mô hình Segmentation Virtual addr no ? 128 Seg# offset Seg table Prot base r SinhVienZone.com len fault yes + mem 0x1000 seg 128 0x1000 512 https://fb.com/sinhvienzonevn Mô hình Segmentation Cấp phát không liên tục => tận dụng nhớ hiệu Chia sẻ mức module Chuyển đổi đòa phức tạp Vấn đề “Cấp phát động” : lựa chọn vùng nhớ liên tục cho segment ? Phân mảnh ngoại vi External fragmentation gcc ?? Nachos emacs SinhVienZone.com https://fb.com/sinhvienzonevn Mô hình Paging Real memory gcc gcc emacs emacs Không gian đòa = {page} Không gian vật lý = {frame} Kích thước trang ? SinhVienZone.com https://fb.com/sinhvienzonevn Internal frag Chuyển đổi đòa mô hình Paging Logical addr Physical addr p d CPU f d KGVL f SinhVienZone.com https://fb.com/sinhvienzonevn Moâ hình Paging Cấp phát nhớ đơn giản Không 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 ... Kích thước trang ? SinhVienZone. com https://fb .com/ sinhvienzonevn Internal frag Chuyển đổi đòa mô hình Paging Logical addr Physical addr p d CPU f d KGVL f SinhVienZone. com https://fb .com/ sinhvienzonevn... Paging Cấp phát nhớ đơn giản Không 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 ... 0x6000 0x6000 r/w Tiến trình gồm nhi u segment, áp dụng base bound cho segment Phân chia không gian đòa thành segment ? SinhVienZone. com https://fb .com/ sinhvienzonevn Chuyển đổi đòa mô hình