Operating systems 5 PTIT, 2012Địa chỉ luận lý và địa chỉ vật lý Bộ nhớ vật lý... Đơn vị quản lý bộ nhớ MMU MMU Memory Management Unit là khối phần cứng thực hiện việc chuyển đổi giữa đị
Trang 1Quản lý bộ nhớ
Trang 3Operating systems 3 PTIT, 2012
Liên kết địa chỉ
Khi viết chương trình, lập trình viên chỉ
quan tâm đến địa chỉ tượng trưng (tên
biến, tên hàm, …) Khi thực thi, các địa chỉ này phải được ánh xạ thành địa chỉ thật
Có thể thực hiện việc ánh xạ tại các thời điểm:
Lúc biên dịch chương trình
Lúc nạp chương trình vào bộ nhớ
Lúc thực thi chương trình
Trang 4Địa chỉ vật lý và địa chỉ luận lý
Địa chỉ luận lý (hay địa chỉ ảo) là địa chỉ
mà CPU “nhìn thấy”
=> Không gian địa chỉ ảo là tập hợp tất cả
các địa chỉ mà CPU “nhìn thấy”.
Địa chỉ vật lý là địa chỉ thật mà đơn vị
quản lý bộ nhớ quản lý
=> Không gian địa chỉ vật lý là khoảng địa chỉ
Trang 5Operating systems 5 PTIT, 2012
Địa chỉ luận lý và địa chỉ vật lý
Bộ nhớ vật lý
Trang 6Đơn vị quản lý bộ nhớ (MMU)
MMU (Memory Management Unit) là khối phần cứng thực hiện việc chuyển đổi giữa địa chỉ luận và địa chỉ vật lý
Có chức năng tách rời không gian vật lý với không gian luận lý
Chương trình chỉ nhìn thấy không gian
luận lý
Trang 7Operating systems 7 PTIT, 2012
Đơn vị quản lý bộ nhớ (MMU)
MMU được tích hợp bên trong CPU
Khối CPU Địa chỉ luận lý
Trang 9Operating systems 9 PTIT, 2012
Swap
Trang 10Các cơ chế cấp phát bộ nhớ
Cấp phát liên tục (contigous allocation)
Cấp phát không liên tục:
Phân đọan (segmentation)
Phân trang (paging)
Trang 11Operating systems 11 PTIT, 2012
Cấp phát liên tục
Mô hình 1 (linker-loader): quản lý địa chỉ bắt đầu và kích thước tiến trình
Trang 12Cấp phát liên tục
Mô hình 2 (base&limit) quản lý địa chỉ
bắt đầu và địa chỉ kết thúc
Trang 13Operating systems 13 PTIT, 2012
Bảo vệ bộ nhớ trong cơ chế base&limit
Trang 14Hiện tượng phân mảnh bộ nhớ
Trang 15Operating systems 15 PTIT, 2012
Hiện tượng phân mảnh bộ nhớ
Phân mảnh trong (internal fragmentation):
Tiến trình được đưa vào vùng trống lớn
hơn kích thước tiến trình => có một phần
Trang 16Các chiến lược cấp phát động
First-fit: Chọn vùng nhớ trống đầu tiên
tìm thấy đủ rộng để chứa tiến trình
Trang 17Operating systems 17 PTIT, 2012
Trang 182
Trang 19Operating systems 19 PTIT, 2012
Cấu trúc địa chỉ luận lý có dạng <s, d>
trong đó s là số hiệu phân đọan, d là địa chỉ tương đối trong phân đọan
Trang 20Chuyển đổi địa chỉ trong cơ chế phân
đọan
Trang 21Operating systems 21 PTIT, 2012
Một hệ thống phân đọan
Trang 22Dùng chung các phân đọan
Trang 23Operating systems 23 PTIT, 2012
Phân trang (paging)
Không gian bộ nhớ vật lý được chia thành các đọan có kích thước bằng nhau gọi là khung (frame)
Không gian địa chỉ ảo cũng được chia
thành nhiều đọan có kích thước bằng
nhau và bằng với khung trang, gọi là các trang địa chỉ (page)
Trang 24Trang và khung
Trang 25Operating systems 25 PTIT, 2012
Địa chỉ luận lý trong chế độ phân trang
Địa chỉ luận lý có dạng <p, d>
P: số hiệu trang
D: địa chỉ tương đối trong trang
Trang 26Chuyển đổi địa chỉ ảo thành địa chỉ vật lý
Trang 27Operating systems 27 PTIT, 2012
Truy xuất bộ nhớ với cơ chế phân trang
Liên kết giữa trang và khung được chứa trong bảng trang (page table)
Mỗi thao tác truy xuất bộ nhớ gồm 2 công đọan:
Đọc bảng trang để tìm khung => tạo ra địa chỉ vật lý
Đọc dữ liệu từ địa chỉ vật lý
Trang 28Tăng tốc độ truy xuất bộ nhớ trong cơ
Trang 29Operating systems 29 PTIT, 2012
Bảng trang nhiều cấp
p1 p2 d
Cấu trúc địa chỉ trong
bảng trang hai cấp
Trang 30Bài tập 1
Giả sử bộ nhớ chính được phân thành các đọan
có kích thước là 600K, 500K, 200K, 300K ( theo thứ tự ) Hãy cho biết các tiến trình có kích
thước 212K, 417K, 112K và 426K ( theo thứ tự )
sẽ được cấp phát bộ nhớ như thế nào, nếu sử dụng :
a) Chiến lược First fit
b) Chiến lược Best fit
Trang 31Operating systems 31 PTIT, 2012
a) Địa chỉ luận lý gồm bao nhiêu bit ?
b) Địa chỉ vật lý gồm bao nhiêu bit ?
Trang 32Bài tập 3
Xét một hệ thống sử dụng kỹ thuật phân trang, với bảng trang được lưu trữ trong bộ nhớ chính a) Nếu thời gian cho một lần truy xuất bộ nhớ bình thường là 200 ns, thì mất bao nhiêu thời gian
cho một thao tác truy xuất bộ nhớ trong hệ
Trang 33Operating systems 33 PTIT, 2012
Cho bảng phân đọan như hình dưới Xác
định địa chỉ vật lý ứng với các địa chỉ sau đây: