Non-Preemptive v.s. preemptive v.s. real time - when does each task release
its hold on the system.
Non-preemptive - On the earliest systems and on PCs up through Win 3.1
Once a task started, it ran until completion or it relinquished control
back to the OS to share with other tasks.
Required programmer to include sharing capabiliities.
Preemptive - on large systems historically and on most current systems
Size and timing of a time slice allocated to task are under the
complete control of the OS.
Required on multi-user systems.
OS capable of allocating different sized time slices and differing
time slice ratios between current tasks (priorities).
Real time - a form of preemption where certain system tasks (or user tasks)
are guaranteed to to be given time slices at specific time or on demand.
Ex. A system responsible for monitoring the current flight of a plane.
Certain checks and actions must be carried out at the appropriate time.
Or fire alarm system, if a sensor is triggered, it is reported.
Heavily dependent on IRQs and NMIs.
Lectures