Operating System 347
The OS is also responsible for optimizing the hardware resources. Even for a single-user system, all
modern computers implement multi-tasking (executing more than one program at a time). An example
of multi-tasking may be the concurrent printing of some word document, which you have just nished,
although during this ongoing printing process you use the same computer to surf the net (internet I
mean). You need not wait for your printing operation to be completed to start the sur ng operation. All
these are possible because of the present status of evolution of OS, and to understand where we stand
today, we have to look back a little.
11.1.3 Evolution of OS
At the very early stage of computers there was no OS at all. The developer of a computer had been its
sole user. The whole affair was something, e.g., setting several hundreds of jumper connections and set-
ting up many more potentiometers (variable resistances) to make the whole system work to solve one
particular differential equation, which is of interest to the programmer. In a nutshell, the then program-
mer was forced to interact directly with the hardware.
The situation marginally improved at a later stage of development, so that instead of executing only
one user program, the system became capable of executing several programs, one after another. These
programs (designated as jobs) were supplied in the form of punched cards and after placing them on
the punch-card reader, the operator has to evoke a few commands to start its execution. Those few com-
mands were the starting of the OS and the scenario described was designated as batch processing . Note
that we still use the same name in form of .bat le extension.
At this stage, people started realizing the advantage of an OS, which would relieve the programmer from
the additional burden of interacting directly with the computer hardware. However, earlier OSs were very
primitive, little more than simple BIOS. The BIOS, as we know, contains some very basic program segments
to interact with the computer hardware, which too was very elementary at that stage. The more complex the
hardware became, the more coverage was from the OS, culminating to the present day one, where the user
has to just move a pointer using the mouse and click an icon displayed on the screen to get some job done.
11.1.4 Purpose of OS
So, now, we may relax and take a stock of the situation, about what it was and what it is. It is not true
that only the OS has made computers more user-friendly. Equal share must also be credited to the devel-
opment of computer hardware. In general, people are either biased about software or about hardware,
without realizing that they are like two wings of a bird and without any one , the other becomes useless.
Therefore, the very purpose of the OS is to free the user and application software from the burden of
interacting directly with the computer hardware. To achieve this, we have to understand various aspects
of OS, and the fundamental one is process control, which we shall discuss now.
11.2 PROCESS AND ITS CONTROL
What is a process? In terms of OS, a process is a program or program segment that is presently being
executed by the processor or to be executed very soon. Note that the hard disc (or any other similar sec-
ondary storage device) of a computer may already have thousands of application programs. From OS’s
point of view, they are only programs and not process. OS would designate it as a process if its execution
is necessary, now or very soon. As we already know that a processor can execute any program only if it is
available in its main memory, therefore, we may assume that a process should be available in that location.
M11_GHOS1557_01_SE_C11.indd 347M11_GHOS1557_01_SE_C11.indd 347 4/29/11 5:21 PM4/29/11 5:21 PM