Types of Operating Systems
Types of Operating Systems
An Operating System performs all the basic tasks like managing file, process, and memory.
Thus operating system acts as manager of all the resources, i.e. resource manager. Thus
operating system becomes an interface between user and machine.
Types of Operating Systems: Some of the widely used operating systems are as follows-
1. Batch Operating System –
In a batch processing operating system environment user submit jobs to a central
place where these jobs are collected into a batch, and subsequently placed on an input
queue at the computer where they will be run. In this case, the user has no interaction
with the job during its processing, and the computer’s response time is the turnaround
time-the time from submission of the job until execution is complete, and the results
are ready for return to the person who submitted the job
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 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 Operating System
A multiprogramming operating system is a system that allows more than one active user
program (or part of user program) to be stored in main memory simultaneously. Thus, it is
evident that a time-sharing system is a multiprogramming system, but note that a
multiprogramming system is not necessarily a time-sharing system. A batch or real time
operating system could, and indeed usually does, have more than one active user program
simultaneously in main storage. Another important, and all too similar, term is
“multiprocessing”.
7. Operating Systems for Embedded Devices
As embedded systems (PDAs, cellphones, point-of-sale devices, VCR’s, industrial robot
control, or even your toaster) become more complex hardware-wise with every generation,
and more features are put into them day-by-day, applications they run require more and more
to run on actual operating system code in order to keep the development time reasonable.
Some of the popular OS are:
• Nexus’s Conix - an embedded operating system for ARM processors.
• Sun’s Java OS - a standalone virtual machine not running on top of any other OS;
mainly targeted at embedded systems.
• Palm Computing’s Palm OS - Currently the leader OS for PDAs, has many
applications and supporting companies.
• Microsoft’s Windows CE and Windows NT Embedded OS.
OS Structure
Linux based OS Structure
DESIRABLE QUALITIES OF OS
The desirable qualities of an operating system are in terms of: Usability, Facilities, Cost, and
Adaptability.
• Usability:
• Robustness
• Accept all valid inputs and can handle them.
• Consistency
• Proportionality
• Convenience
• Powerful with high level facilities.
• Facilities:
• Sufficient for intended use
• Complete
• Appropriate.
• Costs:
• Want low cost and efficient services.
• Good algorithms.
Make use of space/time trade-offs, special hardware.
• Low overhead.
Cost of doing nothing should be low. E.g., idle time at a terminal.
• Low maintenance cost.
System should not require constant attention.
• Adaptability:
• Tailored to the environment.
Support necessary activities. Do not impose unnecessary restrictions. What are
the things people do most -- make them easy.
• Changeable over time.
Adapt as needs and resources change. e.g., expanding memory and new
devices, or new user population.
• Extendible-Extensible
Adding new facilities and features - which look like the old ones.