Xem mẫu

26/11/2017

Bài 5
Tổ chức bộ nhớ
PHẦN BỘ NHỚ ẢO
(Virtual Memory)
Nguyên lý vận hành của bộ nhớ ảo

Khái quát
Khi độ dài chương trình > dung lượng bộ nhớ, dùng kỹ
thuật overlay (với bộ nhớ phụ). Phải QL quá trình overlay.

Xác định một cơ chế vận chuyển tự động số liệu
giữa bộ nhớ trong và bộ nhớ ngoài (đĩa từ).

Nhiệm vụ:
Phân chia không gian bộ nhớ:
Khi độ dài của chương trình vượt quá giới hạn dung
lượng bộ nhớ
Cho phép thực hiện cùng lúc nhiều tiến trình (process)
(đa nhiệm), mỗi tiến trình có không gian định vị riêng.

Bảo vệ và quản lý tự động các cấp bộ nhớ:
cơ chế tái định vị địa chỉ (address relocation).

1

26/11/2017

Cơ chế phân trang bộ nhớ ảo:
Phải có một bộ nhớ phụ (đĩa) để chứa toàn bộ chương trình
Không gian địa chỉ ảo được chia làm các trang (page) có
kích thước bằng nhau.
Không gian địa chỉ vật lý cũng chia làm các khung trang
(page frame), cùng kích thước với trang.
Quản lý bằng bảng trang (page table)
Số đề mục bằng số trang ảo
Present bit: = 1: nếu trang ảo tương ứng có trong bộ nhớ chính
Địa chỉ chứa trang ảo trong bộ nhớ phụ
Số khung trang nếu trang có trong bộ nhớ chính

Bộ điều khiển cache

CPU

Cache

Bộ
nhớ
trong
Hệ điều hành

CPU

Bộ
nhớ
ảo

Bộ
nhớ
trong

Bộ
nhớ
ngoài

2

26/11/2017

Kỹ thuật thiết kế: 2 kiểu
Khối có dung lượng cố định gọi là trang
Định vị trang xác định một địa chỉ trong trang, giống
như định vị trong cache.

Khối có chiều dài thay đổi gọi là đoạn
định vị đoạn cần 2 từ: một từ chứa số thứ tự đoạn và
một từ chứa độ dời trong đoạn.
Chương trình dịch gặp khó khăn nhiều hơn trong định
vị đoạn.
Ít máy tính dùng định vị đoạn thuần tuý. Một vài máy
dùng cách hỗn hợp gọi là đoạn trang. Trong đó mỗi
đoạn chứa một số nguyên các trang.

Câu hỏi 1: Sắp xếp khối (trang)
Một khối được đặt tại đâu trong bộ nhớ trong?

Việc trừng phạt bộ nhớ ảo khi có thất bại, tương ứng với
việc phải thâm nhập vào ổ đĩa, rất chậm nên người ta chọn
phương án hoàn toàn phối hợp
Các khối (trang) có thể nằm ở bất kỳ vị trí nào trong bộ nhớ trong.
Cách này cho tỉ lệ thất bại thấp.

3

26/11/2017

Câu hỏi 2: Nhận diện trang
Làm thế nào để tìm một khối khi nó đang nằm trong bộ nhớ trong?

Định vị trang, dựa vào bảng trang, địa chỉ trong bộ nhớ vật
lý được xác lập cuối cùng là việc đặt kề nhau số thứ của
trang vật lý với địa chỉ trong trang (hình IV.9).

Cấu tạo bảng trang
Số đề mục bằng số trang ảo, mỗi đề mục gồm các vùng:
Present bit: = 1: nếu trang ảo tương ứng có trong bộ nhớ chính
Địa chỉ chứa trang ảo trong bộ nhớ phụ
Số khung trang nếu trang có trong bộ nhớ chính

Chuyển địa chỉ:
Để tăng tốc việc chuyển địa chỉ, bảng trang chứa trong thanh ghi

4

26/11/2017

Định vị đoạn, dựa vào thông tin trên bảng đoạn, việc kiểm tra
tính hợp lệ của địa chỉ được tiến hành. Địa chỉ vật cuối cùng
được xác lập bằng cách cộng địa chỉ đoạn và địa chỉ trong
đoạn (độ dời trong đoạn) (hình IV.10).

Câu hỏi 3: Thay thế trang
(Khối nào phải được thay thế khi có thất bại trang?)
Thay thế khối ít dùng gần đây nhất (LRU: Least Recent
Utilized)

Câu hỏi 4: Chiến lược ghi
(Việc gì xảy ra khi cần ghi số liệu?)
Ghi lại
Thông tin chỉ được viết vào trong khối của bộ nhớ trong.
Với khối có thay đổi thông tin, sẽ được chép vào đĩa từ nếu khối
này bị thay thế.

5

nguon tai.lieu . vn