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