Operating System Tutorial


Operating System Tutorial provides the basic and advanced concepts of operating system . Our Operating system tutorial is designed for beginners, professionals and GATE aspirants. We have designed this tutorial after the completion of a deep research about every concept.

The content is described in detailed manner and has the ability to answer most of your queries. The tutorial also contains the numerical examples based on previous year GATE questions which will help you to address the problems in a practical manner.

Operating System can be defined as an interface between user and the hardware. It provides an environment to the user so that, the user can perform its task in convenient and efficient way.

The Operating System Tutorial is divided into various parts based on its functions such as Process Management, Process Synchronization, Deadlocks and File Management.

Operating System Definition and Function

                                         

In the Computer System (comprises of Hardware and software), Hardware can only understand machine code (in the form of 0 and 1) which doesn't make any sense to a naive user.

We need a system which can act as an intermediary and manage all the processes and resources present in the system.


An Operating System can be defined as an interface between user and hardware. It is        responsible   for      the     execution      of       all       the processes,     Resource Allocation, CPU management, File Management and many other tasks.

The purpose of an operating system is to provide an environment in which a user can execute programs in convenient and efficient manner.

Structure of a Computer System

A Computer System consists of:

o   Users (people who are using the computer)

o   Application Programs (Compilers, Databases, Games, Video player, Browsers, etc.)

o   System Programs (Shells, Editors, Compilers, etc.)

o   Operating System ( A special program which acts as an interface between user and hardware ) o Hardware ( CPU, Disks, Memory, etc)


What does an Operating system do?

1.     Process Management

2.     Device Management

3.     Memory Management

4.     CPU Scheduling

5.     File Management

6.     Security

Types of Operating Systems (OS)

An operating system is a well-organized collection of programs that manages the computer hardware. It is a type of system software that is responsible for the smooth functioning of the computer system.

 

Batch Operating System

In the 1970s, Batch processing was very popular. In this technique, similar types of jobs were batched together and executed in time. People were used to having a single computer which was called a mainframe.

In Batch operating system, access is given to more than one person; they submit their respective jobs to the system for the execution.

The system put all of the jobs in a queue on the basis of first come first serve and then executes the jobs one by one. The users collect their respective output when all the jobs get executed.


The purpose of this operating system was mainly to transfer control from one job to another as soon as the job was completed. It contained a small set of programs called the resident monitor that always resided in one part of the main memory. The remaining part is used for servicing jobs.

Advantages of Batch OS

o The use of a resident monitor improves computer efficiency as it eliminates CPU time between two jobs.

Disadvantages of Batch OS

Batch processing suffers from starvation.

Zero Interaction between the User and the Hardware.

For Example:


There are five jobs J1, J2, J3, J4, and J5, present in the batch. If the execution time of J1 is very high, then the other four jobs will never be executed, or they will have to wait for a very long time. Hence the other processes get starved.

2. Not Interactive

Batch Processing is not suitable for jobs that are dependent on the user's input. If a job requires the input of two numbers from the console, then it will never get it in the batch processing scenario since the user is not present at the time of execution.

Multiprogramming Operating System

Multiprogramming is an extension to batch processing where the CPU is always kept busy. Each process needs two types of system time: CPU time and IO time.

In a multiprogramming environment, when a process does its I/O, The CPU can start the execution of other processes. Therefore, multiprogramming improves the efficiency of the system.

 

Advantages of Multiprogramming OS

o    Throughout the system, it increased as the CPU always had one program to execute. o Response time can also be reduced.

Disadvantages of Multiprogramming OS

o Multiprogramming systems provide an environment in which various systems resources are used efficiently, but they do not provide any user interaction with the computer system.

Multiprocessing Operating System

In Multiprocessing, Parallel computing is achieved. There are more than one processors present in the system which can execute more than one process at the same time. This will increase the throughput of the system.

 

In Multiprocessing, Parallel computing is achieved. More than one processor present in the system can execute more than one process simultaneously, which will increase the throughput of the system.

Advantages of Multiprocessing operating system:

o   Increased reliability: Due to the multiprocessing system, processing tasks can be distributed among several processors. This increases reliability as if one processor fails, the task can be given to another processor for completion. o Increased throughout: As several processors increase, more work can be done in less.

Disadvantages of Multiprocessing operating System

o   Multiprocessing operating system is more complex and sophisticated as it takes care of multiple CPUs simultaneously.

Multitasking Operating System

 

The multitasking operating system is a logical extension of a multiprogramming system that enables multiple programs simultaneously. It allows a user to perform more than one computer task at the same time.

 

Advantages of Multitasking operating system

o    This operating system is more suited to supporting multiple users simultaneously. o The multitasking operating systems have well-defined memory management.

Disadvantages of Multitasking operating system

o The multiple processors are busier at the same time to complete any task in a multitasking environment, so the CPU generates more heat.

Network Operating System

 

An Operating system, which includes software and associated protocols to communicate with other computers via a network conveniently and cost-effectively, is called Network Operating System.

 

Advantages of Network Operating System

o   In this type of operating system, network traffic reduces due to the division between clients and the server.

o   This type of system is less expensive to set up and maintain.

Disadvantages of Network Operating System

o    In this type of operating system, the failure of any node in a system affects the whole system. o          Security and performance are important issues. So trained network administrators are required for network administration.

Real Time Operating System

In Real-Time Systems, each job carries a certain deadline within which the job is supposed to be completed, otherwise, the huge loss will be there, or even if the result is produced, it will be completely useless.

 

The Application of a Real-Time system exists in the case of military applications, if you want to drop a missile, then the missile is supposed to be dropped with a certain precision.

 

Advantages of Real-time operating system:

o   Easy to layout, develop and execute real-time applications under the real-time operating system.

o   In a Real-time operating system, the maximum utilization of devices and systems.

Disadvantages of Real-time operating system:

o   Real-time operating systems are very costly to develop.

o   Real-time operating systems are very complex and can consume critical CPU cycles.

Time-Sharing Operating System

In the Time Sharing operating system, computer resources are allocated in a timedependent fashion to several programs simultaneously. Thus it helps to provide a large number of user's direct access to the main computer. It is a logical extension of multiprogramming. In time-sharing, the CPU is switched among multiple programs given by different users on a scheduled basis.

 

A time-sharing operating system allows many users to be served simultaneously, so sophisticated CPU scheduling schemes and Input/output management are required.

Time-sharing operating systems are very difficult and expensive to build.

Advantages of Time Sharing Operating System

o   The time-sharing operating system provides effective utilization and sharing of resources.

o   This system reduces CPU idle and response time.

Disadvantages of Time Sharing Operating System

o   Data transmission rates are very high in comparison to other methods.

o   Security and integrity of user programs loaded in memory and data need to be maintained as many users access the system at the same time.

Distributed Operating System

The Distributed Operating system is not installed on a single machine, it is divided into parts, and these parts are loaded on different machines. A part of the distributed Operating system is installed on each machine to make their communication possible. Distributed Operating systems are much more complex, large, and sophisticated than Network operating systems because they also have to take care of varying networking protocols.

 

Advantages of Distributed Operating System

o    The distributed operating system provides sharing of resources. o           This type of system is fault-tolerant.

Disadvantages of Distributed Operating System

        o    Protocol overhead can dominate computation cost.

 

 































Comments

Popular posts from this blog

Description of Data Structure. What is Array, Linked-Lists and Stacks? Write a C Program to insert a element in Linked list and Push Or POP operation in Stack?

What is Sorting? Define Its Type and their advantage. What is Bubble Sort? Write an Algorithm and C Program for Bubble Sorting.

What is Searching? Define its Type and Characteristics. Also write a C Program for Linear Search and Binary Search.