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