• The kernel maintains queues of runnable threads
  • one queue per core
  • A core chooses a thread from the head of the list with highest priority and runs it
  • The thread runs for a “time quantum” unless a higher priority thread becomes runnable
  • Thread priority can change at scheduling boundaries
  • The priorities are based on what just happens

Virtual memory
  • Illusion that there are no restrictions on the size
  • an entire process doesn't have to be in memory at the same time

CPU scheduling
  • Deciding which process in the memory is executed by the CPU at a given point
  • Many processes may be in the “ready state”
    • Only one process can be in the running state

  • Nonpreemptive Scheduling
    • The currently executing process gives up the CPU voluntarily
  • Preemptive scheduling
    • The operating system decides to favor another process, preempting the currently executing process
  • Turnaround time
    • The amount of time between when a process arrives in the ready state the first time and when it exits the running state for the last time decides the priority

Demand paging
  • An extension of paged memory management
  • pages are brought into memory on demand

  • usually implement administrative policies
    • govern which resources users can access and how much of those resources each user is permitted to use

  • Multiprogram-systems use a timeblock
    • CPU periodically (normally in milliseconds) stopped and carries on with a different task

  • the sampling of the status of an external device
    • by a client program
    • as a synchronous activity
  • terms of input/output (I/O)
    • device is repeatedly checked for readiness
    • if it is not ready: the computer returns to a different task
  • can store and retrieve data from secondary storage for use in the main memory
  • Before paging: systems had to fit whole programs into storage
  • caused various storage and fragmentation problems

Created By: Max Kossatz
Last update: 08.10.2014

  • still inserted