Bài giảng Hệ điều hành - Chương 8: Bộ nhớ ảo cung cấp cho người học các kiến thức: Tổng quan về bộ nhớ ảo, cài đặt bộ nhớ ảo, vấn đề cấp phát Frames, vấn đề Thrashing, cài đặt bộ bộ nhớ ảo - Demand Segmentation. Mời các bạn cùng tham khảo nội dung chi tiết.
Chương 8: Bộ nhớ ảo CuuDuongThanCong.com https://fb.com/tailieudientucntt Câu hỏi ôn tập chương Bộ nhớ luận lý gì? Bảng phân trang dùng để làm gì? Bảng trang lưu trữ đâu? Các ghi cần sử dụng chế phân trang? TLB gì? Dùng để làm gì? Thế phân trang đa cấp? Cho ví dụ? Tại phải phân đoạn? Các đoạn phân chia gì? Các ghi sử dụng phân đoạn? CuuDuongThanCong.com https://fb.com/tailieudientucntt Bộ nhớ ảo Câu hỏi ôn tập chương Xét khơng gian địa có 14 trang, trang có kích thước 1MB ánh xạ vào nhớ vật lý có 38 khung trang a) Địa logic gồm bit ? b) Địa physic gồm bit ? c) Bảng trang có mục? Mỗi mục bảng trang cần bit? CuuDuongThanCong.com https://fb.com/tailieudientucntt Bộ nhớ ảo Câu hỏi ôn tập chương Xét hệ thống sử dụng kỹ thuật phân trang, với bảng trang lưu trữ nhớ a) Nếu thời gian cho lần truy xuất nhớ bình thường 124 nanoseconds, thời gian cho thao tác truy xuất nhớ hệ thống ? b) Nếu sử dụng TLBs với hit-ratio ( tỉ lệ tìm thấy) 95%, thời gian để tìm TLBs 34, tính thời gian cho thao tác truy xuất nhớ hệ thống ( effective memory reference time) CuuDuongThanCong.com https://fb.com/tailieudientucntt Bộ nhớ ảo Câu hỏi ôn tập chương Địa vật lý 6568 chuyển thành địa ảo bao nhiêu? Biết kích thước frame 1K bytes Địa ảo 3254 chuyển thành địa vật lý bao nhiêu? Biết kích thước frame 2K bytes CuuDuongThanCong.com https://fb.com/tailieudientucntt Bộ nhớ ảo Câu hỏi ôn tập chương Xét hệ thống sử dụng kỹ thuật phân trang, với bảng trang lưu trữ nhớ Nếu sử dụng TLBs với hit-ratio ( tỉ lệ tìm thấy) 87%, thời gian để tìm TLBs 24 nanosecond Thời gian truy xuất nhớ hệ thống ( effective memory reference time) 175 Tính thời gian cho lần truy xuất nhớ bình thường? CuuDuongThanCong.com https://fb.com/tailieudientucntt Bộ nhớ ảo Câu hỏi ôn tập chương Biết thời gian truy xuất nhớ thường không sử dụng TLB 250ns Thời gian tìm kiếm bảng TLB 26ns Hỏi sác xuất thời gian truy xuất nhớ 182ns CuuDuongThanCong.com https://fb.com/tailieudientucntt Bộ nhớ ảo Câu hỏi ôn tập chương Xét bảng phân đoạn sau : Cho biết địa vật lý tương ứng với địa logic sau : a 0,430 b 1,100 CuuDuongThanCong.com c 2,500 d 3,400 https://fb.com/tailieudientucntt e 4,112 Bộ nhớ ảo Mục tiêu Hiểu khái niệm tổng quan nhớ ảo Hiểu vận dụng kỹ thuật cài đặt nhớ ảo: Demand Paging Page Replacement Demand Segmentation Hiểu số vấn đề nhở ảo Frames Thrashing CuuDuongThanCong.com https://fb.com/tailieudientucntt Bộ nhớ ảo Nội dung Tổng quan nhớ ảo Cài đặt nhớ ảo: Demand Paging Cài đặt nhớ ảo: Page Replacement Các giải thuật thay trang (Page Replacement Algorithms) Vấn đề cấp phát Frames Vấn đề Thrashing Cài đặt bộ nhớ ảo: Demand Segmentation CuuDuongThanCong.com 10 https://fb.com/tailieudientucntt Bộ nhớ ảo Nghịch lý Belady CuuDuongThanCong.com 23 https://fb.com/tailieudientucntt Bộ nhớ ảo Nghịch lý Belady Bất thường/Nghịc lý (Anomaly) Belady: số page fault tăng mặc dầu trình đã cấp nhiều frame CuuDuongThanCong.com 24 https://fb.com/tailieudientucntt Bộ nhớ ảo Giải thuật thay trang OPT Giải thuật thay trang OPT (Optimal Page Replacement) Trang nhớ bị thay sẽ trang nhớ được tham chiếu trễ nhất tương lai Ví dụ: process có page, và cấp frame trống lúc đầu Xét giải thuật thay trang OPT với chuỗi tham chiếu sau: CuuDuongThanCong.com 25 https://fb.com/tailieudientucntt Bộ nhớ ảo Giải thuật thay trang LRU Giải thuật thay trang LRU (least recently used) Trang nhớ bị thay sẽ trang nhớ gần được sử dụng nhất Mỗi trang ghi nhận (trong bảng phân trang) thời điểm tham chiếu; từ đó trang bị thay sẽ là trang nhớ có thời điểm tham chiếu nhỏ (OS phải tốn thêm chi phí tìm kiếm trang nhớ bị thay này mỗi có page fault) Do vậy, LRU cần sự hỗ trợ của phần cứng và chi phí cho việc tìm kiếm CuuDuongThanCong.com 26 https://fb.com/tailieudientucntt Bộ nhớ ảo Giải thuật thay trang LRU Giải thuật thay trang LRU (least recently used) Trang nhớ bị thay sẽ trang nhớ gần được sử dụng nhất Ví dụ: process có page, và cấp frame trống lúc đầu Xét giải thuật thay trang LRU với chuỗi tham chiếu sau: CuuDuongThanCong.com 27 https://fb.com/tailieudientucntt Bộ nhớ ảo Số lượng frame cấp cho process OS phải định cấp cho mỗi process frame Cấp ít frame ⇒ nhiều page fault Cấp nhiều frame ⇒ giảm mức độ multiprogramming Chiến lược cấp phát tĩnh (fixed-allocation) Số frame cấp cho mỗi process không đổi, xác định vào thời điểm loading và có thể tùy thuộc vào từng ứng dụng (kích thước của nó, …) Chiến lược cấp phát động (variable-allocation) Số frame cấp cho mỗi process có thể thay đổi nó chạy Nếu tỷ lệ page-fault cao ⇒ cấp thêm frame Nếu tỷ lệ page-fault thấp ⇒ giảm bớt frame OS phí để ước định các process CuuDuongThanCong.com 28 https://fb.com/tailieudientucntt Bộ nhớ ảo Chiến lược cấp phát tĩnh Cấp phát bằng nhau: Ví dụ, có 100 frame process → process 20 frame Cấp phát theo tỉ lệ: dựa vào kích thước process Ví dụ: Cấp phát theo độ ưu tiên CuuDuongThanCong.com 29 https://fb.com/tailieudientucntt Bộ nhớ ảo Trì trệ tồn hệ thống Nếu process khơng có đủ số frame cần thiết tỉ số page faults/sec cao Thrashing: tượng trang nhớ của process bị hoán chuyển vào/ra liên tục CuuDuongThanCong.com 30 https://fb.com/tailieudientucntt Bộ nhớ ảo Mơ hình cục Để hạn chế thrashing, hệ điều hành phải cung cấp cho process “đủ” frame tốt Bao nhiêu frame đủ cho process thực thi hiệu quả? Nguyên lý locality (locality principle) Locality tập trang tham chiếu gần Một process gồm nhiều locality, trình thực thi, process chuyển từ locality sang locality khác Vì tượng thrashing xuất hiện? Khi Σ size of locality > memory size CuuDuongThanCong.com 31 https://fb.com/tailieudientucntt Bộ nhớ ảo Giải pháp tập làm việc Được thiết kế dựa nguyên lý locality Xác định xem process thực sự sử dụng frame Định nghĩa: WS(t) - số lượng tham chiếu trang nhớ của process gần cần quan sát - khoảng thời gian tham chiếu Ví dụ: =4 chuỗi tham khảo trang nhớ 24569132639214 thời điểm t1 CuuDuongThanCong.com 32 https://fb.com/tailieudientucntt Bộ nhớ ảo Giải pháp tập làm việc (tt) Định nghĩa: working set của process Pi , ký hiệu WSi , là tập gồm Δ các trang sử dụng gần Ví dụ: Δ = 10 chuỗi tham khảo trang Nhận xét: Δ quá nhỏ ⇒ không đủ bao phủ toàn locality Δ quá lớn ⇒ bao phủ nhiều locality khác Δ=∞ ⇒ bao gồm tất các trang sử dụng Dùng working set của process để xấp xỉ locality của nó 33 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bộ nhớ ảo Giải pháp tập làm việc (tt) Định nghĩa: WSSi kích thước của working set của Pi: WSSi = số lượng trang WSi Ví dụ: Δ = 10 chuỗi tham khảo trang WSS(t1) = CuuDuongThanCong.com WSS(t2) = 34 https://fb.com/tailieudientucntt Bộ nhớ ảo Giải pháp tập làm việc (tt) Đặt D = Σ WSSi = tổng working-set size của mọi process hệ thống Nhận xét: Nếu D > m (số frame của hệ thống) ⇒ xảy thrashing Giải pháp working set: Khi khởi tạo tiến trình: cung cấp cho tiến trình số lượng frame thỏa mãn working-set size của Nếu D > m ⇒ tạm dừng process Các trang của tiến trình chuyển đĩa cứng frame của thu hồi CuuDuongThanCong.com 35 https://fb.com/tailieudientucntt Bộ nhớ ảo Giải pháp tập làm việc (tt) WS loại trừ tình trạng trì trệ mà vẫn đảm bảo mức độ đa chương Theo vết WS? WS xấp xỉ (đọc thêm sách) Đọc thêm: Hệ thống tập tin Hệ thống nhập xuất Hệ thống phân tán CuuDuongThanCong.com 36 https://fb.com/tailieudientucntt Bộ nhớ ảo Kết thúc chương CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Xét hệ thống sử dụng kỹ thuật phân trang, với bảng trang lưu trữ nhớ Nếu sử dụng TLBs với hit-ratio ( tỉ lệ tìm thấy) 87 %, thời gian để tìm TLBs 24 nanosecond Thời gian truy xuất nhớ hệ thống... chính (valid bit) thì phần cứng sẽ gây ngắt (gọi là page-fault trap) kích khởi pagefault service routine (PFSR) của hệ điều hành PFSR: Chuyển process trạng thái blocked Phát... CuuDuongThanCong.com 18 https://fb.com/tailieudientucntt Bộ nhớ ảo Các giải thuật thay trang Hai vấn đề chủ yếu: Frame-allocation algorithm Cấp phát cho process frame của nhớ thực? Page-replacement