BÀI : CÁC MÔ HÌNH BỘ NHỚ ĐƠN GIẢN Cầp phát liên tục : Linker-Loader Base & Bound CuuDuongThanCong.com https://fb.com/tailieudientucntt Mô hình Linker-Loader test.exe OS 0x3000 jump 0x5000 jump 0x2000 0x1000 test.exe 0x7000 0x3000 (base) Tại thời điểm Link, giữ lại địa logic Vị trí base tiến trình nhớ xác định vào thời điểm nạp : địa physic = địa logic + base CuuDuongThanCong.com https://fb.com/tailieudientucntt Mô hình Linker-Loader Bảo vệ ? Dời chuyển sau nạp ? Không có vùng nhớ liên tục đủ lớn để chứa toàn tiến trình ? CuuDuongThanCong.com https://fb.com/tailieudientucntt Mô hình Base & Bound OS Test.exe 0x3000 Test.exe jump 0x2000 jump 0x2000 0x1000 Tại thời điểm Link, giữ lại địa logic Vị trí base , bound ghi nhận vào ghi: Kết buộc địa vào thời điểm thi hành => tái định vị : địa physic = địa logic + base register Bảo vệ : địa hợp lệ [base, bound] CuuDuongThanCong.com https://fb.com/tailieudientucntt Bound 0x7000 Base 0x3000 Mô hình Base & Bound Kết buộc địa thời điểm thi hành=> hỗ trợ phần cứng Physical addrs logical addrs CPU MMU memory Tiến trình tăng trưởng ? Vẫn vấn đề cấp phát liên tục ! Chia sẻ ? Phân biệt code data ? CuuDuongThanCong.com https://fb.com/tailieudientucntt ... https://fb.com/tailieudientucntt Mô hình Linker-Loader Bảo vệ ? Dời chuyển sau nạp ? Không có vùng nhớ liên tục đủ lớn để chứa toàn tiến trình ? CuuDuongThanCong.com https://fb.com/tailieudientucntt Mô hình Base... điểm thi hành => tái định vị : địa physic = địa logic + base register Bảo vệ : địa hợp leä [base, bound] CuuDuongThanCong.com https://fb.com/tailieudientucntt Bound 0x7000 Base 0x3000 Mô hình Base.. .Mô hình Linker-Loader test.exe OS 0x3000 jump 0x5000 jump 0x2000 0x1000 test.exe 0x7000 0x3000 (base) Tại thời điểm Link, giữ lại địa logic Vị trí base tiến trình nhớ xác định