An Overview of Operating System
Operating Systems
What is an OS – It is a control program that provides an interface between the computer hardware and the user. Part of this interface includes tools and services for the user.“An operating system is a program that acts as an intermediary between a user of computer and computer hardware. The purpose of the OS is provide an environment in which the user can execute programs. The primary goal of an OS is thus to make the computer convenient to use. A secondary goal is to use the computer hardware in an efficient manner.”
Computer
Hardware – CPU, memory, I/O devices provide basic
computing resources.
System and
Application Programs – Compilers, database systems,
games, business programs, etc. define the ways the computing resources are used
to solve the users problems.
Operating
System – Controls and coordinates the computing
resources among the system and application programs for the users.
End User – Views the computer system as a set of applications. The End User is generally not concerned with
various details of the hardware.
Programmer – Uses languages, utilities (frequently used functions) and OS
services (linkers, assemblers, etc.) to develop applications instead. This method is used to reduce complexity by
abstracting the detail of machine dependant calls into APIs and various
utilities and OS services.
a.
OS
attributes
i.
Convenience
– make the computer easy to use
ii.
Efficiency
– manage computer resources in an efficient manner
iii.
Ability to
Evolve – An OS should be able to integrate new system functions and
additions/modifications without interfering with service or over burdening
users.
a.
OS can be
thought of as:
i.
Control
Program and Resource Allocator – The OS is a program, like other programs in the
system. Like other programs, it made of
instructions, but its instructions serve the purpose to allocate resources
(CPU, memory, disk storage, i/o) so that other programs can operate. To do this it must stop itself from running
and let other programs run. When the
other program’s turn to run is over, the OS runs long enough to prepare the
resources for the next process to run, and so on.
ii.
User to
Computer Interface – Provides an friendly environment from which user can
accomplish their goals.
b.
OS from the
viewpoint that it is User/Computer Interface – The OS acts as an intermediary
between the Users/Programmers and the hardware, making it easier for users,
programmers, and applications to access the OS’s facilities, services
(facilities can be thought of as the system’s resources, services are the
methods that the OS provides to use the facilities). Services are
typically provided in the following areas:
i.
Program
Development – editors, debuggers, compilers, etc.
ii.
Program
Execution – loaders, linkers, system protection.
iii.
Access to
I/O devices – Provides a uniform interface, usually simple reads and writes,
that hides the details of i/o device operation.
iv.
File
access and protection – Must be able to manage storage devices, access data in
file, and provides access control to files.
v.
Error
detection – Must be able to gracefully handle various errors, such as memory
access violations, divide by zero, device errors, etc.
vi.
System
Logging – log important system events for system tuning, error correction
and/or billing information.
c.
Brief
history (Wikipedia)
i.
The first
computers did not have an OS but programs for managing the system and using the
hardware quickly appeared.
ii.
By the
early 1960s, commercial computer vendors, such as UNIVAC and Control Data
Corporation, were supplying quite extensive tools for streamlining the
development, scheduling, and execution of jobs on batch processing systems.
iii.
In the
1960s IBM System/360 OS 360 was developed to run on a whole line of
computers. It was a first, an OS for
several different machines in IBM’s product line. Features included:
1.
Hard disk
storage development.
2.
Time
sharing environment. Time sharing
provided users the illusion of having the whole machine to themselves.
iv.
Multics
was another well known OS that used the time sharing concepts. It inspired several OS’s including Unix and VMS.
v.
The first
microcomputers (predecessors to PCs) did not require/use most of the advanced
features used for mainframes and mini computers.
vi.
CP/M
(Control Program/Monitor) was created by Digital’s Gary Kildall for Intel
8080/8085 and Zilog Z80 processors in about 1974. It is the predecessor for IBM’s PC DOS and MS
DOS. DOS’s major contribution was its
FAT file system.
vii.
In the
1980’s DOS dominated the Intel based PC’s while the Macintosh operating system,
patterned after XEROX corporations early window based document editing
operating systems, provided competition on the Apple platform.
d.
Computer
System Structures – A modern computer consists of:
i.
CPU –
Central Processing Unit. Is responsible
for execution of arithmetic, logical, data transfer, and control operations.
ii.
Device
Controllers
1.
disk drive
controller
2.
audio
device controller
3.
video
controller
4.
etc.
iii.
System Bus
– Serves as a communication channel between the various system components.
iv.
Memory – Storage
of instructions and data for system and user processes.
·
The CPU
and device controllers can run concurrently.
·
A memory
controller synchronizes the CPU’s and device controller’s access to memory.
Comments
Post a Comment