intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Hệ điều hành nâng cao: Bài 10 - Trần Hạnh Nhi

Chia sẻ: Ti Vu | Ngày: | Loại File: PPT | Số trang:12

39
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Hệ điều hành nâng cao - Bài 10: Bộ nhớ ảo. Chương này gồm có những nội dung chính sau: 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, chiến lược thay thế trang, chiến lược nạp, nguyên nhân Thrashing, giải quyết thrasing với mô hình working set.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Hệ điều hành nâng cao: Bài 10 - Trần Hạnh Nhi

  1. BÀI 10 :   BỘ NHỚ ẢO OS test.exe 0x3000 0x7000 test.exe jump 0x5000 jump 0x2000 0x3000 0x1000 (base)  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 ? 1
  2. 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
  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  Hệ điều hành : Bộ nhớDISK  ảo (Virtual Memory) Virtual Memory P RAM 3
  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  # of references 10% RAM + 90% DISK Memory address DISK RAM 4
  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 Frame valid/invalid 17       1 Disk 4183   0 177     1 5721   0 Mem  Truy xuất đến một trang chưa được nạp vào bộ  nhớ :  5
  6. Xử lý lỗi trang 3 xác định vị trí lưu trang  OS trên đĩa lỗi trang 2 3’ truy xuất M   swap out  1 trang nạn  nạp    i nhân 6 M tái kích  Bảng trang frame trống hoạt tiến  5 mang trang  Bộ nhớ  trình 4 cập nhật  cần truy  ảo xuất vào  bảng trang Bộ nhớ vật lý bộ nhớ6
  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 7
  8. 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ử  AGBDCABCABCGABC dụng đến trong quá khứ   Dự đoán tương lai LRU = MIN  Cur page 8 ?
  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 = ? 9
  10. 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
  11. 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   Ch ớể ỉ có th n h  kiơn ểm soát thrashing do nguyên nhân 3. 3. Quá nhiều tiến trình trong hệ thống 11
  12. 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  12
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2