Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
317,5 KB
Nội dung
BÀI : BỘ NHỚ ẢO BỘ NHỚ ẢO OS test.exe 0x3000 jump 0x2000 0x1000 test.exe jump 0x5000 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ớ ? Lưu ý : thời điểm có thị thực Giải pháp Real memory Real memory Page0 Page0 Page1 emacs t1 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 :DISK Bộ nhớ ảo (Virtual Memory) Memory P RAM Bộ nhớ ảo = “lời nói dối vó đại“ # of references 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 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 và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 truy xuất nạp M Bộ nhớ ảo tái kích hoạt tiến trình xác định vị trí lưu trang đóa lỗi trang swap out ’ trang i nạn nhân Bảng frame trang trống cập nhật Bộ nhớ bảng M mang trang cần truy 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à” Tần suất lỗi trang thấp Không khả thi ! LRU :trang lâu chưa sử dụng đến khứ add 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 victim Dự đoán tương lai LRU = MIN ? victim AGBDCABCABCGABC Cur page victim 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 : biết ? =>prepaging ld init pages ld page ld page ld page init pages = ? 10 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 ! 11 Hệ thống ngừng trệ 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 thrashing Chỉ kiểm soát nguyên nhân 3 Quá nhiều tiến trình hệ 12 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 13 ... : Overlay Hệ điều hành :DISK Bộ nhớ ảo (Virtual Memory) Memory P RAM Bộ nhớ ảo = “lời nói dối vó đại“ # of references Người dùng : sở hữu nhớ “vô hạn”, “riêng biệt” Hệ điều hành : “thầm... lỗi trang OS truy xuất nạp M Bộ nhớ ảo tái kích hoạt tiến trình xác định vị trí lưu trang đóa lỗi trang swap out ’ trang i nạn nhân Bảng frame trang trống cập nhật Bộ nhớ bảng M mang trang cần truy... = ả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 ! 11 Hệ