6.1.7+Outline+OS+resource+management+techniques


 * Scheduling **
 * 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


 * Policies **
 * usually implement administrative policies
 * g overn which resources users can access and how much of those resources each user is permitted to use


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


 * Polling **
 * 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
 * Paging **
 * 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

Sources:
 * still inserted