346 Computer Architecture and Organization
reset or power on?’ I do not think that we need any verbal denial at this juncture. As a matter of fact, I
like to meet anyone, other than any OS developer, who is capable of utilizing the complete hardware of
a computer (or any laptop) without loading any sort of OS in it, not even the BIOS (Basic Input Output
System).
The moral of the story is, we cannot extract much from a computer without any OS loaded in it.
Neither can we run any application program nor develop our own program. We need a bridge between
the computer hardware and us—the users, and that bridge is its OS. An OS is a window through which
the user interacts with the computer hardware.
11.1.2 What is an OS?
Essentially, any OS is a software, which interacts between the user and the computer’s hardware
resources ( Figure 11.1 ). The innermost sector of any computer may be taken as all of its hardware
resources, its processor(s), memory, and all other peripheral devices including keyboard, mouse, printer
and so on. It is only the OS that directly interacts with this sector. All other application programs fall in
the outermost sector, which function through the OS.
If you try to guess the number of steps involved between ‘read key’ command and observing
the code of the activated key in the terminal, you may be uncomfortable to know that there
are more than 20 steps involved for this simple operation – all taken care of by the OS.
F
O
O
D
F
O
R
T
H
O
U
G
H
T
Figure 11.1 Multiple view-points and related sectors of a computer
The user interacts with these application programs and sometimes with the OS. When you search
a le within some directory of your system, you directly interact with the OS. However, if you have
already evoked your word-processing software and then search a le, you interact with your applica-
tion program which, in turn, interacts with the OS to implement your search process. The application
programmer develops the application programs with the help of the OS. It is only the operating-
system developer who develops the OS to interact directly with the hardware resources of a computer
(Figure 11.1 ).
For example, when we execute a read key command, it is the OS that reads the keyboard and brings
back the correct ASCII code of the key, which is encountered by it.
M11_GHOS1557_01_SE_C11.indd 346M11_GHOS1557_01_SE_C11.indd 346 4/29/11 5:21 PM4/29/11 5:21 PM