Ch. 16 System software and virtual machines

16.1 Purposes of an operating system (OS)

Low level scheduling algorithms

  1. First-come-first-served
    • Non-preemptive
    • FIFO (First In First Out) queue
  1. Round-robin
    • Allocates time slice to each process
    • Preemptive
    • Can be FIFO queue
    • Does not prioritise
  1. Priority-based
    • Most complex
    • Priorities re-evaluated on queue change
    • Priority calculation requires computation
    • Criteria for priority time
      • Estimated time of execution
      • Estimated remaining time of execution
      • Is the CPU/IO bound?
      • Length of time spent in waiting queue

16.2 OS structure

16.3 Virtual machine

16.4 Translation software

NotationMeaning
::=Defined by
|OR
<x>Meta variable