BÀI 10: BỘ NHỚ ẢO pptx

12 479 0
BÀI 10: BỘ NHỚ ẢO pptx

Đ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

1 BÀI 10 : 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ện 0x1000 test.exe 0x3000 0x3000 test.exe jump 0x2000 jump 0x5000 0x7000 OS (base) 2 Giải pháp  Nạp từng phần chương trình khi cần thiết  Demand paging Real memory Real memory Page0 emacs Timet2t1 Page0 emacs Page1 Page2 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 Memory Virtual Memory) P RAM DISK 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 # o f r e f e r e n c e s Memory address 10% RAM + 90% DISK 5 Thự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 1 4183 0 177 1 5721 0 Disk Mem Frame valid/invalid 6 Xử lý lỗi trang Bộ nhớ vật lý M Bộ nhớ ảo nạp M OS Bảng trang truy xuất 1 2 lỗi trang 3 xác đònh vò trí lưu trang trên đóa 3’ swap out trang nạn nhân 4 mang trang cần truy xuất vào bộ nhớ 5 cập nhật bảng trang 6 tái kích hoạt tiến trình frame trống i 7 Các câu hỏi 1. Chọn trang nạn nhân ? => Chiến lược thay thế trang 2. Chọn trang nào để nạp ? => Chiến lược nạp 8 Chiế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 ? add victim AGBDCABCABCGABC victim Cur page AGBDCABCABCGABC victim Cur page 9 Chiế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 ? =>prepaging ld init pages ld page ld page ld page init pages = ? 10 Thrashing = ả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 mem P1 P2 P3  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 ! [...]...Nguyên nhân Thrashing 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  Chỉ có thể kiểm soát thrashing do nguyên nhân 3 3 Quá nhiều tiến trình trong hệ thống 11 Giải quyết thrasing với mô hình Working set  Working . 1 BÀI 10 : 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. Hệ điều hành : Bộ nhớ ảo ( Virtual Memory Virtual Memory) P RAM DISK 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” 

Ngày đăng: 06/03/2014, 09:21

Từ khóa liên quan

Mục lục

  • BÀI 10 : BỘ NHỚ ẢO

  • Giải pháp

  • Cơ chế

  • Bộ nhớ ảo = “lời nói dối vó đại“

  • Thực hiện Bộ nhớ ảo

  • Xử lý lỗi trang

  • Các câu hỏi

  • Chiến lược thay thế trang

  • Chiến lược nạp

  • Thrashing = ảo tưởng sụp đổ !

  • Nguyên nhân Thrashing

  • Giải quyết thrasing với mô hình Working set

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

Tài liệu liên quan