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

12 751 5
BÀI 7 : 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 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ệ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 ! [...]... 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 có thể  Chỉ hơn 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 set = tập hợp các trang tiến trình đang truy xuất tại 1 thời điểm  Hệ điều hành :  Chỉ nạp một tiến trình khi có đủ khung... set = tập hợp các trang tiến trình đang truy xuất tại 1 thời điểm  Hệ điều hành :  Chỉ nạp một tiến trình khi có đủ khung trang tự do cho working set của nó  Kiểm soát mức độ đa chương của hệ thống : Nếu tổng số khung trang yêu cầu của các tiến trình trong hệ thống vượt quá các khung trang có thể sử dụng, chọn một tiến trình để tạm dừng, ngược lại, khi tổng working set bé hơn số khung12 trang tự . 1 BÀ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. nhớ : lỗi trang (page fault) 17 1 4183 0 177 1 572 1 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

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

Từ khóa liên quan

Mục lục

  • BÀI 7 : 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