Khái niệm “Ảo” Bộ nhớ ảo: mức của thao tác gián tiếp tới bộ nhớ vật lý: Chương trình sử dụng địa chỉ bộ nhớ ảo.. Khái niệm “Ảo” Chương trình máy tính tưởng rằng nó có một dải dài các
Trang 1BỘ NHỚ MÁY TÍNH (DTV340)
IX BỘ NHỚ ẢO
Đại học Khoa học Tự nhiên Khoa Điện tử Viễn thông
Trang 2Địa chỉ vật lý
Cách tự nhiên nhất để truy xuất bộ nhớ chính là sử dụng địa chỉ vật lý.
Trang 3Khái niệm “Ảo”
Bộ nhớ ảo: mức của thao tác gián tiếp tới bộ nhớ vật lý:
Chương trình sử dụng địa chỉ bộ nhớ ảo
Địa chỉ bộ nhớ ảo được chuyển thành địa chỉ vật lý
Địa chỉ vật lý cho thấy vị trí của dữ liệu trong bộ nhớ vật lý
Trang 4Khái niệm “Ảo”
Chương trình máy tính tưởng
rằng nó có một dải dài các địa
chỉ liên tục trong bộ nhớ;
nhưng trong thực tế một số
phần đang được sử dụng nằm
rải rác trong RAM, còn các
phần tạm thời không dùng đến
được lưu trữ trong một file trên
đĩa cứng
Trang 5Tại sao sử dụng bộ nhớ ảo?
Các thách thức trong chia sẻ bộ nhớ giữa các quá trình:
Bộ nhớ chính thì không đủ lớn để thực hiện các nhiệm vụ.
Khi một chương trình ở ngoài không gian, nó không thể chạy chính xác.
Xung đột quá trình.
Giải pháp cho vấn đề này? Bộ nhớ ảo.
Những lợi ích chính của việc sử dụng bộ nhớ ảo:
Làm việc như một cache cho dữ liệu trên đĩa, truyền dữ liệu giữa đĩa và bộ nhớ chính-> làm cho bộ nhớ chính lớn hơn.(looks bigger)
Bảo vệ quá trình không bị nhiễu bởi chương trình khác.
Cơ chế VM làm việc tự động và ngầm định.
Trang 6VM giống 1 Bộ đệm
VM được chia thành những khối kích thước cố định gọi là trang
ảo (VPs)
Bộ nhớ vật lý được chia thành trang vật lý(PPs)
Kích cỡ 2 cái này bừng nhau PPs size = VPs size
Trang 7Trạng thái của VPs
Không định rõ: Trang không được tạo bởi hệ thống
VM Chúng không tồn tại trên đĩa
Bộ đệm: Định rõ vị trí trang là bộ đệm hiện thời trên
bộ nhớ chính
Không phải bộ đệm: xác định rõ trang không phải là
bộ đệm hiện thời trên bộ nhớ
Trang 8Địa chỉ ảo
Hợp tác chặt chẽ giữa phần cứng và hệ điều hành là cần thiết trong chuyển dịch địa chỉ.
Trang 9Hệ thống VM
Sự kết hợp của
Cấu trúc dữ liệu trong bộ nhớ chính được biết đến như Bảng Trang cái chuyển từ VPs thành PPs
VM-PM)
Phần cứng chuyển dịch địa chỉ.(MMU)
Phần cứng truyền địa chỉ đọc Bảng Trang mỗi khi nó chuyển từ địa chỉ ảo sang địa chỉ thật
Trang 10Hệ điều hành VM
Đặc điểm:
Bộ nhớ chính là DRAM – nền tảng bộ nhớ> thiếu hụt lớn
Thuật toán thay thế là phức tạp hơn so với một sử dụng
cho bộ đệm SRAM
Quá trình hoạt động:
Hệ thống VM kiểm tra một VP có phải là Bộ đệm trong bộ nhớ chính hay là không.
Nếu đúng, tìm ra vùng vật lý của VP này trong bộ nhớ chính.
Nếu có bỏ lỡ, thao tác thay thế được thực hiện.
Tìm ra vị trí vật lý của VP đó trên đĩa.
Chọn các trang nạn nhân trong bộ nhớ chính, thay thế nó bằng các
VP cần thiết.
Trang 11Bảng Trang
Bảng Trang là một mảng của Mục nhập Bảng Trang(PTE) , mỗi
VP có 1 PTE ở fixed offset trong Bảng Trang.
Mỗi PTE gồm 2 trường: bit giá trị và n-bit địa chỉ.
Trang 12Bảng trang
Trang 13Truy cập Trang
Trang 14Lỗi Trang
Trang 15Thay thế trên Trang Lỗi
VP4 được chọn là 1 trang nạn nhân Cho
nên nó được thay thế bởi VP3
Trang 16Cấp phát Trang
Trong lập trình C, Hệ điều hành cấp phát trang
mới của VM như một kết quả của việc gọi hàm
Tạo không gian trên đĩa.
Update
PTE 5
Trang 17VM giống như 1 quản lý bộ nhớ
Hệ điều hành cung cấp bảng trang riêng biệt, hoặc riêng biệt
không gian địa chỉ ảo cho mỗi quá trình.
Trang 18Lợi ích của quản lý bộ nhớ
Kết nối đơn giản:
Cho phép mỗi quá trình sử dụng định dạng tương tự cho hình ảnh bộ nhớ của nó, không phân biệt nơi mã là thực
sự nằm
Chia sẻ đơn giản:
Cho phép chia sẻ giữa các quá trình nếu cần thiết(vd: truy xuất thư viện C cơ bản)
Cấp phát đơn giản:
Cung cấp cơ chế của việc cấp phát không gian địa chỉ
cho quá trình( bởi vì cấp phát trang có thể được phân tán ngẫu nhiên trong bộ nhớ vật lý)
Trang 19VM giống như bảo vệ quá trình
PTEs thì được duyệt bất cứ khi nào truyền địa chỉ xảy ra.
Hãy sử dụng sự kiện này để tạo ra các điều khiển truy cập
Kiểm soát truy cập giúp để thực hiện quy trình quản lý tốt hơn
Vd: Quá trình sử dụng có thể được ngăn chặn từ dữ liệu
cá nhân, chia sẻ các trang ảo không thể được sửa
đổi
Trang 20VM giống như bảo vệ quá trình