Following are some of the most widely
used types of Operating system.
1.
Simple Batch System
2.
Multiprogramming Batch System
3.
Multiprocessor System
4.
Desktop System
5.
Distributed Operating System
6.
Clustered System
7.
Realtime Operating System
8.
Handheld System
Simple
Batch Systems
·
In this type of system, there is no
direct interaction between user and the computer.
·
The user has to submit a job (written
on cards or tape) to a computer operator.
·
Then computer operator places a batch
of several jobs on an input device.
·
Jobs are batched together by type of
languages and requirement.
·
Then a special program, the monitor,
manages the execution of each program in the batch.
·
The monitor is always in the main
memory and available for execution.
Advantages
of Simple Batch Systems
1.
No interaction between user and
computer.
2.
No mechanism to prioritise the
processes.
Multiprogramming
Batch Systems
·
In this the operating system picks up
and begins to execute one of the jobs from memory.
·
Once this job needs an I/O operation
operating system switches to another job (CPU and OS always busy).
·
Jobs in the memory are always less than
the number of jobs on disk(Job Pool).
·
If several jobs are ready to run at the
same time, then the system chooses which one to run through the process
of CPU Scheduling.
·
In Non-multiprogrammed system, there
are moments when CPU sits idle and does not do any work.
·
In Multiprogramming system, CPU will
never be idle and keeps on processing.
Time Sharing Systems are very similar to Multiprogramming batch systems. In
fact time sharing systems are an extension of multiprogramming systems.
In Time sharing systems the prime focus
is on minimizing the response time, while in multiprogramming the
prime focus is to maximize the CPU usage.
Multiprocessor
Systems
A Multiprocessor system consists of
several processors that share a common physical memory. Multiprocessor system
provides higher computing power and speed. In multiprocessor system all
processors operate under single operating system. Multiplicity of the
processors and how they do act together are transparent to the others.
Advantages
of Multiprocessor Systems
1.
Enhanced performance
2.
Execution of several tasks by different
processors concurrently, increases the system's throughput without speeding up
the execution of a single task.
3.
If possible, system divides task into
many subtasks and then these subtasks can be executed in parallel in different
processors. Thereby speeding up the execution of single tasks.
Desktop
Systems
Earlier, CPUs and PCs lacked the
features needed to protect an operating system from user programs. PC operating
systems therefore were neither multiuser nor multitasking.
However, the goals of these operating systems have changed with time; instead
of maximizing CPU and peripheral utilization, the systems opt for maximizing
user convenience and responsiveness. These systems are called Desktop
Systems and include PCs running
Microsoft Windows
and the Apple Macintosh
. Operating systems for these computers have benefited in
several ways from the development of operating systems for mainframes.
Microcomputers were immediately able to adopt some of the technology
developed for larger operating systems. On the other hand, the hardware costs
for microcomputers are sufficiently low that individuals have
sole use of the computer, and CPU utilization is no longer a prime concern.
Thus, some of the design decisions made in operating systems for mainframes may
not be appropriate for smaller systems.
Distributed
Operating System
The motivation behind developing
distributed operating systems is the availability of powerful and inexpensive
microprocessors and advances in communication technology.
These advancements in technology have
made it possible to design and develop distributed systems comprising of many
computers that are inter connected by communication networks. The main benefit
of distributed systems is its low price/performance ratio.
Advantages
Distributed Operating System
1.
As there are multiple systems involved,
user at one site can utilize the resources of systems at other sites for
resource-intensive tasks.
2.
Fast processing.
3.
Less load on the Host Machine.
Types
of Distributed Operating Systems
Following are the two types of
distributed operating systems used:
1.
Client-Server Systems
2.
Peer-to-Peer Systems
Client-Server
Systems
Centralized systems today act as server systems to
satisfy requests generated by client systems. The general structure
of a client-server system is depicted in the figure below:
Server Systems can be broadly
categorized as: Compute Servers and File Servers.
·
Compute Server
systems, provide an interface to which clients
can send requests to perform an action, in response to which they execute the
action and send back results to the client.
·
File Server
systems, provide a file-system interface where
clients can create, update, read, and delete files.
Peer-to-Peer
Systems
The growth of computer networks -
especially the Internet and World Wide Web (WWW) – has had a profound influence
on the recent development of operating systems. When PCs were introduced in the
1970s, they were designed for personal use and were generally
considered standalone computers. With the beginning of widespread public use of
the Internet in the 1990s for electronic mail and FTP, many PCs became
connected to computer networks.
In contrast to the Tightly
Coupled systems, the computer networks used in these applications
consist of a collection of processors that do not share memory or a clock.
Instead, each processor has its own local memory. The processors communicate
with one another through various communication lines, such as high-speed buses
or telephone lines. These systems are usually referred to as loosely coupled
systems ( or distributed systems). The general structure of a client-server
system is depicted in the figure below:
Clustered Systems
·
Like parallel systems, clustered
systems gather together multiple CPUs to accomplish computational work.
·
Clustered systems differ from parallel
systems, however, in that they are composed of two or more individual systems
coupled together.
·
The definition of the term clustered
is not concrete; the general accepted definition is that
clustered computers share storage and are closely linked via LAN networking.
·
Clustering is usually performed to
provide high availability.
·
A layer of cluster software runs on the
cluster nodes. Each node can monitor one or more of the others. If the
monitored machine fails, the monitoring machine can take ownership of its
storage, and restart the application(s) that were running on the failed
machine. The failed machine can remain down, but the users and clients of the
application would only see a brief interruption of service.
·
Asymmetric
Clustering - In this, one machine is in hot
standby mode while the other is running the applications. The hot standby host
(machine) does nothing but monitor the active server. If that server fails, the
hot standby host becomes the active server.
·
Symmetric
Clustering - In this, two or more hosts are
running applications, and they are monitoring each other. This mode is
obviously more efficient, as it uses all of the available hardware.
·
Parallel
Clustering - Parallel clusters allow multiple
hosts to access the same data on the shared storage. Because most operating
systems lack support for this simultaneous data access by multiple hosts,
parallel clusters are usually accomplished by special versions of software and
special releases of applications.
Clustered technology is rapidly
changing. Clustered system's usage and it's features should expand greatly
as Storage Area Networks(SANs). SANs allow easy attachment of
multiple hosts to multiple storage units. Current clusters are usually limited
to two or four hosts due to the complexity of connecting the hosts to shared
storage.
Real
Time Operating System
It is defined as an operating system
known to give maximum time for each of the critical operations that it
performs, like OS calls and interrupt handling.
The Real-Time Operating system which
guarantees the maximum time for critical operations and complete them on time
are referred to as Hard Real-Time Operating Systems.
While the real-time operating systems
that can only guarantee a maximum of the time, i.e. the critical task will get
priority over other tasks, but no assurity of completeing it in a defined time.
These systems are referred to as Soft Real-Time Operating Systems.
Handheld
Systems
Handheld systems include Personal
Digital Assistants(PDAs), such as
Palm-Pilots
or Cellular Telephones
with connectivity to a network such as the Internet.
They are usually of limited size due to which most handheld devices have a
small amount of memory, include slow processors, and feature small display
screens.
·
Many handheld devices have
between 512 KB and 8 MB of memory. As a
result, the operating system and applications must manage memory efficiently.
This includes returning all allocated memory back to the memory manager once
the memory is no longer being used.
·
Currently, many handheld devices
do not use virtual memory techniques, thus forcing program
developers to work within the confines of limited physical memory.
·
Processors for most handheld devices
often run at a fraction of the speed of a processor in a PC. Faster processors
require more power. To include a faster processor in a handheld
device would require a larger battery that would have to be
replaced more frequently.
·
The last issue confronting program
designers for handheld devices is the small display screens typically
available. One approach for displaying the content in web pages is web
clipping, where only a small subset of a web page is delivered and
displayed on the handheld device.
Some handheld devices may use wireless
technology such as BlueTooth, allowing remote access to e-mail and
web browsing. Cellular telephones with connectivity to the
Internet fall into this category. Their use continues to expand as network
connections become more available and other options such as
cameras
and MP3 players
, expand their utility.