Bộ nhớ ảo

12 335 0
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

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 memoryPage0emacsTimet2t1Page0emacsPage1Page2 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 MemoryVirtual Memory)PRAMDISK 4Bộ 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 5Thự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/invalid 6Xử 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 i 7Cá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ạp 8Chiế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 page 9Chiế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 RAM DISK # of references Memory address 10% RAM + 90% DISK 3 Cơ 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 : Overlay Overlay  Hệ điều hành : Bộ nhớ ảo ( Virtual... hành : Bộ nhớ ảo ( Virtual Memory Virtual Memory) P RAM DISK 11 Nguyê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ơn 3. 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/invalid 6Xử lý lỗi trangBộ nhớ vật lýMBộ nhớ ảonạp MOS

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

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.

Từ khóa liên quan

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

Tài liệu liên quan