+ All Categories
Home > Documents > Ch 22 Scheduling

Ch 22 Scheduling

Date post: 07-Apr-2018
Category:
Upload: ggpavi88
View: 221 times
Download: 0 times
Share this document with a friend

of 29

Transcript
  • 8/6/2019 Ch 22 Scheduling

    1/29

    Ceng 334 - Operating Systems 2.2-1

    Chapter 2.2 : Process Scheduling

    Process concept

    Process scheduling Interprocess communication

    Deadlocks

    Threads

  • 8/6/2019 Ch 22 Scheduling

    2/29

    Ceng 334 - Operating Systems 2.2-2

    Scheduling

    Select process(es) to run on processor(s)

    Process state is changed from ready torunning

    The component of the OS which does the

    scheduling is called the scheduler

  • 8/6/2019 Ch 22 Scheduling

    3/29

    Ceng 334 - Operating Systems 2.2-3

    Types of Scheduling

    Scheduling is divided into various levels.

    These levels are defined by the location of

    the processes

    A process can be

    available to be executed by the processor

    partially or fully in main memory

    in secondary memory

    is not started yet

  • 8/6/2019 Ch 22 Scheduling

    4/29

  • 8/6/2019 Ch 22 Scheduling

    5/29

    Ceng 334 - Operating Systems 2.2-5

    Scheduling Criteria

    Fairness : each process should get a fairshare of the CPU

    Efficiency: keep CPU 100% utilized

    Response time : should be minimized forinteractive users

    Turnaround : minimize batch turnaround

    times Throughput : maximize number of jobs

    processed per hour

  • 8/6/2019 Ch 22 Scheduling

    6/29

    Ceng 334 - Operating Systems 2.2-6

    User-Oriented, Performance

    Criteria

    Criteria Aim

    Response Time low response time,

    maximum number of

    interactive users

    Turnaround Time time between submission

    and completion

    Deadlines maximise deadlines met

  • 8/6/2019 Ch 22 Scheduling

    7/29

    Ceng 334 - Operating Systems 2.2-7

    System-oriented, Performance

    Criteria

    Criteria Aim

    Throughput allow maximum number of jobs to complete

    Processor maximise percentage of time processor is busy

    utilisation

    Overhead minimise time processor busy executing OS

  • 8/6/2019 Ch 22 Scheduling

    8/29

    Ceng 334 - Operating Systems 2.2-8

    System oriented, other criteria

    Criteria Aim

    Fairness treat processes the same avoid starvation

    Enforcing Priorities give preference to higher priority processes

    Balancing Resources keep the system resources busy

  • 8/6/2019 Ch 22 Scheduling

    9/29

    Ceng 334 - Operating Systems 2.2-9

    Important Factors

    I/O boundedness of a process

    CPU boundedness of a process

    Is the process interactive or batch?

    Process priority Page fault frequency

    Preemption frequency

    Execution time received Execution time required to complete

  • 8/6/2019 Ch 22 Scheduling

    10/29

    Ceng 334 - Operating Systems 2.2-10

    Types of Scheduling

    A scheduling algorithm is non-premptive

    (run to completion) if the CPU cannot be

    taken away by the OS.

    A scheduling algorithm is preemptive if the

    CPU can be taken away by the OS.

  • 8/6/2019 Ch 22 Scheduling

    11/29

    Ceng 334 - Operating Systems 2.2-11

    The Interrupting Clock

    The OS sets the interrupting clock to

    generate an interrupt at some specified

    future time.

    This interrupt time is the process quantum.

    Provides reasonable response times and

    prevents the system being held up byprocesses in infinite loops.

  • 8/6/2019 Ch 22 Scheduling

    12/29

    Ceng 334 - Operating Systems 2.2-12

    Scheduling Algorithms

    FCFS

    Round Robin

    Virtual Round Robin

    Priority Priority Classes

    Shortest Job First

    Shortest Remaining Time Highest Response Ratio Next

    Feedback Queues

  • 8/6/2019 Ch 22 Scheduling

    13/29

    Ceng 334 - Operating Systems 2.2-13

    FCFS (First Come First Serve)

    Implementation:

    As each process becomes ready, it joins theready queue.

    When the current process finishes the oldestprocess is selected next.

    Characteristics:

    Simple to implement

    Nonpremptive

    Penalises short and I/O-bound processes

  • 8/6/2019 Ch 22 Scheduling

    14/29

    Ceng 334 - Operating Systems 2.2-14

    RoundRobin (RR)

    Implementation:

    Processes are dispatched FIFO. But are given a

    fixed time on the CPU (quantum - time slice).

    Characteristics:

    Preemptive

    Effective in time sharing environments

    Penalises I/O bound processes

  • 8/6/2019 Ch 22 Scheduling

    15/29

    Ceng 334 - Operating Systems 2.2-15

    Quantum Size

    Some Options: Large or small quantum

    Fixed or variable quantum

    Same for everyone or different

    If quantum is to large RR degenerates intoFCFS

    If quantum is to small context switchingbecomes the primary job being executed

    A good guide is quantum should be slightly

    larger than the time required for a typical

    interaction

  • 8/6/2019 Ch 22 Scheduling

    16/29

    Ceng 334 - Operating Systems 2.2-16

    VirtualRoundRobin (VRR)

    A modification to the RR algorithm to remove

    the bias towards CPU bound processes.

    Implementation:

    Two ready queues, one called an AUXqueue for storing completed IO processes

    AUX queue has priority over READYqueue

    IO processes only runs for remaining time Characteristics:

    Performance studies indicate fairer than RR

  • 8/6/2019 Ch 22 Scheduling

    17/29

    Ceng 334 - Operating Systems 2.2-17

    Priority

    Implementation: Each process is assigned a priority and the

    scheduler always selects the highest priority

    process first

    Characteristics:

    High priority processes may run indefinitely, so

    decrease the priority of these processes at

    regular intervals

    Assign high priority to system processes with

    known characteristics such as being I/O bound

  • 8/6/2019 Ch 22 Scheduling

    18/29

    Ceng 334 - Operating Systems 2.2-18

    Priority Classes

    Priority Class 4

    Priority Class 2

    Priority Class 1

    Priority Class 3

    Highest

    Lowest

  • 8/6/2019 Ch 22 Scheduling

    19/29

    Ceng 334 - Operating Systems 2.2-19

    Implementation: Processes are grouped into priority classes

    Round Robin is used within a class

    When selecting process start with the highest

    class. If the class is empty, use a lower class

    Characteristics:

    If priorities are not adjusted from time to time,

    lower classes may starve to death

  • 8/6/2019 Ch 22 Scheduling

    20/29

    Ceng 334 - Operating Systems 2.2-20

    Shortest-Job-First (SJF)

    Sometimes known as Shortest Process Next

    (SPN)

    Implementation:

    The process with the shortest expected

    execution time is given priority on the

    processor

  • 8/6/2019 Ch 22 Scheduling

    21/29

    Ceng 334 - Operating Systems 2.2-21

    Characteristics:

    Nonpremptive

    Reduces average waiting time over FIFO

    Always produces the minimum averageturnaround time

    Must know how long a process will run

    Possible user abuse Suitable for batch environments. Not useful in a

    timesharing environment

  • 8/6/2019 Ch 22 Scheduling

    22/29

  • 8/6/2019 Ch 22 Scheduling

    23/29

    Ceng 334 - Operating Systems 2.2-23

    Characteristics:

    Still requires estimates of the future

    Higher overhead than SJF No additional interrupts are generated as

    in RR

    Elapsed service times must be recorded

  • 8/6/2019 Ch 22 Scheduling

    24/29

    Ceng 334 - Operating Systems 2.2-24

    HighestResponse Ratio Next

    (HRRN) How do you get around the problem ofIndefinite postponement?

    Implementation:

    Once a job gets the CPU it runs it to completion

    The priority of a job is a function of the job'sservice time and the time it has been waiting for

    servicepriority = (time waiting + service time) / servicetime

  • 8/6/2019 Ch 22 Scheduling

    25/29

    Ceng 334 - Operating Systems 2.2-25

    Characteristics:

    Nonpremptive

    Shorter jobs still get preference over

    longer jobs

    However aging ensures long jobs will

    eventually gain the processor

    Estimation still involved

  • 8/6/2019 Ch 22 Scheduling

    26/29

    Ceng 334 - Operating Systems 2.2-26

    FeedbackQueues

    Sometimes called multi-level feedback

    queues

    Implementation:

    There is a network of ready queues

    A new process enters at the top

    queueMoves through the queue FIFO

  • 8/6/2019 Ch 22 Scheduling

    27/29

    Ceng 334 - Operating Systems 2.2-27

    I/O processes:

    If the job requires I/O before quantum

    expiration it leaves the network and

    comes back at the same level queue

    CPU bound processes:

    If the quantum expires first, the

    process is placed on the next lower

    queueThis continues until it reaches the

    bottom queue

  • 8/6/2019 Ch 22 Scheduling

    28/29

    Ceng 334 - Operating Systems 2.2-28

    Dispatching:

    A process is only placed on the CPUif all higher level queues are empty

    A running process is preempted by aprocess arriving in a higher queue

    Processes from lower level queuesreceive a larger quantum

    Modifications:

    In some systems processes canproceed back up the network by

    becoming I/O bound

  • 8/6/2019 Ch 22 Scheduling

    29/29

    Ceng 334 - Operating Systems 2.2-29

    A Scheduling Mechanism Should:

    Favour short jobs

    Favour I/O bound jobs to get good I/Odevice utilisation

    Determine the nature of a job and

    schedule accordingly


Recommended