Types of Operating System
Modern computer operating systems may be classified into three groups,
which are distinguished by the nature of interaction that takes place between
the computer user and his or her program during its processing. The three groups
are called batch, time-sharing and real-time operating systems.
Batch Processing Operating System
In a batch processing operating system environment users 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.
Time Sharing
Another mode for delivering computing services is provided by time
sharing operating systems. In this environment a computer provides computing
services to several or many users concurrently on-line. Here, the various users
are sharing the central processor, the memory, and other resources of the
computer system in a manner facilitated, controlled, and monitored by the operating
system. The user, in this environment, has nearly full interaction with the
program during its execution, and the computer’s response time may be expected
to be no more than a few second.
Real-time Operating System (RTOS)
The third class is the real time operating systems, which are designed to
service those applications where response time is of the essence in order to
prevent error, misrepresentation or even disaster. Examples of real time
operating systems are those which handle airlines reservations, machine tool
control, and monitoring of a nuclear power station. The systems, in this case,
are designed to be interrupted by external signals that require the immediate
attention of the computer system. These real time operating systems are used to
control machinery, scientific c instruments and industrial systems. An RTOS
typically has very little user-interface capability, and no end-user utilities.
A very important part of an RTOS is managing the resources of the computer so
that a particular operation executes in precisely the same amount of time every
time it occurs. In a complex machine, having a part move more quickly just
because system resources are available may be just as catastrophic as having it
not move at all because the system is busy.
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”.
Multiprocessing System
A multiprocessing system is a computer hardware configuration that
includes more than one independent processing unit. The term multiprocessing is
generally used to refer to large computer hardware complexes found in major
scientific or commercial applications. Multiprocessor system is simply a
computer that has more than one CPU on
its motherboard. If the operating system is built to take advantage of this, it
can run different processes (or different threads belonging to the same
process) on different CPUs.
Networking Operating System
A networked computing system is a collection of physical interconnected
computers. The operating system of each of the interconnected computers must
contain, in addition to its own stand-alone functionality, provisions for
handing communication these additions do not change the essential structure of
the operating systems.
Distributed Operating System
A distributed computing system consists of a number of computers that are
connected and managed so that they automatically share the job processing load
among the constituent computers, or separate the job load as appropriate
particularly configured processors. Such a system requires an operating system
which, in addition to the typical stand-alone functionality, provides
coordination of the operations and information flow among the component
computers.