oprating system

Embed Size (px)

Citation preview

  • 7/28/2019 oprating system

    1/19

    Operating SystemsProf. Navneet Goyal

    Department of Computer Science & Information Systems

    BITS, Pilani

  • 7/28/2019 oprating system

    2/19

    Topics for Today Thrashing

    Working Set

  • 7/28/2019 oprating system

    3/19

    Thrashing

    Swapping out a piece of a process justbefore that piece is needed

    The processor spends most of its timeswapping pieces rather than executinguser instructions

  • 7/28/2019 oprating system

    4/19

    Principle of Locality

    Program and data references within aprocess tend to cluster

    Only a few pieces of a process will beneeded over a short period of time

    Possible to make intelligent guesses aboutwhich pieces will be needed in the future

    This suggests that virtual memory maywork efficiently

  • 7/28/2019 oprating system

    5/19

    Locality In A Memory-Reference Pattern

  • 7/28/2019 oprating system

    6/19

    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 toincrease the degree of multiprogramming

    another process added to the system

    Thrashing a process is busy swappingpages in and out

  • 7/28/2019 oprating system

    7/19

    Thrashing (Cont.)

  • 7/28/2019 oprating system

    8/19

    Demand Paging and Thrashing

    Why does demand paging work?Locality model

    Process migrates from onelocality to another

    Localities may overlap

    Why does thrashing occur? size of locality > total memorysize

  • 7/28/2019 oprating system

    9/19

    Working-Set Model working-set window a fixed number of

    page referencesExample: 10,000 instruction

    WSSi (working set size of Process Pi) =total number of pages referenced in the mostrecent (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 ifD > m Thrashing Policy ifD > m, then suspend one of the

    processes

  • 7/28/2019 oprating system

    10/19

    Working-set model

  • 7/28/2019 oprating system

    11/19

    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 thevalues of all reference bits to 0

    If one of the bits in memory = 1 page inworking set

    Why is this not completely accurate?

    Improvement = 10 bits and interrupt every 1000time units

  • 7/28/2019 oprating system

    12/19

    Page Size

    Smaller page size, less amount of internalfragmentation

    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 soa large page size is better

  • 7/28/2019 oprating system

    13/19

    Page Size

    Small page size, large number of pageswill be found in main memory

    As time goes on during execution, thepages in memory will all contain portionsof the process near recent references.Page faults low.

    Increased page size causes pages tocontain locations further from any recentreference. Page faults rise.

  • 7/28/2019 oprating system

    14/19

  • 7/28/2019 oprating system

    15/19

    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 behigh

    Beyond a certain size, additional allocation will have

    no noticeable effect on page fault rate because of

    Principle of Locality

  • 7/28/2019 oprating system

    16/19

    Frame Allocation Schemes Fixed Allocation

    Equal Allocation

    Proportional Allocation Priority Allocation

  • 7/28/2019 oprating system

    17/19

    Fixed AllocationEqual allocation e.g., if 100 frames and 5 processes,

    give each 20 pages.

    Proportional allocation Allocate according to the size

    of process.

    mS

    spa

    m

    sSps

    iii

    i

    ii

    forallocation

    framesofnumbertotal

    processofsize

    5964137127

    564137

    10

    127

    10

    64

    2

    1

    2

    1

    a

    a

    s

    s

    m

  • 7/28/2019 oprating system

    18/19

    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.

  • 7/28/2019 oprating system

    19/19

    Global vs. Local Allocation

    Global replacement processselects a replacement frame fromthe set of all frames; one process

    can take a frame from another. Local replacement each process

    selects from only its own set ofallocated frames.