Bài giảng Hệ điều hành máy tính: Lecture 11 - Nguyễn Thanh Sơn

39 62 0
Bài giảng Hệ điều hành máy tính: Lecture 11 - Nguyễn Thanh Sơn

Đ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

Bài giảng Hệ điều hành Máy tính: Lecture 11 trình bày các nội dung chính như sau: Tổ chức thực hiện, chiến lược quản lý, nhìn lại paging và segmentation, tổng quan hiện thực bộ nhớ ảo, phần cứng hỗ trợ bộ nhớ ảo,...

Thay trang (Page Replacement) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Kiến trúc nhớ Disk Mem Cache OS CPU BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Tổ chức thực     Một nhiều chương trình (Process) lúc Dung lượng cấp phát giống hay khác Công việc thiết kế chạy vùng cố định hay thay đổi Cơng việc phải nạp vào vùng liên tục hay gián đoạn BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Chiến lược quản lý   Chiến lược nạp:  Nạp theo yêu cầu  Nạp trước Chiến lược đặt:  Best fit  First fit  Next fit  Worst fit  Chiến lược thay thế: Chọn vùng bị chiếm để lấy nhớ cấp cho yêu cầu:        25-Aug-16 OPT Random FIFO LRU NRU Page faults Khoa Khoa học & Kỹ thuật Máy tính Nhìn lại paging segmentation  Các tham chiếu đến nhớ chuyển đổi động thành địa thực lúc process thực thi CPU package The CPU sends virtual addresses to the MMU CPU Memory Disk controller MMU Bus The MMU sends physical addresses to the memory  BK TP.HCM MMU: memory management unit Một process gồm phần nhỏ (page hay segment), phần nạp vào vùng khơng liên tục nhớ Khoa Khoa học & Kỹ thuật Máy tính Bộ nhớ ảo  Nhận xét: tất phần process cần thiết phải nạp vào nhớ thời điểm   Ví dụ:  Đoạn mã điều khiển lỗi xảy  Các arrays, list, tables cấp phát nhớ (cấp phát tĩnh) nhiều yêu cầu thực  Một số tính dùng chương trình Ngay tồn chương trình cần dùng khơng cần dùng tồn lúc BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Bộ nhớ ảo (tt.)  Bộ nhớ ảo (virtual memory)   Ưu điểm nhớ ảo   BK Kỹ thuật thực hệ điều hành phép thực thi trình mà cần giữ nhớ phần khơng gian địa luận lý nó, cịn phần cịn lại giữ nhớ đại trà (đĩa) Số lượng process nhớ sẽ nhiều Một process thực thi kích thước lớn nhớ thực TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Bộ nhớ ảo (tt.)  Thông thường phần khơng gian địa luận lý q trình, chưa cần nạp vào nhớ chính, giữ vùng đặc biệt đĩa gọi không gian tráo đổi (swap space)  Ví dụ:   swap partition Linux file pagefile.sys Windows 2K BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Tổng quan thực nhớ ảo   Phần cứng memory management phải hỗ trợ paging và/hoặc segmentation OS phải quản lý di chuyển 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 hệ điều hành BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Phần cứng hỗ trợ nhớ ảo  Sự hỗ trợ phần cứng phân trang khảo sát chương trước Chỉ có điểm khác biệt mục bảng phân trang có thêm bit trạng thái đặc biệt  Present bit =  trang hợp lệ memory =  trang không hợp lệ khơng memory  Khi có tham chiếu đến trang mà khơng có nhớ (present bit = 0) phần cứng sẽ gây ngắt gọi page-fault trap  Modified bit: cho biết trang có thay đổi kể từ nạp vào memory hay không BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 10 Not-Used-Recently  Reference bit = Modified bit = : : : : trang trang trang trang chưa tham chiếu đ tham chiếu chưa bị thay đổi đ bị thay đổi Group Chưa tham chiếu (0) Chưa thay đổi (0) Group Chưa tham chiếu (0) Thay đổi (1) Group Tham chiếu (1) Chưa thay đổi (0) Group Tham chiếu (1) Thay đổi (1) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 25 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 ứng dụng (kích thước 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 BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 26 Chiến lược cấp phát tĩnh   Cấp phát  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 si  size of process pi Ví dụï S   si m  total number of frames  allocation for pi  si m S m  64 s1  10 s2  127 10 a1   64  137 127 a2   64  59 137 BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 27 Thrashing   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  Ví dụ: vịng lặp N lần, lần tham chiếu đến địa nằm trang nhớ process cấp frame  Chuỗi tham chiếu trang: 012301230123 Thrashing: tượng trang nhớ process bị hoán chuyển vào/ra liên tục BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 28 Thrashing diagram BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 29 Nguyên lý locality (tt.)   Để 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   Process gồm nhiều locality, trình thực thi, process sẽ “chuyển từ locality sang locality khác”  BK Trong ví dụ trước, locality sẽ bao gồm trang Ví dụ thủ tục gọi sẽ có locality Trong locality này, tham chiếu nhớ bao gồm lệnh thủ tục, biến cục phần biến toàn cục Khi thủ tục kết thúc, process sẽ thoát khỏi locality (và quay lại sau này) TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 30 Nguyên lý locality (tt.) Các trang trình tham khảo time BK TP.HCM Hình từ “The locality principle”, P.J.Denning Khoa Khoa học & Kỹ thuật Máy tính 31 Nguyên lý locality (tt.)  “The working set idea was based on an implicit assumption that the pages seen in the backward window were highly likely to be used again in the immediate future.” (P Denning) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 32 Hạn chế thrashing: Giải pháp working set   Giải pháp working set gọi working set model; thiết kế dựa nguyên lý locality Cần xác định process “thực sự” sử dụng frame  Tham số  working-set window xác định số lượng tham chiếu trang nhớ process gần cần quan sát  Ví dụ =4 chuỗi tham khảo trang nhớ 24569132639214 thời điểm t1 BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 33 Hạn chế thrashing: Giải pháp working set (tt.) Các trang trình tham khảo working set window  time BK TP.HCM t Hình từ “The locality principle”, P.J.Denning Khoa Khoa học & Kỹ thuật Máy tính 34 Hạn chế thrashing: Giải pháp working set (tt.)  Định nghĩa: working set process Pi , ký hiệu WSi , tập số trang working set window Ví dụ: = 10 và chuỗi tham khảo trang   Nhận xét:   nhỏ  không đủ bao phủ toàn locality   lớn  bao phủ nhiều locality khác   =   bao gồm tất trang sử dụng Dùng working set process để xấp xỉ locality BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 35 Hạn chế thrashing: Giải pháp working set (tt.)  Định nghĩa WSSi kích thước working set Pi : WSSi = số lượng trang WSi  Ví dụ (tiếp): = 10 chuỗi tham khảo trang WSS(t1) = WSS(t2) = BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 36 Hạn chế thrashing: Giải pháp working set (tt.)   Đặt D =  WSSi = tổng working-set size process hệ thống  Nhận xét: Nếu D > m (số frame hệ thống) sẽ 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  Nếu D > m suspend process  Các trang trình chuyển đĩa cứng frame thu hồi BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 37 Xấp xỉ working set   Theo định nghĩa, trang working set tham chiếu working-set window Giả sử hardware hỗ trợ reference bit cho page: page tham chiếu, reference bit set thành  Dùng interval timer kết hợp với reference bit để xấp xỉ working set reference bit copy  BK Ví dụ:  = 10.000 history bits  Timer interrupt định kỳ, sau 5000 đơn vị thời gian  Giữ nhớ bit (history bits) cho trang nhớ  Khi timer interrupt xảy ra, shift history bits vị trí sang phải, copy reference bit vào history bit trái, reset reference bit =  Trang có history bits chứa thuộc working set TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 38 Hạn chế thrashing: Điều khiển page-fault rate  Dùng giải thuật PFF (Page-Fault Frequency) để điều khiển page-fault rate (số page-faults/sec) process:  Page-fault rate thấp: process có nhiều frame  giảm số frame  Page-fault rate cao: process cần thêm frame  cấp thêm frame BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 39 ... Fault A - - Fault A - - - B Fault B A - Fault B A - - C Fault C B A Fault C B A - D Fault D C B Fault D C B A A Fault A D C N-F D C B A B Fault B A D N-F D C B A E Fault E B A Fault E D C B A N-F... page-fault rate  Dùng giải thuật PFF (Page-Fault Frequency) để điều khiển page-fault rate (số page-faults/sec) process:  Page-fault rate thấp: process có nhiều frame  giảm số frame  Page-fault... thuật Máy tính 14 Hiện thực demand paging Hai vấn đề chủ yếu:  Frame-allocation algorithm   Cấp phát cho process frame? Page-replacement algorithm   Chọn frame process sẽ thay trang nhớ Mục

Ngày đăng: 30/01/2020, 04:15

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