Sau khi học xong chương này người học có thể: Hiểu được các khái niệm tổng quan về bộ nhớ ảo, hiểu và vận dụng các kỹ thuật cài đặt được bộ nhớ ảo, hiểu được một số vấn đề trong bộ nhở ảo. Mời cá bạn cùng tham khảo!
HỆ ĐIỀU HÀNH Chương – Bộ nhớ ảo 1/17/2018 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 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? TBL 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? 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved Câu hỏi ôn tập chương (tt) 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? 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved Câu hỏi ôn tập chương (tt) 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) 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved Câu hỏi ôn tập chương (tt) Đị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 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved Câu hỏi ôn tập chương (tt) 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 ? 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved Câu hỏi ôn tập chương (tt) 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 xác xuất thời gian truy xuất nhớ 182ns 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved Câu hỏi ôn tập chương (tt) 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 c 2,500 d 3,400 e 4,112 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved Mục tiêu chương 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 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved Nội dung chương 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 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 10 LRU FIFO So sánh giải thuật thay trang LRU FIFO 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 24 Số lượng frame cấp cho process OS phải định cấp cho process frame Cấp 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 process không đổi, xác định vào thời điểm loading 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 process thay đổi 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 process 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 25 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 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 26 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 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 27 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 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 28 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 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 29 Giải pháp tập làm việc (tt) Định nghĩa: working set của process Pi , ký hiệu WSi , tập gồm Δ trang sử dụng gần Ví dụ: Δ = 10 ch̃i tham khảo trang Nhận xét: Δ nhỏ ⇒ khơng đủ bao phủ tồn locality Δ lớn ⇒ bao phủ nhiều locality khác Δ=∞ ⇒ bao gồm tất trang sử dụng Dùng working set của process để xấp xỉ locality của 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 30 Giải pháp tập làm việc (tt) Định nghĩa: WSSi kích thước của working ser của Pi: WSSi = số lượng trang WSi Ví dụ: Δ = 10 chuỗi tham khảo trang WSS(t1) = 1/17/2018 WSS(t2) = Copyrights 2017 CE-UIT All Rights Reserved 31 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 trình: cung cấp cho 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 trình chuyển đĩa cứng frame của thu hồi 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 32 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 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 33 Tóm tắt lại nội dung buổi học 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 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 34 Câu hỏi ôn tập chương Tại cần phải có nhớ ảo? Có kỹ thuật cài đặt nhớ ảo? Mơ tả sơ lượt kỹ thuật đó? Các bước thực kỹ thuật phân trang theo yêu cầu? Mô tả giải thuật thay trang FIFO, OPT, LRU? Giải pháp tập làm việc hoạt động nào? 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 35 Bài tập Xét chuỗi truy xuất nhớ sau: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, Có lỗi trang xảy sử dụng thuật toán thay sau đây, giả sử có 2, 3, 4, khung trang a LRU b FIFO c Chiến lược tối ưu (OPT) 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 36 Bài tập Một máy tính 32-bit địa chỉ, sử dụng bảng trang cấp Địa ảo phân bổ sau: bit dành cho bảng trang cấp 1, 11 bit cho bảng trang cấp 2, lại cho offset Cho biết kích thước trang hệ thống địa ảo có trang 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 37 Bài tập Giả sử địa ảo 32-bit phân tách thành trường a, b, c, d trường dùng cho bảng trang cấp, trường thứ dành cho offset Số lượng trang có phụ thuộc vào kích thước của trường khơng? Nếu không, trường ảnh hưởng đến số lượng trang, trường không ảnh hưởng? 1/17/2018 Copyrights 2017 CE-UIT All Rights Reserved 38 ... ngắt đến hệ điều hành; PFSR cập nhật page table chuyển process trạng thái ready 1/17/20 18 Copyrights 2017 CE-UIT All Rights Reserved 14 Lỗi trang bước xử lý 1/17/20 18 Copyrights 2017 CE-UIT All... trang/đoạn nhớ nhớ thứ cấp Trong chương này, Chỉ quan tâm đến paging Phần cứng hỗ trợ thực nhớ ảo Các giải thuật của hệ điều hành 1/17/20 18 Copyrights 2017 CE-UIT All Rights Reserved 13 Phân... trang mà khơng có nhớ (valid bit) phần cứng gây ngắt (gọi page-fault trap) kích khởi page-fault service routine (PFSR) của hệ điều hành PFSR: Chuyển process trạng thái blocked Phát yêu