Bộ nhớ ảo

12 795 9
Bộ nhớ ảo

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bộ nhớ ảo và những nội dung liên quan

BÀI 10 : BỘ NHỚ ẢO test.exe OS 0x3000 jump 0x5000 jump 0x2000 0x1000  test.exe 0x7000 0x3000 (base) Cho đến : Nạp toàn tiến trình vào nhơ thực   Chậm, lãng phí nhớ Nếu kích thước tiến trình lớn dung lương nhớ ? Giải pháp Real memory Real memory Page0 emacs t1 Page0 Page1 emacs t2  Nạp phần chương trình cần thiết  Demand paging Page2 Time Cơ chế  Sử dụng nhớ phụ để lưu trữ tạm thời trang chưa sử dụng  Ai chịu trách nhiệm chuyển đổi ?  Lập trình viên : Overlay  Hệ điều hành : Bộ nhớDISK ảo ( Virtual Memory) Memory P RAM Bộ nhớ ảo = “lời nói dối vó đại“  Người dùng : sở hữu nhớ “vô hạn”, “riêng biệt”  Hệ điều hành : “thầm lặng” thực trình swapping # of references 10% RAM + 90% DISK Memory address RAM DISK Thực Bộ nhớ ảo  Bảng trang : thêm bit valid/invalid để nhận diện trang hay chưa nạp vaøo RAM Frame 17 4183 177 5721 valid/invalid 1 Disk Mem  Truy xuất đến trang chưa nạp vào nhớ : Xử lý lỗi trang OS xác định vị trí lưu trang đóa lỗi trang truy xuất nạp M i swap out trang nạn nhân 3’ tái kích Bảng trang frame trống hoạt tiến Bộ nhớ trình cập nhật ảo bảng trang Bộ nhớ vật lý M mang trang cần truy xuất vào nhớ Các câu hỏi  Chọn trang nạn nhân ? => Chiến lược thay trang  Chọn trang để nạp ? => Chiến lược nạp Chiến lược thay trang  FIFO: trang “già”      Công ? Không xét đến tính sủ dụng ! TỐI ƯU : trang lâu sử dụng đến tương lai  Tần suất lỗi trang thấp Không khả thi ! LRU :trang lâu chưa sử dụng đến khứ  victim Dự đoán tương lai LRU = MIN ? add victim AGBDCABCABCGABC victim Cur page AGBDCABCABCGABC Cur page Chiến lược nạp  Demand paging : nạp trang yêu cầu Khi ?  Nạp sau : tần suất lỗi trang cao ? => pure demand paging  Nạp trước : bieát ? =>prepaging ld page ld init pages ld page ld page  init pages = ? Thrashing = ảo tưởng sụp đổ !  Các tiến trình hệ thống yêu cầu nhớ nhiều khả cung cấp hệ thống ! P1 P2 P3 Real mem  Tất tiến trình đầu bận rộn xử lý lỗi trang !  IO hoạt động 100 %, CPU rảnh !  Hệ thống ngừng trệ 10 Nguyên nhân Thrashing Tiến trình không tái sử dụng nhớ (quá khứ != tương lai) Tiến trình tái sử dụng nhớ, với kích thươc lớn  Chỉ kiểm soát thrashing nguyên nhân 3 Quá nhiều tiến trình hệ thống 11 Giải thrasing với mô hình Working set  Working set = tập hợp trang tiến trình truy xuất thời điểm  Hệ điều hành :  Chỉ nạp tiến trình có đủ khung trang tự cho working set  Kiểm soát mức độ đa chương hệ thống : Nếu tổng số khung trang yêu cầu tiến trình hệ thống vượt khung trang sử dụng, chọn tiến trình để tạm dừng, ngược lại, tổng working set bé số khung trang 12 tự ... Sử dụng nhớ phụ để lưu trữ tạm thời trang chưa sử dụng  Ai chịu trách nhiệm chuyển đổi ?  Lập trình viên : Overlay  Hệ điều hành : Bộ nhớDISK ảo ( Virtual Memory) Memory P RAM Bộ nhớ ảo = “lời... vào nhớ : Xử lý lỗi trang OS xác định vị trí lưu trang đóa lỗi trang truy xuất nạp M i swap out trang nạn nhân 3’ tái kích Bảng trang frame trống hoạt tiến Bộ nhớ trình cập nhật ảo bảng trang Bộ. ..  Người dùng : sở hữu nhớ “vô hạn”, “riêng biệt”  Hệ điều hành : “thầm lặng” thực trình swapping # of references 10% RAM + 90% DISK Memory address RAM DISK Thực Bộ nhớ ảo  Bảng trang : thêm

Ngày đăng: 22/08/2012, 09:06

Tài liệu cùng người dùng

Tài liệu liên quan