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.



Popular posts from this blog

DATA STRUCTURES-II

DATA STRUCTURES FOR BCA

DATA STRUCTURES FOR B.TECH