Generations of Operating Systems
Operating System is a type of software that
acts as an interface between the user and the hardware. It is responsible to
handle various critical functions of the computer or any other machine. Various
tasks that are handled by OS are file management, task management, garbage
management, memory management, process management, disk management, I/O
management, peripherals management, etc.
Evolution of Operating System:
Operating Systems have evolved in past years. It went through several changes before getting its
original form. These changes in the operating system are known as the evolution
of operating systems. The evolution of the operating system
went through four generations. Let us see these generations in detail:
First Generation:
·
This phase
is considered from 1945-1955. Earlier mechanical systems were used which
involved the use of large machines whose parts were manually handled by
workers. The limited capacity to work of a human and the tendency to commit an
error by a person often lead to problems. Thus electronic machines were
introduced to do the work. Though these machines did not use an OS at all still
this phase is regarded as the beginning of the Operating Systems era.
·
The
electronic machines supplied instructions that were to be executed by the
machine immediately because if an error occurred, the whole process was to be
restarted again. The calculation speed in these machines was limited and still
errors could occur if there was any error in the instruction provided to the
machine. These systems were referred to as serial processing systems.
Second Generation:
·
The phase
from 1955 to 1965 marked the second generation of Operating Systems. The
systems in this generation were regarded as Batch Systems. These were known as batch
operating systems as the jobs to be done were supplied in
a batch to the machine. A Batch referred to a set of similar tasks or jobs. Job
Control Language was used to create the instructions to execute the job. The
instructions were punched on a card which was then loaded onto a tape that had
several such cards and then it was finally sent to the processor.
·
The second
generation of OS ensured that the machines remained as busy as possible so that
maximum efficiency could be obtained. The machine took up a job, process the
instructions, and then move to the next job that was present on the card loaded
onto the tape. If an error occurred during a particular job, then the job needs
to be restarted again.
·
These
systems made it possible to execute multiple jobs on a single machine and laid
the foundation for multitasking.
·
These
systems had a drawback in that when the I/O operations were carried out, the
processor had to remain idle.
Third Generation:
· The phase
from 1965-1980 is considered the third generation of OS. It saw the rise of
multi-programmed batched systems. These systems were very similar to the
batched operating systems. These systems had the ability of multitasking and
multiprogramming where the tasks of multiple users could be run simultaneously.
· Users could
connect to the machine and submit their tasks through an online terminal. The
OS held all the tasks in the main memory and managed the tasks to be executed
using various scheduling algorithms such as FCFS, SJF, LJF, etc. This also
ensured that the tasks or jobs do not suffer from starvation.
Fourth Generation:
·
1980
onwards, the generation of OS is known as the fourth generation. With the
development of computer networking and various networking protocols, these
operating systems allowed the users to know the existence of other users on the
network.
·
The
operating systems in this generation saw the use of a Graphical User Interface
(GUI) which made it very easy to interact with the operating system and in turn
with the hardware.
·
The fourth
generation of operating systems saw the invention of time-shared operating
systems and the Macintosh operating systems. Let us see about the time-shared
operating systems and the Macintosh operating systems in brief.
In other operating systems, many times users felt that their work was not being done as some tasks took too long to get completed. This lead to starvation of processes or jobs. Time-shared operating systems solved this problem by ensuring that no user feels that his work is not being done. These operating systems made use of scheduling algorithms such as Round Robin in which the work of a user was done for a specific time and then the OS moved to the next job. Thus in actuality, these OS shared the time between multiple users and hence got the name Time Shared Operating Systems.