26/11/2017<br />
<br />
Bài 5<br />
Tổ chức bộ nhớ<br />
PHẦN BỘ NHỚ ẢO<br />
(Virtual Memory)<br />
Nguyên lý vận hành của bộ nhớ ảo<br />
<br />
Khái quát<br />
Khi độ dài chương trình > dung lượng bộ nhớ, dùng kỹ<br />
thuật overlay (với bộ nhớ phụ). Phải QL quá trình overlay.<br />
<br />
Xác định một cơ chế vận chuyển tự động số liệu<br />
giữa bộ nhớ trong và bộ nhớ ngoài (đĩa từ).<br />
<br />
Nhiệm vụ:<br />
Phân chia không gian bộ nhớ:<br />
Khi độ dài của chương trình vượt quá giới hạn dung<br />
lượng bộ nhớ<br />
Cho phép thực hiện cùng lúc nhiều tiến trình (process)<br />
(đa nhiệm), mỗi tiến trình có không gian định vị riêng.<br />
<br />
Bảo vệ và quản lý tự động các cấp bộ nhớ:<br />
cơ chế tái định vị địa chỉ (address relocation).<br />
<br />
1<br />
<br />
26/11/2017<br />
<br />
Cơ chế phân trang bộ nhớ ảo:<br />
Phải có một bộ nhớ phụ (đĩa) để chứa toàn bộ chương trình<br />
Không gian địa chỉ ảo được chia làm các trang (page) có<br />
kích thước bằng nhau.<br />
Không gian địa chỉ vật lý cũng chia làm các khung trang<br />
(page frame), cùng kích thước với trang.<br />
Quản lý bằng bảng trang (page table)<br />
Số đề mục bằng số trang ảo<br />
Present bit: = 1: nếu trang ảo tương ứng có trong bộ nhớ chính<br />
Địa chỉ chứa trang ảo trong bộ nhớ phụ<br />
Số khung trang nếu trang có trong bộ nhớ chính<br />
<br />
Bộ điều khiển cache<br />
<br />
CPU<br />
<br />
Cache<br />
<br />
Bộ<br />
nhớ<br />
trong<br />
Hệ điều hành<br />
<br />
CPU<br />
<br />
Bộ<br />
nhớ<br />
ảo<br />
<br />
Bộ<br />
nhớ<br />
trong<br />
<br />
Bộ<br />
nhớ<br />
ngoài<br />
<br />
2<br />
<br />
26/11/2017<br />
<br />
Kỹ thuật thiết kế: 2 kiểu<br />
Khối có dung lượng cố định gọi là trang<br />
Định vị trang xác định một địa chỉ trong trang, giống<br />
như định vị trong cache.<br />
<br />
Khối có chiều dài thay đổi gọi là đoạn<br />
định vị đoạn cần 2 từ: một từ chứa số thứ tự đoạn và<br />
một từ chứa độ dời trong đoạn.<br />
Chương trình dịch gặp khó khăn nhiều hơn trong định<br />
vị đoạn.<br />
Ít máy tính dùng định vị đoạn thuần tuý. Một vài máy<br />
dùng cách hỗn hợp gọi là đoạn trang. Trong đó mỗi<br />
đoạn chứa một số nguyên các trang.<br />
<br />
Câu hỏi 1: Sắp xếp khối (trang)<br />
Một khối được đặt tại đâu trong bộ nhớ trong?<br />
<br />
Việc trừng phạt bộ nhớ ảo khi có thất bại, tương ứng với<br />
việc phải thâm nhập vào ổ đĩa, rất chậm nên người ta chọn<br />
phương án hoàn toàn phối hợp<br />
Các khối (trang) có thể nằm ở bất kỳ vị trí nào trong bộ nhớ trong.<br />
Cách này cho tỉ lệ thất bại thấp.<br />
<br />
3<br />
<br />
26/11/2017<br />
<br />
Câu hỏi 2: Nhận diện trang<br />
Làm thế nào để tìm một khối khi nó đang nằm trong bộ nhớ trong?<br />
<br />
Định vị trang, dựa vào bảng trang, địa chỉ trong bộ nhớ vật<br />
lý được xác lập cuối cùng là việc đặt kề nhau số thứ của<br />
trang vật lý với địa chỉ trong trang (hình IV.9).<br />
<br />
Cấu tạo bảng trang<br />
Số đề mục bằng số trang ảo, mỗi đề mục gồm các vùng:<br />
Present bit: = 1: nếu trang ảo tương ứng có trong bộ nhớ chính<br />
Địa chỉ chứa trang ảo trong bộ nhớ phụ<br />
Số khung trang nếu trang có trong bộ nhớ chính<br />
<br />
Chuyển địa chỉ:<br />
Để tăng tốc việc chuyển địa chỉ, bảng trang chứa trong thanh ghi<br />
<br />
4<br />
<br />
26/11/2017<br />
<br />
Định vị đoạn, dựa vào thông tin trên bảng đoạn, việc kiểm tra<br />
tính hợp lệ của địa chỉ được tiến hành. Địa chỉ vật cuối cùng<br />
được xác lập bằng cách cộng địa chỉ đoạn và địa chỉ trong<br />
đoạn (độ dời trong đoạn) (hình IV.10).<br />
<br />
Câu hỏi 3: Thay thế trang<br />
(Khối nào phải được thay thế khi có thất bại trang?)<br />
Thay thế khối ít dùng gần đây nhất (LRU: Least Recent<br />
Utilized)<br />
<br />
Câu hỏi 4: Chiến lược ghi<br />
(Việc gì xảy ra khi cần ghi số liệu?)<br />
Ghi lại<br />
Thông tin chỉ được viết vào trong khối của bộ nhớ trong.<br />
Với khối có thay đổi thông tin, sẽ được chép vào đĩa từ nếu khối<br />
này bị thay thế.<br />
<br />
5<br />
<br />