Types Of Operating System
- Batch
OS
- Time Sharing OS
- Distributed OS
- Network
OS
- Real
Time OS
- Multiprogramming OS
- Multiprocessor OS
1. Batch
OS
This
type of operating system does not interact with the computer directly. There is
an operator which takes similar jobs having same requirement and group them
into batches. It is the responsibility of operator to sort the jobs with
similar needs.
Advantages
of Batch Operating System:
·
It is very difficult to guess or know the
time required by any job to complete. Processors of the batch systems know how
long the job would be when it is in queue
·
Multiple users can share the batch systems
·
The idle time for 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 sometime costly
·
The other jobs will have to wait for an
unknown time if any job fails
Examples
of Batch based Operating System: Payroll System, Bank Statements etc.
2. Time Sharing OS
Each task is given some time to execute, so that all
the tasks work smoothly. Each user gets time of CPU as they use single system.
These systems are also known as Multitasking Systems. The task can be from
single user or from different users also. The time that each task gets to
execute is called quantum. After this time interval is over OS switches over to
next task.
Advantages
of Time-Sharing OS:
·
Each task gets an equal opportunity
·
Less chances of duplication of
software
·
CPU idle time can be reduced
Disadvantages
of Time-Sharing OS:
·
Reliability problem
·
One must have to take care of
security and integrity of user programs and data
·
Data communication problem.
3. Distributed OS
These
types of operating system is a recent advancement in the world of computer
technology and are being widely accepted all-over the world and, that too, with
a great pace. Various autonomous interconnected computers communicate each
other using a shared communication network. Independent systems possess their
own memory unit and CPU. These are referred as loosely coupled systems or
distributed systems. These system’s processors differ in size and function. The
major benefit of working with these types of operating system is that it is
always possible that one user can access the files or software which are not
actually present on his system but on some other system connected within this
network i.e., remote access is enabled within the devices connected in that
network.
Advantages
of Distributed Operating System:
·
Failure of one will not affect the
other network communication, as all systems are independent from 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 which are used are 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
Examples
of Distributed Operating System are- LOCUS
etc.
4. Network OS
A network operating
system (NOS) is a computer operating system (OS) that is designed primarily to
support workstations, personal computers and, in some instances, older
terminals that are connected on a local area network (LAN). The software behind
a NOS allows multiple devices within a network to communicate and share resources
with each other.
The composition of hardware that typically uses a NOS includes a number
of personal computers, a printer, a server and file server with a local network
that connects them together. The role of the NOS is to then provide basic
network services and features that support multiple input requests
simultaneously in a multiuser environment.
Due to earlier versions of basic operating systems not being designed
for network use, network operating systems emerged as a solution for
single-user computers.
Types of network operating systems
There are two basic types of network operating systems, the peer-to-peer
NOS and the client/server NOS:
Peer-to-peer network operating systems allow users to share network
resources saved in a common, accessible network location. In this architecture,
all devices are treated equally in terms of functionality. Peer-to-peer usually
works best for small to medium LANs and is cheaper to set up.
Client/server network operating systems provide users with access to
resources through a server. In this architecture, all functions and
applications are unified under one file server that can be used to execute
individual client actions regardless of physical location. Client/server tends
to be most expensive to implement and requires a large amount of technical
maintenance. An advantage to the client/server model is that the network is
controlled centrally, makes changes or additions to technology easier to
incorporate.
Advantages of Network Operating System
- Highly stable centralized servers
- Security concerns are handled through servers
- New technologies and hardware up-gradation
are easily integrated to the system
- Server access are possible remotely from
different locations and types of systems
Disadvantages of Network Operating System:
- Servers are costly
- User has to depend on central location for
most operations
- Maintenance and updates are required
regularly
Examples of Network Operating System are: Microsoft
Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X,
Novell NetWare, and BSD etc.
5. Real Time OS
These
types of OSs serves the 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 are very strict like missile systems, air traffic control systems,
robots etc.
Two
types of Real-Time Operating System which are as follows:
·
Hard Real-Time
Systems:
These OSs are meant for the 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 air bags which are required to be
readily available in case of any accident. Virtual memory is almost never found
in these systems.
·
Soft Real-Time
Systems:
These OSs are for applications where for time-constraint is less strict.
Advantages of RTOS:
- Maximum Consumption: Maximum utilization of
devices and system,thus more output from all the resources
- Task Shifting: Time assigned for shifting
tasks in these systems are very less. For example in older systems it takes
about 10 micro seconds in shifting one task to another and in latest systems it
takes 3 micro seconds.
- Focus on Application: Focus on running
applications and less importance to applications which are in queue.
- Real time operating system in embedded
system: Since size of programs are small, RTOS can also be used in embedded
systems like in transport and others.
- Error Free: These types of systems are error
free.
- Memory Allocation: Memory allocation is best
managed in these type of systems.
Disadvantages of RTOS:
- Limited Tasks: Very few tasks run at the same time and their concentration is very less on few applications to avoid errors.
- Use heavy system resources: Sometimes the system resources are not so good and they are expensive as well.
- Complex Algorithms: The algorithms are very complex and difficult for the designer to write on.
- Device driver and interrupt signals: It needs specific device drivers and interrupt signals to response earliest to interrupts.
- Thread Priority: It is not good to set thread priority as these systems are very less prone to switching tasks.
Examples of Real-Time Operating Systems are: Scientific
experiments, medical imaging systems, industrial control systems, weapon
systems, robots, air traffic control systems, etc.
6.Multiprogramming OS
To
overcome the problem of underutilization of CPU and main memory, the multiprogramming
was introduced. The multiprogramming is interleaved execution of multiple jobs
by the same computer.
In multiprogramming system, when one program is waiting
for I/O transfer; there is another program ready to utilize the CPU. So it is
possible for several jobs to share the time of the CPU. But it is important to
note that multiprogramming is not defined to be the execution of jobs at the
same instance of time. Rather it does mean that there are a number of jobs
available to the CPU (placed in main memory) and a portion of one is executed
then a segment of another and so on.
As shown in fig, at the particular situation, job' A' is
not utilizing the CPU time because it is busy in I/ 0 operations. Hence the CPU
becomes busy to execute the job 'B'. Another job C is waiting for the CPU for
getting its execution time. So in this state the CPU will never be idle and
utilizes maximum of its time.
A program in execution is called a "Process",
"Job" or a "Task". The concurrent execution of programs
improves the utilization of system resources and enhances the system throughput
as compared to batch and serial processing. In this system, when a process
requests some I/O to allocate; meanwhile the CPU time is assigned to another
ready process. So, here when a process is switched to an I/O operation, the CPU
is not set idle.
Multiprogramming is a common approach to resource
management. The essential components of a single-user operating system include
a command processor, an input/ output control system, a file system, and a
transient area. A multiprogramming operating system builds on this base,
subdividing the transient area to hold several independent programs and adding
resource management routines to the operating system's basic functions.
7. Multiprocessor OS
Most
computer systems are single processor systems i.e they only have one processor.
However, multiprocessor or parallel systems are increasing in importance
nowadays. These systems have multiple processors working in parallel that share
the computer clock, memory, bus, peripheral devices etc. An image demonstrating
the multiprocessor architecture is:
Types of Multiprocessors
There are mainly two types of multiprocessors i.e. symmetric
and asymmetric multiprocessors. Details about them are as follows:
Symmetric Multiprocessors
In these types of systems, each processor contains a
similar copy of the operating system and they all communicate with each other.
All the processors are in a peer to peer relationship i.e. no master - slave
relationship exists between them.
An example of the symmetric multiprocessing system is the
Encore version of Unix for the Multimax Computer.
Asymmetric Multiprocessors
In asymmetric systems, each processor is given a
predefined task. There is a master processor that gives instruction to all the
other processors. Asymmetric multiprocessor system contains a master slave
relationship.
Asymmetric multiprocessor was the only type of
multiprocessor available before symmetric multiprocessors were created. Now
also, this is the cheaper option.
Advantages of Multiprocessor Systems
There are multiple advantages to multiprocessor systems.
Some of these are:
- More reliable Systems : In a multiprocessor system, even if one processor fails, the system will not halt. This ability to continue working despite hardware failure is known as graceful degradation. For example: If there are 5 processors in a multiprocessor system and one of them fails, then also 4 processors are still working. So the system only becomes slower and does not ground to a halt.
- Enhanced Throughput: If multiple processors are working in tandem, then the throughput of the system increases i.e. number of processes getting executed per unit of time increase. If there are N processors then the throughput increases by an amount just under N.
- More Economic Systems: Multiprocessor systems are cheaper than single processor systems in the long run because they share the data storage, peripheral devices, power supplies etc. If there are multiple processes that share data, it is better to schedule them on multiprocessor systems with shared data than have different computer systems with multiple copies of the data.
Disadvantages of Multiprocessor Systems
There are some disadvantages as well to multiprocessor
systems. Some of these are:
- Increased Expense : Even though multiprocessor systems are cheaper in the long run than using multiple computer systems, still they are quite expensive. It is much cheaper to buy a simple single processor system than a multiprocessor system.
- Complicated Operating System Required : There are multiple processors in a multiprocessor system that share peripherals, memory etc. So, it is much more complicated to schedule processes and impart resources to processes.than in single processor systems. Hence, a more complex and complicated operating system is required in multiprocessor systems.
- Large Main Memory Required : All the processors in the multiprocessor system share the memory. So a much larger pool of memory is required as compared to single processor systems.