Operating Systems Overview (Night Class)
By Aurelie A. Peralta
Introduction
An Operating
System is a program that manages the computer hardware. It also provides a basis
for application programs and acts as an intermediary between a user and the computer
hardware. An amazing aspect of operating system is how varied they are in accomplishing
these tasks. Mainframe operating systems are designed primarily to optimize utilization of hardware.
Personal
computer (PC) operating systems support complex games, business applications, and
everything in between. Handheld computer operating systems are designed to provide
an environment in which a user can easily interface with the computer to execute
programs. Thus, some operating systems are designed to be convenient, others to
be efficient, and others some combination of two.
What is an Operating System?
A computer
system can be divided roughly into four components:
a. Hardware
b. Operating System
c. Application programs
d. The Users
Operating
Systems can be explored from two viewpoints: the user and the system.
User view
The user
view of the computer varies by the interface being used. Most computer users sit
in front of a PC, consisting of a monitor, keyboard, mouse and system unit. Such
a system is designed for one user to monopolize its resources, to maximize the work that the user is performing. In this case,the operating system is designed mostly
for ease of use, with some attention paid to performance, and none paid to resource
utilization.
Some users
sit at a terminal connected to a mainframe or minicomputer. Other users are accessing
the same computer through other terminals. These users share resources and may exchange
information. The operating system is designed to maximize resource utilization.
Other users
sit at workstations, connected to networks of other workstations and servers. These
users have dedicated resources at their disposal, but they also share resources
such as networking and servers.
Recently,
many varieties of handheld computers have come into fashion. These devices are mostly
standalone, used singly by individual users. Some are connected to networks, either
directly by wire or through wireless modems. Due to power and interface limitations
they perform relatively few remote operations. These operating systems are designed
mostly for individual usability, but performance per amount of battery life is important
as well.
Some computers
have little or no user view. For example, embedded computers in home devices and
automobiles may have numeric keypad, and may turn indicator lights on or off to
show status, but mostly they and their operating systems are designed to run without
user intervention.
System View
We can
view an operating system as a resource allocator. A computer system has many resources
- hardware and software - that may be required to solve a problem. The operating
system acts as the manager of these resources.
An operating
system can also be viewed as a control program that manages the execution of user
programs to prevent errors and improper use of the computer. It is especially concerned
with the operation and control of I/O devices.
We have
no universally accepted definition of what is part of the operating system. A simple
viewpoint is that it includes everything a vendor ships when you order “the operating
system”.
A more
common definition is that the operating system is the one program running at all
times on the computer (usually called the kernel), with all else being application
programs. This is the one that we generally follow.
System Goals
It is easier
to define an operating system by what it does
than what it is, but even
this can be tricky. The primary goal of some operating system is convenience for
the user. The primary goal of other operating system is efficient operation of the
computer system. Operating systems and computer architecture have influenced each
other a great deal. To facilitate the use of the hardware, researchers developed
operating systems. Users of the operating systems then proposed changes in hardware
design to simplify them. In this short historical review, notice how identification
of operating-system problems led to the introduction of new hardware features.
Mainframe Systems
Mainframe
computer systems were the
first computers used to tackle many commercial and scientific
applications.
Assignment:
1. Batch Systems
2. Multiprogrammed Systems
3. Time-Sharing Systems
Desktop Systems
Personal
Computers or PCs appeared in the 1970s. Operating Systems for PCs opt for maximizing
user convenience and responsiveness.
Multiprocessor Systems
Multiprocessor
systems also known as parallel systems or tightly coupled systems are growing in
importance. Such systems have more than one processor in close communication, sharing
the computer bus, the clock, and sometimes memory and peripheral devices.
Multiprocessor systems have three main advantages:
1. Increased throughput
2. Economy of scale
3. Increased reliability
Distributed Systems
A network,
in the simplest terms, is a communication path between two or more systems. Distributed
systems depend on networking for their functionality.
1. Client-Server
Systems
2. Peer-to-Peer Systems
Clustered Systems
Like parallel
systems, clustered systems gather together multiple CPUs to accomplish computational
work. They differ from parallel systems in that they are composed of two or more
individual systems coupled together. Clustering is usually performed to provide
high availability.
Real-Time Systems
A real-time
system is used when rigid time requirements have been placed on the operation of
a processor or the flow of data thus it is often used as a control device in a dedicated
application. Sensors bring data to the computer. A real-time system has well-defined,
fixed time constraints. Processing must be done within the defined constraints,
or the system will fail.
Handheld Systems
Handheld
systems include personal digital assistants (PDAs) or cellular telephones with connectivity
to a network such as the Internet.
Computing Environments
1. Traditional Computing
2. Web-Based Computing
3. Embedded Computing
Reference: Operating System Concepts by Silberschatz, Galvin, and Gagne, 2003