Tasks of the OS

Process management - How an OS determines which user task to work on.

  FCFS - first come first served, used on non-preemptive machines. OS loads
  first task to request access and task runs until it relinquishes control.

  Shortest job first scheduling - OS gives shortest running job priority
  access to system. The trouble with this is that the OS has to guess which
  task is truely shortest.  If there is any i/o, this guess may be wrong.
  May be preemptive or non-preemptive.

  Round Robin scheduling - each task given a time slice usually of the same
  size. System sequences through all timeslices in order.  Good for time 
  sharing (multiuser) systems. If time slice is small enough, each user does
  not notice the wait for their time slice.  If too many users, too slow or
  if time slice too small, context switching wastes time and space.

  Priority scheduling - each task is assigned a priority. Higher priority 
  tasks given longer and/or more time slices.  If not properly configured,
  it is possible for a task to never run. On well adjusted system, a low 
  priority task's priority is incremented each time it is skipped.  This 
  eventually allows all tasks to be run.
 
Resource management - control of how much memory allocated to a task and when
and how a task can access I/O.
  OS provides functions to standardize a user task's access to I/O.
   
  Guards against different tasks accessing a particular I/O device while 
  I/O is processing a particular task's request. 
    Printer interleaving pages from different print jobs.
 
Security and protection - extension of the second resource issue.
  The OS must protect the resources allocated to a particular task from
  incursion from other tasks. 
  
  The OS must protect itself from incursion by a task.

  The OS must protect other resources, such as stored files, from access
  by  
 eserved f such