What is an Operating System?
Operating System lies in the category of system software. It basically manages
all the resources of the computer. An operating system acts as an interface
between the software and different parts of the computer or the computer
hardware. The operating system is designed in such a way that it can manage the
overall resources and operations of the computer.
What is an Operating System Used for?
The operating system helps in improving the computer software as well as
hardware. Without OS, it became very difficult for any application to be user-
friendly. The Operating System provides a user with an interface that makes any
application attractive and user-friendly.
Types of Operating Systems
There are several types of Operating Systems which are mentioned below.
1. Batch Operating System
This type of operating system does not interact with the computer directly. There
is an operator which takes similar jobs having the same requirement and groups
them into batches. It is the responsibility of the operator to sort jobs with similar
needs.
Advantages of Batch Operating System
It is very difficult to guess or know the time required for any job to
complete. Processors of the batch systems know how long the job
would be when it is in the queue.
Multiple users can share the batch systems.
The idle time for the batch system is very less.
It is easy to manage large work repeatedly in batch systems.
Disadvantages of Batch Operating System
The computer operators should be well known with batch systems.
Batch systems are hard to debug.
It is sometimes costly.
The other jobs will have to wait for an unknown time if any job fails.
Examples of Batch Operating Systems: Payroll Systems, Bank Statements,
etc.
2. Multi-Programming Operating System
Multiprogramming Operating Systems can be simply illustrated as more than
one program is present in the main memory and any one of them can be kept in
execution. This is basically used for better execution of resources.
A multiprogramming operating system is an OS that allows multiple programs to be loaded into memory
and executed by the CPU concurrently. The idea is to increase CPU utilization by organizing jobs (code
and data) so that the CPU always has one to execute. It does this through a process called job
scheduling, where it selects which program to run based on certain criteria, such as priority or a
scheduling algorithm like round-robin.
While one program is executing, it may need to perform input/output (I/O) operations such as reading from
a file or waiting for user input. Since I/O operations are relatively slow compared to CPU operations, the
operating system does not let the CPU sit idle during this time. Instead, it temporarily switches the CPU to
another program that is ready to execute. This switching is known as context switching and is done quickly
and efficiently to maintain high CPU utilization.
The operating system also handles memory management, keeping track of where each program resides
in RAM and ensuring that programs do not interfere with each other’s memory space. By continuously
switching between programs and utilizing any idle time effectively, the multiprogramming OS keeps the
CPU busy and increases the overall throughput of the system.
Better CPU Utilization: The CPU is rarely idle, as it always
has a process to execute.
Increased Throughput: More jobs are completed in less time
Reduced Waiting Time: Users experience less delay since jobs don’t have since multiple programs run simultaneously.
to wait for the previous one to finish completely. Efficient Resource Use: Resources like CPU, memory, and
I/O devices are used more efficiently.
Supports Background Processing: Background tasks (like printing) can run
while the user works on something else.
Advantages of Multi-Programming Operating System
Multi Programming increases the Throughput of the System.
It helps in reducing the response time.
Disadvantages of Multi-Programming Operating System
There is not any facility for user interaction of system resources with
the system. Difficult Process Scheduling: Deciding which job to run and when can be tricky and may require
advanced algorithms.
Context Switching Overhead: Frequent switching between processes consumes CPU time and resources.
Possibility of Starvation: Lower-priority jobs might not get CPU time if higher-priority ones keep arriving.
3. Multi-Processing Operating System (Parallel Operating System)
Multi-Processing Operating System is a type of Operating System in which
more than one CPU is used for the execution of resources. It betters the
throughput of the System.
Advantages of Multi-Processing Operating System
It increases the throughput of the system.
As it has several processors, so, if one processor fails, we can proceed
with another processor.
Disadvantages of Multi-Processing Operating System
Due to the multiple CPU, it can be more complex and somehow
difficult to understand.
Advantages of Multi-Processing Operating System
It increases the throughput of the system.
As it has several processors, so, if one processor fails, we can proceed with
another processor.
This system improves speed, efficiency, and reliability.
It is commonly used in servers, supercomputers, and high-performance computing environments.
Faster Processing: Tasks are divided and processed simultaneously, increasing speed.
High Reliability: If one CPU fails, others can continue running (fault tolerance).
Efficient Resource Utilization: All processors are kept busy, maximizing system performance.
Supports Parallel Execution: Useful for complex, resource-heavy applications (e.g., simulations, large databases, AI tasks).
Disadvantages of Multi-Processing Operating System
Due to the multiple CPU, it can be more complex and somehow difficult
to understand.
High Cost: Systems with multiple processors are more expensive to build and maintain.
Time-Sharing Operating Systems
In a time-sharing
Each operating
task is given system,
some timemultiple tasks orso
to execute users
thatshare the CPU
all the tasksby work
getting smoothly.
a fixed time slot, known
as a quantum, for execution.
Each user quickly
The system gets the time between
switches of the CPU tasks,as theytheuse
giving a single
illusion that allsystem.
tasks areThese
runningsystems
simultaneously.
are
This also
rapid known
switchingas
is Multitasking
managed by the Systems. The task
operating system usingcan be from
context a single user or
switching.
It ensures that
different each
users task The
also. or user getsthat
time a faireach
sharetask
of CPUgetstime,
to which
execute helpsisincalled
efficientquantum.
multitasking.
The time-sharing model works whether the tasks belong to a single user or multiple users.
After
Once athis time
task’s timeinterval
quantum is overthe
is over, OSCPUswitches
switchesover
to thetonext
thetask
next task.
in the queue.
This process repeats continuously, ensuring smooth and responsive performance for all users.
Advantages of Time-Sharing OS
Each task gets an equal opportunity.
Fewer chances of duplication of software.
CPU idle time can be reduced.
Resource Sharing: Time-sharing systems allow multiple users to share
hardware resources such as the CPU, memory, and peripherals,
reducing the cost of hardware and increasing efficiency.
Improved Productivity: Time-sharing allows users to work
concurrently, thereby reducing the waiting time for their turn to use
the computer. This increased productivity translates to more work
getting done in less time.
Improved User Experience: Time-sharing provides an interactive
environment that allows users to communicate with the computer in
real time, providing a better user experience than batch processing.
Disadvantages of Time-Sharing OS
Reliability problem.
One must have to take care of the security and integrity of user
programs and data.
Data communication problem.
High Overhead: Time-sharing systems have a higher overhead than
other operating systems due to the need for scheduling, context
switching, and other overheads that come with supporting multiple
users.
Complexity: Time-sharing systems are complex and require advanced
software to manage multiple users simultaneously. This complexity
increases the chance of bugs and errors.
Security Risks: With multiple users sharing resources, the risk of
security breaches increases. Time-sharing systems require careful
management of user access, authentication, and authorization to
ensure the security of data and software.
Distributed Operating System
Various autonomous interconnected computers communicate with each other
A Distributed Operating System manages a group of independent, interconnected computers that work
using aas
together shared communication
a single system. network.
Independent systems possess their own memory unit and CPU. These are
Each computer in the network is autonomous and has its own CPU and memory unit.
referred to as loosely coupled systems or distributed systems. These systems’
processors
These systems differ in size
are called andcoupled
loosely function.
systemsTheormajor
simply benefit
distributedofsystems
working with they
because these
are connected
through a shared communication network (e.g., LAN, WAN, or the internet).
types of operating systems is that it is always possible that one user can access
the files or software which are not actually present on his system but some other
The processors in the system may differ in size, function, and architecture.
system connected within this network, i.e., remote access is enabled, within the
The key feature
devices of a distributed
connected in that OS is that it coordinates all machines, making them appear as one coherent
network.
system to users.
Advantages of Distributed Operating System
Failure of one will not affect the other network communication, as all
systems are independent of each other.
Electronic mail increases the data exchange speed.
Since resources are being shared, computation is highly fast and
durable.
Load on host computer reduces.
These systems are easily scalable as many systems can be easily added
to the network.
Delay in data processing reduces.
Disadvantages of Distributed Operating System
Failure of the main network will stop the entire communication.
To establish distributed systems the language is used not well-defined
yet.
These types of systems are not readily available as they are very
expensive. Not only that the underlying software is highly complex
and not understood well yet.
Personal Computer Operating System
A personal computer's operating system provides a good interface for a single user.
Personal computer operating systems are widely used for word processing,
spreadsheets, and Internet access. Personal computer operating systems are made
only for personal use.
You can say that your laptops, computer systems, tablets, etc. are your personal
computers, and the operating systems such as Windows 7, Windows 10, Android,
etc. are your personal computer operating systems.
And you can use your personal computer operating system for your personal
purposes, for example, chatting with your friends using some social media sites,
reading some articles from the internet, making some projects through Microsoft
PowerPoint or any other program, designing your website, programming something,
watching some videos and movies, listening to some songs, and many more.
Real-Time Operating System
These types of OSs serve real-time systems. The time interval required to process and
respond to inputs is very small. This time interval is called response time.
Real-time systems are used when there are time requirements that are very strict like
missile systems, air traffic control systems, robots, etc.
Types of Real-Time Operating Systems
Hard Real-Time Systems:
Hard Real-Time OSs are meant for applications where time constraints are
very strict and even the shortest possible delay is not acceptable. These
systems are built for saving life like automatic parachutes or airbags which
are required to be readily available in case of an accident. Virtual memory
is rarely found in these systems.
Soft Real-Time Systems:
These OSs are for applications where time-constraint is less strict.
HARD REAL TIME SYSTEM SOFT REAL TIME SYSTEM
In hard real time system, the size of In soft real time system, the size of data file
data file is small or medium. is large.
In this system response time is in
In this system response time are higher.
millisecond.
Peak load performance should be In soft real time system, peak load can be
predictable. tolerated.
In this system safety is critical. In this system safety is not critical.
A hard real time system is very
A Soft real time system is less restrictive.
restrictive.
HARD REAL TIME SYSTEM SOFT REAL TIME SYSTEM
In case of an error in a hard real In case of an soft real time system,
time system, the computation is computation is rolled back to previously
rolled back. established a checkpoint.
Satellite launch, Railway signaling DVD player, telephone switches, electronic
system etc. games etc.
Guarantees response within a Does not guarantee response within a
specific deadline. specific deadline.
Catastrophic or severe consequences
Minor consequences (e.g., degraded
(e.g., loss of life or property
performance or reduced quality).
damage).
Focused on processing critical tasks Focused on processing tasks with lower
with high priority. priority.
Less predictable, with behavior that may vary
Highly predictable, with well-
depending on system load or conditions.
defined and deterministic behavior.