Bài giảng Hệ điều hành - Bài 10: Bộ nhớ ảo

n Cho đến nay : Nạp toàn bộ tiến trình vào bộ nhơ rồi thực hiện nó...
n Chậm, lãng phí bộ nhớ
n Nếu kích thước tiến trình lớn hơn dung lương bộ nhớ chính ?
n Lưu ý : tại 1 thời điểm chỉ có một chỉ thị được thực hiện
ppt 12 trang xuanthi 29/12/2022 700
Bạn đang xem tài liệu "Bài giảng Hệ điều hành - Bài 10: Bộ nhớ ảo", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pptbai_giang_he_dieu_hanh_bai_10_bo_nho_ao.ppt

Nội dung text: Bài giảng Hệ điều hành - Bài 10: Bộ nhớ ảo

  1. Giải pháp Real memory Real memory Page0 Page0 Page1 emacs emacs Page2 t1 t2 Time ▪ Nạp từng phần chương trình khi cần thiết ▪ Demand paging 2
  2. 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 # # of references 10% RAM + 90% DISK Memory address DISK RAM 4
  3. Xử lý lỗi trang 3 xác định vị trí lưu trang trên đĩa OS lỗi trang 2 3’ truy xuất M swap out 1 trang nạn nhân nạp M i 6 Bảng trang tái kích hoạt frame trống tiến trình mang trang Bộ nhớ ảo 5 4 cập nhật cần truy xuất bảng trang vào bộ nhớ Bộ nhớ vật lý 6
  4. Chiến lược thay thế trang victim add ◼ FIFO: trang “già” nhất ◼ Công bằng ? ◼ Không xét đến tính sủ dụng ! victim ◼ TỐI ƯU : trang lâu sử dụng đến nhất trong tương lai AGBDCABCABCGABC ◼ Tần suất lỗi trang thấp nhất Cur page ◼ Không khả thi ! victim ◼ LRU :trang lâu nhất chưa sử dụng đến trong quá khứ AGBDCABCABCGABC ◼ Dự đoán tương lai LRU = MIN ? Cur page 8
  5. Thrashing = ảo tưởng sụp đổ ! ◼ 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 ! P1 P2 P3 Real mem ▪ 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ệ 10
  6. 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 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ố khung trang tự do, nạp thêm tiến trình. 12