Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Module 9: Virtual Memory.• Background.• Demand Paging.• Performance of Demand Paging.• Page Replacement.• Page-Replacement Algorithms.• Allocation of Frames.• Thrashing.• Other Considerations.• Demand Segmenation. 9.1 Silberschatz and Galvin 1999 Background.• Virtual memory – separation of user logical memory from physical. memory – Only part of the program needs to be in memory for. execution – Logical address space can therefore be much larger than. physical address space – Need to allow pages to be swapped in and out• Virtual memory can be implemented via:. – Demand paging. – Demand segmentation. 9.2 Silberschatz and Galvin 1999 Demand Paging.• Bring a page into memory only when it is needed – Less I/O needed. – Less memory needed. – Faster response. – More users.• Page is needed reference to it. – invalid reference abort. – not-in-memory bring to memory. 9.3 Silberschatz and Galvin 1999 Valid-Invalid Bit.• With each page table entry a valid–invalid bit is associated. (1 in-memory, 0 not-in-memory).• Initially valid–invalid but is set to 0 on all entries• Example of a page table snapshot Frame # valid-invalid bit. 1. 1. 1. 1. 0. 0. 0. page table.• During address translation, if valid–invalid bit in page table entry. is 0 page fault 9.4 Silberschatz and Galvin 1999 Page Fault• If there is ever a reference to a page, first reference will trap to. OS page fault.• OS looks at another table to decide:. – Invalid reference abort – Just not in memory• Get empty frame• Swap page into frame• Reset tables, validation bit = 1• Restart instruction: Least Recently Used. – block move. – auto increment/decrement location. 9.5 Silberschatz and Galvin 1999 What happens if there is no free frame?.• Page replacement – find some page in memory, but not really in. use, swap it out – algorithm. – performance – want an algorithm which will result in. minimum number of page faults• Same page may be brought into memory several times 9.6 Silberschatz and Galvin 1999 Performance of Demand Paging.• Page Fault Rate 0 p 1.0. – if p = 0 no page faults. – if p = 1, every reference is a fault.• Effective Access Time (EAT). EAT = (1 – p) x memory access. + p (page fault overhead. + [swap page out ]. + swap page in. + restart overhead). 9.7 Silberschatz and Galvin 1999 Demand Paging Example.• Memory access time = 1 microsecond.• 50% of the time the page that is being replaced has been. modified and therefore needs to be swapped out• Swap Page Time = 10 msec = 10,000 msec. EAT = (1 – p) x 1 + p (15000). 1 + 15000P (in msec). 9.8 Silberschatz and Gal