Bài giảng HĐH 10

12 359 0
Bài giảng HĐH 10

Đ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 ! . 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. 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ày đăng: 29/07/2013, 01:25

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan