Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
749,55 KB
Nội dung
.c om ng co ng th an Chương cu u du o QUẢN LÝ BỘ NHỚ CuuDuongThanCong.com https://fb.com/tailieudientucntt u du o ng th an co ng Địa vấn đề liên quan Một số cách tổ chức chương trình Phân chương nhớ Phân đoạn nhớ Phân trang nhớ Bộ nhớ ảo Cấp phát khung trang Tình trạng trì trệ cu .c om Nội dung chương CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om BỘ NHỚ ẢO cu u du o ng th an co ng Dùng nhớ phụ lưu trữ tiến trình, phần tiến trình chuyển vào-ra nhớ nhớ phụ Phân trang theo yêu cầu (Demand paging) Phân đoạn theo yêu cầu (Demand segmentation) CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om BỘ NHỚ ẢO G H cu u du o ng th an co ng Phân trang theo yêu cầu (Demand paging) Trường chứa bit "kiểm tra“: (valid) trang nhớ (invalid) trang lưu nhớ phụ trang khơng thuộc tiến trình CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om BỘ NHỚ ẢO cu u du o ng th an co ng Chuyển địa ảo (p,d) thành địa vật lý CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om BỘ NHỚ ẢO ng Thay trang cu u du o ng th an co Bit "cập nhật" (dirty bit): 1: nội dung trang có bị sửa đổi 0: nội dung trang không bị thay đổi CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om BỘ NHỚ ẢO Thời gian thực yêu cầu truy xuất nhớ cu u du o ng th an co ng P: xác suất xảy lỗi trang (0 p 1) Memory access (ma): thời gian lần truy xuất nhớ Effective Access Time (EAT): thời gian thực yêu cầu truy xuất nhớ Page fault overhead (pfo) :thời gian xử lý lỗi trang Swap page in (spi): thời gian chuyển trang từ đĩa vào nhớ Swap page out (spo): thời gian chuyển trang đĩa (swap page out 0) Restart overhead (ro): thời gian tái khởi động lại việc truy xuất nhớ EAT = (1 – p) x ma+ p (pfo+ [spo]+ spi+ ro) Ví dụ: Thời gian lần truy xuất nhớ micro second giả sử 40% trang chọn thay đổi nội dung thời gian hoán chuyển trang ra/vào 10 mili second Tính ETA EAT = (1 – p) + p (pfo+10000*0.4+10000+ro) micro second CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om BỘ NHỚ ẢO cu u du o ng th an co ng Các thuật toán chọn trang nạn nhân Trang “nạn nhân”: trang mà sau thay gây lỗi trang Thuật tốn FIFO (First In First Out) Thuật toán tối ưu (Optimal Page Replacement Algorithm) Thuật toán LRU (Least-recently-used) Các thuật toán xấp xỉ LRU Thuật tốn với bít history Thuật toán hội thứ hai Thuật toán hội thứ hai nâng cao (Not Recently Used Page Replacement Algorithm: NRU) Các thuật toán thống kê Thuật toán LFU (least frequently used) Thuật toán MFU (most frequently used) CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo cu u du o ng th an co ng Giải thuật thay trang FIFO Xem frame cấp phát cho process circular buffer Khi đệm đầy, trang nhớ cũ thay thế: FIFO Một trang nhớ hay dùng thường trang cũ hay bị thay giải thuật FIFO Đơn giản: cần trỏ xoay vòng frame process CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo Nghịch lý Belady co ng Xét tiến trình truy xuất chuỗi trang theo thứ tự sau: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, cu u du o ng th an Nếu sử dụng khung trang, có lỗi trang Nếu sử dụng khung trang, có 10 lỗi trang CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo Giải thuật thay trang OPT - Optimal co ng Thay trang nhớ tham chiếu trễ an tương lai cu u du o ng th Ví dụ: process có trang, cấp frame CuuDuongThanCong.com https://fb.com/tailieudientucntt 11 .c om Bộ nhớ ảo u du o ng th an co Số lượng lỗi trang phát sinh thấp Khơng bị nghịch lý Belady Khó cài đặt Phù hơp với hệ điều hành cho thiết bị gia dụng cu ng Giải thuật thay trang OPT - Optimal CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo Giải thuật thay trang Least Recently Used (LRU) co ng Thay trang nhớ không tham chiếu lâu cu u du o ng th an Ví dụ: process có trang, cấp frame CuuDuongThanCong.com https://fb.com/tailieudientucntt 13 .c om Bộ nhớ ảo cu u du o ng th an co ng Cài đặt thuật toán LRU Sử dụng đếm Cấu trúc phần tử bảng trang: thêm trường ghi nhận “thời điểm truy xuất gần nhất” Cấu trúc CPU: thêm ghi đếm (counter) Sử dụng danh sách liên kết Trang cuối danh sách trang truy xuất gần Trang đầu danh sách trang lâu chưa sử dụng CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo Các thuật toán xấp xỉ LRU u du o ng th an co ng Mỗi phần tử bảng trang có thêm bit reference: khởi gán hđh phần cứng gán lần trang tương ứng truy cập cu Các thuật toán xấp xỉ LRU: Thuật toán với bit history Thuật toán hội thứ hai Thuật toán hội thứ hai nâng cao (Not Recently Used Page Replacement Algorithm: NRU) CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo Thuật toán với bit history cu u du o ng th an co ng Mỗi trang sử dụng thêm bit lịch sử (history) Cập nhật bít history: dịch bit history sang phải vị trí để loại bỏ bit thấp đặt bit reference trang vào bit cao bit history trang bit history lưu trữ tình hình truy xuất đến trang chu kỳ cuối Trang “nạn nhân” trang có giá trị history nhỏ CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo Thuật toán hội thứ hai: cu u du o ng th an co ng Tìm trang theo nguyên tắc FIFO Kiểm tra bit reference trang Nếu bit reference 0, chọn trang Nếu bit reference gán lại tìm trang FIFO CuuDuongThanCong.com https://fb.com/tailieudientucntt ng cu u du o ng th an co Thuật tốn hội thứ hai: Ví dụ: c om Bộ nhớ ảo CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo co ng Thuật toán hội thứ hai nâng cao (Not Recently Used Page Replacement Algorithm - NRU): cu u du o ng th an Lớp (0,0): gồm trang có (ref,dirty) = (0,0) (độ ưu tiên thấp nhất) Không truy xuất gần không bị sửa đổi Tốt để thay Lớp (0,1): Không truy xuất gần bị sửa đổi Trường hợp khơng thật tốt, trang cần lưu trữ lại trước thay CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo ng Thuật toán hội thứ hai nâng cao (Not Recently Used Page Replacement Algorithm - NRU): cu u du o ng th an co Lớp (1,0): Được truy xuất gần đây, không bị sửa đổi Trang nhanh chóng tiếp tục sử dụng Lớp (1,1): (độ ưu tiên cao nhất) trang truy xuất gần đây, bị sửa đổi Trang nhanh chóng tiếp tục sử dụng trước thay cần phải lưu trữ lại Trang “nạn nhân”: trang tìm thấy lớp có độ ưu tiên thấp CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo cu u du o ng th an co ng Các thuật toán thống kê Biến đếm: lưu số lần truy xuất đến trang Thuật toán LFU (least frequently used): Thay trang có giá trị biến đếm nhỏ nhất, nghĩa trang sử dụng Thuật toán MFU (most frequently used): Thay trang có giá trị biến đếm lớn nhất, nghĩa trang sử dụng nhiều CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo Chiến lược cấp phát khung trang cu u du o ng th an co ng Cấp phát ngang bằng: m khung trang n tiến trình Mỗi tiến trình cấp m/n khung trang Cấp phát theo tỷ lệ kích thước: si m S si: kích thước tiến trình pi S = si tổng kích thước tất tiến trình m: số lượng khung trang sử dụng ai: số khung trang cấp phát cho tiến trình pi Ví dụ: Tiến trình = 10K, tiến trình = 127K, có 62 khung trang trống Khi cấp cho tiến trình 1: 10/137 x 62 ~ khung tiến trình 2: 127/137 x62 ~ 57 khung Cấp phát theo tỷ lệ độ ưu tiên CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Bộ nhớ ảo Thay trang cu u du o ng th an co ng Thay toàn cục Chọn trang “nạn nhân” từ tập tất khung trang hệ thống Có nhiều khả lựa chọn Số khung trang cấp cho tiến trình thay đổi Các tiến trình khơng thể kiểm sốt tỷ lệ phát sinh lỗi trang Thay cục Chỉ chọn trang thay tập khung trang cấp cho tiến trình phát sinh lỗi trang Số khung trang cấp cho tiến trình khơng thay đổi CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Tình trạng trì trệ (thrashing) cu u du o ng th an co ng Là tượng trang nhớ process bị hoán chuyển vào/ra liên tục Nếu process khơng có đủ số frame cần thiết tỉ số page faults/sec cao Điều khiến giảm hiệu suất CPU nhiều Mơ hình tập làm việc (working set) CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình tập làm việc (working set) c om Tình trạng trì trệ (thrashing) cu u du o ng th an co ng WSSi(, t): số phần tử tập working set tiến trình Pi thời điểm t Tập trang tiến trình truy xuất đến lần truy cập cuối tính thời điểm t m: số khung trang trống D = WSSi: tổng số khung trang yêu cầu cho toàn hệ thống Tại thời điểm t: cấp cho Pi số khung trang WSSi(, t-1) D>m: Trì trệ hệ thống CuuDuongThanCong.com https://fb.com/tailieudientucntt ... đề liên quan Một số cách tổ chức chương trình Phân chương nhớ Phân đoạn nhớ Phân trang nhớ Bộ nhớ ảo Cấp phát khung trang Tình trạng trì trệ cu .c om Nội dung chương CuuDuongThanCong.com https://fb.com/tailieudientucntt... https://fb.com/tailieudientucntt .c om Bộ nhớ ảo Nghịch lý Belady co ng Xét tiến trình truy xuất chuỗi trang theo thứ tự sau: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, cu u du o ng th an Nếu sử dụng khung... https://fb.com/tailieudientucntt .c om BỘ NHỚ ẢO cu u du o ng th an co ng Chuyển địa ảo (p,d) thành địa vật lý CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om BỘ NHỚ ẢO ng Thay trang cu u