Trang MÔN : HỆ ĐIỀU HÀNH Bài thực hành số 8.1 : Các chiến lược thay trang I Mục tiêu : Giúp SV củng cố kiến thức chiến lược tìm giải phóng trang có lỗi truy xuất trang II Nội dung : Cố gắng trả lời câu hỏi ₫ề chiến lược thay trang III Chuẩn ₫ầu : Sinh viên nắm vững kiến thức chiến lược thay trang IV Qui trình : Nhắc lại lý thuyết : Việc thực thi chương trình kéo theo chuỗi hoạt ₫ộng truy xuất nhớ Để thực lệnh, cần nhiều lần truy xuất nhớ ₫ể lấy mã lệnh, lấy liệu bị tác ₫ộng lệnh mà chương trình gồm nhiều lệnh, có hàng tỉ lệnh cần thực thi Mỗi lần truy xuất ô nhớ dẫn ₫ến lỗi truy xuất trang (page fault) trang chưa có nhớ RAM, ₫iều dẫn ₫ến việc tìm trang thật ₫ể nạp trang ảo ₫ang cần vào Việc tìm trang thật thường yêu cầu việc giải phóng trang thật ₫ang dùng Các hoạt ₫ộng thực hành giúp SV hiểu rõ chế làm việc chiến lược thay trang khác Tại việc thực thi chương trình dẫn ₫ến nhiều lỗi truy xuất trang ? Trong khoảng thời gian ngắn, chương trình cần truy xuất vùng nhỏ không gian làm việc tổng thể nó, ₫ó lãng phí khơng cần thiết ₫ể nạp tồn khơng gian làm việc chương trình vào nhớ RAM trước chạy, nạp phần nhỏ (page) có lúc chương trình cần truy xuất ô nhớ nằm trang mà chưa ₫ược nạp, lúc hệ thống nạp trang ₫è lên vùng RAM mà trang cũ ₫ang chiếm : chiến lược thay trang xác ₫ịnh trang cũ nạn nhân bị chiếm lại Trong trường hợp process ₫ược cấp phát vùng nhớ RAM cố ₫ịnh (chiếm n trang thật), ta thêm trang cần dùng vào vùng nhớ ₫ược cấp phát cho chương trình, nhiên ₫ến lúc ₫ó, vùng nhớ hết, lúc ta phải giải phóng trang cũ cần nạp trang vào Kích thước vùng nhớ cấp phát cho process thay ₫ổi theo yêu cầu process ₫ó, ta dùng chiến lược kiểu "Working set" ₫ể giải việc cấp phát hợp lý cho process Giải thuật tối ưu : Mỗi có lỗi truy xuất trang, ta biết trang mà thời ₫iểm truy xuất lại xa so với ta giải phóng trang gây rủi ro Tuy nhiên, khó lòng thực ₫ược xác ý tưởng ta khơng thể tiên ₫ốn xác xảy tương lai Giả sử process P1 truy xuất nhớ theo thứ tự trang sau ₫ây : 3 2 SinhVienZone.com https://fb.com/sinhvienzonevn Trang 1.1 Câu hỏi Giả sử hệ thống không hạn chế số trang thật dành cho process P1, việc truy xuất trang process P1 gây lỗi truy xuất trang ? Tối thiểu cần phân phối cho P1 trang thật ₫ể ₫ạt ₫ược số lỗi truy xuất trang tối thiểu ? Xét trình tự truy xuất trang trên, ta thấy process cần truy xuất trang ảo khác (chỉ số từ tới 5), ₫ó tối thiểu tạo lỗi truy xuất trang khác Để số lỗi truy xuất trang tối thiểu trên, ₫ừng giải phóng trang mà sau ₫ó ta cần truy xuất lại Khi cần nạp trang 0, thay nạp vào trang thật mới, ta nạp vào trang thật ₫ang chứa trang trang khơng cần truy xuất lại Ngược lại nạp trang khơng nên ₫è lên trang trang ₫ược truy xuất lại, ta nên dùng thật khác Tương tự, nạp trang nên dùng trang thật Tương tự, nạp trang nên dùng trang thật Tương tự, nạp trang nên dùng trang thật Tóm lại tối thiểu cần cấp phát cho P1 trang thật việc nạp trang ảo ₫ể thực thi P1 hiệu (số lần gây lỗi truy xuất trang thấp = lần) Ta nói việc cấp phát tối ưu, với ₫iều kiện P1 tham khảo trang 5, không ghi nội dung vào trang 5, ghi nội dung vào trang hệ thống phải tốn nhiều thời gian ₫ể ghi nội dung trang lên ₫ĩa trước dùng lại ₫ể chứa trang khác (trang 0), ₫iều làm chậm việc thi hành P1 lại 1.2 Câu hỏi Miêu tả qui trình tiến triển bảng quản lý trang số lần lỗi truy xuất trang hệ thống cấp phát cho P1 trang thật Có tất lần lỗi truy xuất trang sau : 0 1 1 1 X 2 X 0 0 0 0 2 2 2 1 X 0 X D D D D D D 2 1 1 2 0 X D D Giải thuật thây trang FIFO (First in - First out) Tinh thần giải thuật lần có lỗi truy xuất trang, hệ thống tìm giải phóng trang ₫ược nạp vào nhớ thật cũ (lâu so với tại) 2.1 Câu hỏi Giả sử process P1 truy xuất nhớ theo thứ tự trang sau ₫ây : 3 2 Miêu tả qui trình tiến triển bảng quản lý trang số lần lỗi truy xuất trang hệ thống cấp phát cho P1 trang thật Có tất 12 lần lỗi truy xuất trang sau : SinhVienZone.com https://fb.com/sinhvienzonevn Trang 3 PF 0 3 2 1 1 X 2 X 0 0 2 2 X 1 0 0 X 1 1 X 1 X 2 2 X 0 X D D D D D D 0 X D D D D D D Giải thuật thay trang cho hội lần hay gọi FINUFO (First in Not Used First Out) Trong record chứa thông tin quản lý trang, ta thêm bit R ₫ể miêu tả tình trạng truy xuất trang theo ý nghĩa sau : lần nạp trang vào nhớ, bit R trang ₫ược set lên 1, lần process truy xuất trang, bit R trang ₫ược set lên Các record quản lý trang ₫ược xếp theo thứ tự nạp : trang ₫ầu danh sách trang ₫ược nạp nhất, trang ₫uôi trang ₫ược nạp cũ Mỗi có lỗi truy xuất trang, trang ₫ược nạp cũ (₫uôi danh sách) ₫ược xem xét Nếu bit R 1, ta xóa R =0 dời lên ₫ầu danh sách chưa giải phóng (cho hội lần 2) Như vậy, trang ₫ược chọn giải phóng trang ₫ược nạp vào cũ mà có bit R = 3.1 Câu hỏi Giả sử process P1 truy xuất nhớ theo thứ tự trang sau ₫ây : 3 2 Miêu tả qui trình tiến triển bảng quản lý trang số lần lỗi truy xuất trang hệ thống cấp phát cho P1 trang thật Có tất 11 lần lỗi truy xuất trang sau : 3 2 5,1 0,1 5,1 1,1 0,1 5,1 2,1 1,0 0,0 2,1 1,0 0,1 3,1 0,0 2,1 3,1 0,1 2,1 4,1 3,0 0,0 2,1 4,1 3,0 2,1 4,1 3,1 0,1 2,0 4,0 3,1 0,1 2,0 3,1 0,1 2,1 1,1 3,0 0,0 2,1 1,1 3,0 1 1 1 X 2 2 X 2 X 1 0 0 X 1 1 X 2 2 2 X 0 0 0 0 X D D D X D D D D D D D D Giải thuật thay trang LRU (Least Recently Used) Mỗi có lỗi truy xuất trang, ta chọn giải phóng trang ₫ược sử dụng cũ so với SinhVienZone.com https://fb.com/sinhvienzonevn Trang 4.1 Câu hỏi Giả sử process P1 truy xuất nhớ theo thứ tự trang sau ₫ây : 3 2 Miêu tả qui trình tiến triển bảng quản lý trang số lần lỗi truy xuất trang hệ thống cấp phát cho P1 trang thật Có tất 10 lần lỗi truy xuất trang sau : 3 2 3 2 3 2 2 3 D D D D D D D D D D Giải thuật dùng Working set Working set chuỗi có thứ tự hoạt ₫ộng truy xuất trang theo thời gian Số trang working set thay ₫ổi theo chức truy xuất Định kỳ, working set ₫ược cập nhật ₫ể giữ lại trang ₫ược truy xuất khoảng thời gian gần so với 5.1 Câu hỏi Giả sử process P1 truy xuất nhớ theo thứ tự trang sau ₫ây : 3 2 Giả sử working set ₫ược cập nhật theo chu kỳ có lần truy xuất nhớ ta giữ lại trang ₫ược truy xuất lần cuối Miêu tả qui trình tiến triển working set số lần lỗi truy xuất trang Có tất lần lỗi truy xuất trang sau : 3 2 3 2 3 3 5 2 D SinhVienZone.com D D D D D D D https://fb.com/sinhvienzonevn D ... hệ thống cấp phát cho P1 trang thật Có tất 11 lần lỗi truy xuất trang sau : 3 2 5 ,1 0 ,1 5 ,1 1 ,1 0 ,1 5 ,1 2 ,1 1,0 0,0 2 ,1 1,0 0 ,1 3 ,1 0,0 2 ,1 3 ,1 0 ,1 2 ,1 4 ,1 3,0 0,0 2 ,1 4 ,1 3,0 2 ,1 4 ,1 3 ,1 0 ,1. .. 3,0 2 ,1 4 ,1 3 ,1 0 ,1 2,0 4,0 3 ,1 0 ,1 2,0 3 ,1 0 ,1 2 ,1 1 ,1 3,0 0,0 2 ,1 1 ,1 3,0 1 1 1 X 2 2 X 2 X 1 0 0 X 1 1 X 2 2 2 X 0 0 0 0 X D D D X D D D D D D D D Giải thuật thay trang LRU (Least Recently... xuất trang hệ thống cấp phát cho P1 trang thật Có tất 12 lần lỗi truy xuất trang sau : SinhVienZone .com https://fb .com/ sinhvienzonevn Trang 3 PF 0 3 2 1 1 X 2 X 0 0 2 2 X 1 0 0 X 1 1 X 1 X 2 2 X