0

Bộ nhớ ảo

12 332 0

Đ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

Tài liệu liên quan

Thông tin tài liệu

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

Bộ nhớ ảo 1BÀI 7 : BỘ NHỚ ẢOCho đến nay : Nạp toàn bộ tiến trình vào bộ nhơ rồi thực hiện nó .Chậm, lãng phí bộ nhớNếu kích thước tiến trình lớn hơn dung lương bộ nhớ chính ?Lưu ý : tại 1 thời điểm chỉ có một chỉ thò được thực hiện0x1000test.exe0x30000x3000test.exejump 0x2000jump 0x50000x7000OS(base)2Giải pháp Nạp từng phần chương trình khi cần thiết Demand pagingReal memoryReal memoryPage0emacsTimet2t1Page0emacsPage1Page23Cơ chế Sử dụng bộ nhớ phụ để lưu trữ tạm thời các trang chưa sử dụng Ai chòu trách nhiệm chuyển đổi ? Lập trình viên : OverlayOverlay Hệ điều hành : Bộ nhớ ảo (Virtual MemoryVirtual Memory)PRAMDISK4Bộ nhớ ảo = “lời nói dối vó đại“ Người dùng : sở hữu bộ nhớ “vô hạn”, “riêng biệt” Hệ điều hành : “thầm lặng” thực hiện quá trình swapping RAMDISK# of referencesMemory address10% RAM+90% DISK5Thực hiện Bộ nhớ ảo Bảng trang : thêm 1 bit valid/invalid để nhận diện trang đã hay chưa được nạp vào RAM Truy xuất đến một trang chưa được nạp vào bộ nhớ : lỗi trang (page fault)17 14183 0177 15721 0DiskMemFramevalid/invalid6Xử lý lỗi trangBộ nhớ vật lýMBộ nhớ ảonạp MOS Bảng trangtruy xuất12lỗi trang3xác đònh vò trí lưu trang trên đóa3’swap out trang nạn nhân4mang trang cần truy xuất vào bộ nhớ5cập nhật bảng trang6tái kích hoạt tiến trìnhframe trống i7Các câu hỏiChọn trang nạn nhân ? => Chiến lược thay thế trangChọn trang nào để nạp ? => Chiến lược nạp8Chiến lược thay thế trangFIFO: trang “già” nhấtCông bằng ?Không xét đến tính sủ dụng !TỐI ƯU : trang lâu sử dụng đến nhất trong tương lai Tần suất lỗi trang thấp nhấtKhông khả thi ! LRU :trang lâu nhất chưa sử dụng đến trong quá khứ Dự đoán tương lai LRU = MIN ?addvictimAGBDCABCABCGABCvictimCur pageAGBDCABCABCGABCvictimCur page9Chiến lược nạpDemand paging : nạp trang được yêu cầuKhi nào ?Nạp sau : tần suất lỗi trang cao ? => pure demand pagingNạp trước : làm sao biết ? =>prepagingld init pagesld pageld pageld page .init pages = ?10Thrashing = ảo tưởng sụp đổ ! Tất cả 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ệReal memP1P2P3Các tiến trình trong hệ thống yêu cầu bộ nhớ nhiều hơn khả năng cung cấp của hệ thống ![...]...4 Bộ nhớ ảo = “lời nói dối vó đại“ Người dùng : sở hữu bộ nhớ “vô hạn”, “riêng biệt” Hệ điều hành : “thầm lặng” thực hiện quá trình swapping RAMDISK# of referencesMemory address10% RAM+90% DISK 3Cơ chế Sử dụng bộ nhớ phụ để lưu trữ tạm thời các trang chưa sử dụng Ai chịu trách nhiệm chuyển đổi ? Lập trình viên : OverlayOverlay Hệ điều hành : Bộ nhớ ảo (Virtual... hành : Bộ nhớ ảo (Virtual MemoryVirtual Memory)PRAMDISK 11Nguyên nhân Thrashing Chỉ có thể kiểm soát thrashing do nguyên nhân 3.1. Tiến trình không tái sử dụng bộ nhớ (quá khứ != tương lai)2. Tiến trình tái sử dụng bộ nhớ, nhưng với kích thươc lớn hơn3. Quá nhiều tiến trình trong hệ thống . BỘ NHỚ ẢO Cho đến nay : Nạp toàn bộ tiến trình vào bộ nhơ rồi thực hiện nó...Chậm, lãng phí bộ nhớ Nếu kích thước tiến trình lớn hơn dung lương bộ nhớ. được nạp vào bộ nhớ : lỗi trang (page fault)17 14183 0177 15721 0DiskMemFramevalid/invalid6Xử lý lỗi trangBộ nhớ vật lýMBộ nhớ ảonạp MOS
- Xem thêm -

Xem thêm: Bộ nhớ ảo

Hình ảnh liên quan

 Bảng trang : thêm 1 bit valid/invalid để nhận diện trang             - Bộ nhớ ảo

Bảng trang.

thêm 1 bit valid/invalid để nhận diện trang Xem tại trang 5 của tài liệu.