1 / 19

Operating Systems

Operating Systems. Prof. Navneet Goyal Department of Computer Science & Information Systems BITS, Pilani. Topics for Today. Thrashing Working Set. Thrashing. Swapping out a piece of a process just before that piece is needed

edan-buck
Download Presentation

Operating Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operating Systems Prof. Navneet Goyal Department of Computer Science & Information Systems BITS, Pilani

  2. Topics for Today • Thrashing • Working Set

  3. Thrashing • Swapping out a piece of a process just before that piece is needed • The processor spends most of its time swapping pieces rather than executing user instructions

  4. Principle of Locality • Program and data references within a process tend to cluster • Only a few pieces of a process will be needed over a short period of time • Possible to make intelligent guesses about which pieces will be needed in the future • This suggests that virtual memory may work efficiently

  5. Locality In A Memory-Reference Pattern

  6. Thrashing • If a process does not have “enough” pages, the page-fault rate is very high. This leads to: • low CPU utilization • operating system thinks that it needs to increase the degree of multiprogramming • another process added to the system • Thrashing  a process is busy swapping pages in and out

  7. Thrashing (Cont.)

  8. Demand Paging and Thrashing • Why does demand paging work?Locality model • Process migrates from one locality to another • Localities may overlap • Why does thrashing occur? size of locality > total memory size

  9. Working-Set Model •   working-set window  a fixed number of page references Example: 10,000 instruction • WSSi (working set size of Process Pi) =total number of pages referenced in the most recent  (varies in time) • if  too small will not encompass entire locality • if  too large will encompass several localities • if  =   will encompass entire program • D =  WSSi  total demand frames • if D > m  Thrashing • Policy if D > m, then suspend one of the processes

  10. Working-set model

  11. Keeping Track of the Working Set • Approximate with interval timer + a reference bit • Example:  = 10,000 • Timer interrupts after every 5000 time units • Keep in memory 2 bits for each page • Whenever a timer interrupts copy and sets the values of all reference bits to 0 • If one of the bits in memory = 1  page in working set • Why is this not completely accurate? • Improvement = 10 bits and interrupt every 1000 time units

  12. Page Size • Smaller page size, less amount of internal fragmentation • Smaller page size, more pages required per process • More pages per process means larger page tables • Larger page tables means large portion of page tables in virtual memory • Secondary memory is designed to efficiently transfer large blocks of data so a large page size is better

  13. Page Size • Small page size, large number of pages will be found in main memory • As time goes on during execution, the pages in memory will all contain portions of the process near recent references. Page faults low. • Increased page size causes pages to contain locations further from any recent reference. Page faults rise.

  14. Frame Allocation: Issues • Smaller no. of frames to a process – more processes can reside in MM – increases probability that OS will find at least one ready process • Despite Principle of Locality, Page faults rate will be high • Beyond a certain size, additional allocation will have no noticeable effect on page fault rate because of Principle of Locality

  15. Frame Allocation Schemes • Fixed Allocation • Equal Allocation • Proportional Allocation • Priority Allocation

  16. Fixed Allocation Equal allocation – e.g., if 100 frames and 5 processes, give each 20 pages. Proportional allocation – Allocate according to the size of process.

  17. Priority Allocation • Use a proportional allocation scheme using priorities rather than size. • If process Pi generates a page fault, • select for replacement one of its frames. • select for replacement a frame from a process with lower priority number.

  18. Global vs. Local Allocation • Global replacement – process selects a replacement frame from the set of all frames; one process can take a frame from another. • Local replacement – each process selects from only its own set of allocated frames.

More Related