An operating system is a construct that allows the user application programs to interact with the system hardware. Operating system by itself does not provide any function but it provides an atmosphere in which different applications and programs can do useful work.
The place of an operating system in a computer can be demonstrated aptly using the following diagram:
As can be seen from the above diagram, the computer system is divided into four components namely, hardware, operating system, application programs and users.
The operating system coordinates between the hardware and the application programs. It makes sure that adequate hardware resources are distributed evenly among various applications so they can all complete their execution.
In general, an operating system provides mainly three functions. These are:
An operating system should make a computer easy and convenient to use. The interface should make the interaction with a computer system simple and hassle free.
The operating system should provide hardware resources to the different application programs in such a way to maximize efficiency.
The operating system should not hinder the evolution of the computer system. This means that any new functions should be easily integrated with the computer without disrupting the working of the operating system.
A brief history of operating systems in tabular form is given as follows:
|Generation||Year||Electronic Device Used||Operating System Device Used|
|First Generation||1945 - 1955||Vacuum Tubes||Plug Boards|
|Second Generation||1955 - 1965||Transistors||Batch Systems|
|Third Generation||1965-1980||Integrated Circuits||Multiprogramming|
|Fourth Generation||1980 - Present||Large scale Integration Devices||Personal Computers|
The different types of operating systems are:
In these, the jobs with similar needs were batched up and executed together. Then the results of these jobs were sent back to the respective programmer.
This type of operating system allows multiple users to share the system simultaneously. Each user is provided a time slice and the processor switches rapidly among the users according to it. Because of this, each user believes that they are the only ones using the system.
These operating systems have multiple processors working together in parallel. These processors share the system resources such as bus, clock, memory etc.
These systems manage a set of different computers that are spread across a network. So, the distributed operating systems allow the distributed systems to share resources and communicate efficiently.
There are strict time specifications in real time operating systems. So they are used in scientific projects, banks, robotics etc. where time bounds are important.