Bài giảng Hệ điều hành nâng cao: Bài 9 - Phân đọan và phân trang. Những nội dung chính được trình bày trong chương này gồm có: Mô hình segmentation, chuyển đổi địa chỉ trong mô hình segmentation, mô hình paging, chuyển đổi địa chỉ trong mô hình paging,... Mời các bạn cùng tham khảo.
BÀI 9 : PHÂN ĐỌAN VÀ PHÂN TRANG Cấp phát khơng liên tục : Segmentation Paging Mơ hình Segmentation 0x1000 0x3000 0x5000 0x6000 gcc Text seg r/o Stack seg r/w Base&bound? Real memory 0x2000 0x8000 0x6000 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 Chuyển đổi địa chỉ trong mơ hình Segmentation Virtual addr 3 128 Seg# offset no ? Seg table Prot base len fault yes + mem 0x1000 seg 128 r 0x1000 512 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 ? External Phân mảnh ngoại vi fragmentation Nachos ?? gcc emacs Mơ hình Paging Real memory gcc gcc emacs Khơng gian địa chỉ = {page} Khơng gian vật lý = {frame} Kích thước trang ? emacs Internal frag Chuyển đổi địa chỉ trong mơ hình Paging Logical addr CPU Physical addr p d f d KGVL f 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 ? ... Base&bound? Real memory 0x2000 0x8000 0x6000 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 Chuyển đổi địa chỉ trong mơ hình Segmentation