OPERATING SYSTEM
An operating system (OS)
can be defined as a set of computer programs that manage the hardware and
software resources of a computer. An operating system maintains a proper
balance between the software and hardware present in a computer system.
At the foundation of all system
software, an operating system performs basic tasks such as controlling and
allocating memory, prioritizing system requests, controlling input and output
devices, facilitating networking and managing file systems. The operating
system forms a platform for other system software and for application software.
Windows, Linux, and Mac OS are some of the most popular OS's.
Goals and Functions of OS
OS can be defined by what they do
i.e. by their functions, goals and objectives. Some of the goals of the OS are:
1 Convenience for the User
2 Efficiency
3
Evolutionary Capabilities
Services Provided by the OS
The services provided by the OS can be categorised into
two:
1 Convenience for the Programmer/User
i. Program Creation
ii. Program Execution
iii. Access to I/O Devices
iv. Controlled Access
v. Communications
vi. Error Detection
2
Efficiency of System: Single and Multi-User:
i. System Access or Protection
ii. Resources Allocation
iii. Accounting
iv. Ease of Evolution of OS
v. New Services
vi. Fixes
Other
features provided by the OS includes:
•
Defining the user interface
•
Sharing hardware among users
•
Allowing users to share data
•
Scheduling resources among users
•
Facilitating I/O
•
Recovering from errors
•
Etc.
Types of
OS
A. Types of Operating Systems Based
on the Types of Computer they Control and the Sort of Applications they Support
Based on the types of computers they
control and the sort of applications they support, there are generally four
types within the broad family of operating systems. The broad categories are as
follows:
1 Real-Time Operating Systems (RTOS)
They are used to control machinery,
scientific instruments and industrial systems. An RTOS typically has very
little user-interface capability, and no end-user utilities, since the system
will be a sealed box when delivered for use. 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. RTOS can be hard or soft. A hard RTOS guarantees that critical
tasks are performed on time. However, soft RTOS is less restrictive. Here, a
critical real-time task gets priority over other tasks and retains that
priority until it completes.
2 Single-User, Single-Tasking
Operating System
As the name implies, this operating
system is designed to manage the computer so that one user can effectively do
one thing at a time. The Palm OS for Palm handheld computers is a good example
of a modern single-user, single-task operating system.
3 Single-User, Multi-Tasking Operating System
This is the type of operating system most people use on
their desktop and laptop computers today. Windows 98 and the Mac O.S.
are both examples of an operating system that will let a single user have
several programs in operation at the same time.
4 Multi-User Operating Systems A
multi-user operating system allows many different users to take advantage of
the computer's resources simultaneously. The operating system must make sure
that the requirements of the various users are balanced, and that each of the
programs they are using has sufficient and separate resources so that a problem
with one user doesn't affect the entire community of users. Unix, VMS,
and mainframe operating systems, such as MVS, are examples of multi-user
operating systems. It's important to differentiate here between multi-user
operating systems and single-user operating systems that support networking. Windows
2000 and Novell Netware can each support hundreds or thousands of
networked users, but the operating systems themselves are not true multi-user
operating systems. The system administrator is the only user for Windows 2000
or Netware. The network support and the entire remote user logins the network
enables are, in the overall plan of the operating system, a program being run
by the administrative user.
2 Types of OS based on the Nature of Interaction that
takes place between the Computer User and His/Her Program during its Processing
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-shared and real time
operating systems.
1 Batch Processing OS
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 (i.e.
results are ready for return to the person who submitted the job).
2 Time Sharing OS
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.
3 Real Time OS
The
third class of operating systems, real time operating systems, 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 signal that require the immediate
attention of the computer system. In fact, many computer operating systems are
hybrids, providing for more than one of these types of computing service
simultaneously. It is especially common to have a background batch system
running in conjunction with one of the other two on the same computer
Other Types of OS based on the Definition of the
System/Environment
A
number of other definitions are important to gaining a better understanding and
subsequently classifying operating systems:
1 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’. 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.
2 Network Operating Systems
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 handling communication and transfer
of programs and data among the other computers with which it is connected. In a
network operating system, the users are aware of the existence of multiple
computers, and can log in to remote machines and copy files from one machine to
another. Each machine runs its own local operating system and has its own user
(or users). Network operating systems are designed with more complex functional
capabilities. Network operating systems are not fundamentally different from
single processor operating systems. They obviously need a network interface
controller and some low-level software to drive it, as well as programs to
achieve remote login and remote files access, but these additions do not change
the essential structure of the operating systems.
3 Distributed Operating Systems
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. The distributed computing environment and its operating
systems, like networking environment, are designed with more complex functional
capabilities. However, a distributed operating system, in contrast to a network
operating system, is one that appears to its users as a traditional
uniprocessor system, even though it is actually composed of multiple
processors. In a true distributed system, users should not be aware of where
their programs are being run or where their files are located; that should all
be handled automatically and efficiently by the operating system.
No comments:
Post a Comment