4.3.4 Processor management The operating system also needs to manage the other main hardware
resource − the processor itself. In the simple model of a computer that we
are concerned with, we assume that there is just one processor, and that
it can do just one thing at a time (real computers − even microcomputers
have, in reality, a number of processors dedicated to various specific tasks
such as controlling main memory, doing arithmetic, manipulating graphics
images, etc.).
The operating system is also a program, so it needs to use the processor
in order to achieve all the tasks described above. In the case of the
spreadsheet, the operating system will undertake the task of loading the
program into the main memory (when the processor is being used by the
operating system), and then passing control to that program (when the
processor is then being used by the spreadsheet). When the spreadsheet
wishes to achieve an input or output task − such as printing some
information − it passes a request to the operating system.
4.3.5 Program management The description given above suggests that the operating system actually
manages one other resource − programs. In the example, there is just one
processor, but two programs − the operating system and the spreadsheet.
In a modern microcomputer, there can be many programs, all wishing
to share the processor. Indeed, hundreds of separate programs may be
running simultaneously. In such a case, the operating system has to ensure
that all the programs get an appropriate slice of processor time − using
it in rotation or when they have specific needs. In general, the operating
system should be able to pre-empt any other program (for example, push
to the front of the queue) and use the processor immediately when it
needs to. In any case it should prioritise other programs to ensure that the
most important ones get more of the processor resource. This is known as
pre-emptive multi-tasking.