DEBRE MARKOS UNIVERSITY
BURIE CAMPUS
DEPARTMENT OF COMPUTER SCIENCE
Operating System
By:
Amare W.
1
2 01/27/2025
Chapter One: Introduction
Overview of Operating Systems (OS)
Software is “a program or set of programs to perform a task using
the capabilities of the Hardware”.
software is a set of instructions that tell the computer hardware
what to do.
Types of Software: There are mainly two classes of software
Application software
Systems software
Application software are the user programs and consists of those
programs that solve specific problems for the users and execute
3/2/2018
under the control of the operating system.
3 01/27/2025
System Software manages the computer’s basic operations, allows the
computer to run applications software and allows the user to interact
with the computer.
System software tells the computer how to interpret data and
instructions; how to communicate with peripheral equipment like
mouse, keyboard, printers etc; and how to use the hardware in general.
There are many number of system software,
Operating Systems
Device Drivers
Language Translators
Utility Programs 3/2/2018
4
What is Operating System?
Operating system is the core software component of your computer. It performs many
functions and is, in very basic terms, an interface between your computer and the
outside world.
A computer is a modern system consists of one or more processor, some main memory,
disks, printers, a keyboard, display and other I/O systems. This is a complex system.
Thus writing programs that keeps track of all these components and use them correctly
is a mandatory.
For these reason, computers are provided with a layer of software called the operating
system (OS).
The job of OS is to manage all these devices and provide user program with a simpler
interface to the hardware.
5 01/27/2025
An operating system is the actual software that controls the allocation
and use of a computer's hardware.
It keeps components working in unity, acting as a communicator
between the user, the computer's hardware and software.
Operating system is system software that controls the execution of
programs and that provides services such as resource allocation,
scheduling, I/O control and data/file management.
3/2/2018
6 01/27/2025
♥ Operating System interprets commands and instructions. It also
coordinates compilers, assemblers, utility programs, and other
software to the various user of the computer system.
♥ OS provides easy communication between the computer system
and the computer operator (human). It also establishes data
security and integrity.
♥ Therefore, operating system provides the means for proper use of
these resources in the operation of computer system.
♥ To understand the role of operating system we can categorize
3/2/2018 in
two viewpoints.
7 01/27/2025
user's View
♥ Regarding to the user’s view an operating system designer focused on
user interface.
♥ For instance let’s take PC, consists of monitor, keyboard , mouse and
system unit. Such system is designed for a single user to monopolize
the resource.
The goal is to maximize the work that the user is performing. In this
case, the operating system is designed mostly for easy of use.
In other cases, a user sits at a terminal connected to mainframe or
minicomputer.
3/2/2018
Other users are accessing the same computer through other terminals.
8 01/27/2025
So in this case the users share the resources and may exchange
information.
The OS in such cases is designed to maximize resource
utilization to assure that all available resource are used
efficiently and no individual takes more.
System’s View
From the systems point of view, the operating system is the
program most intimately involved with the hardware. In this
3/2/2018
case, operating system is resource allocator.
9 01/27/2025
A computer system has many resources that may be required to
solve problems and OS manages such resources. Facing
numerous and possibly conflicting requests for resources.
The operating system must decide how to allocate them to a
specific programs and users and operate computer system
efficiently and fairly.
It is important when many users access the same mainframe or
minicomputers. An operating system is a control program.
A control program manages the execution of user programs
3/2/2018 to
prevent errors and improper use of the computer.
10
Role and purpose of operating systems
An operating system provides an environment for the execution
of programs. It provides certain services for programs and
users of programs.
Specific services provided are different from one operating
system to another.
But there are some common classes provided by all operating
system.
Operating system services provides functions that are helpful to
the user. Some of the services provided by an operating system:
11
….cont’d
User Interface: almost all operating system have a user interface
(UI). This interface can take several forms.
CLI : is a text-oriented interface. Advanced users and application
programmers will normally directly communicate with the operating system at
this level.
Batch interface in which commands and directives to control those commands
are entered into files and those files are executed.
GUI: The highest level is the (GUI), which allows I/O interaction with a user
through intuitive icons, menus, and other graphical objects.
12
Program Execution: the system must be able to load a program into
memory and to run that program. The program must be able to end its
execution.
I/O Operation: a running program may require I/O w/h may involve
a file or an I/O device
File system manipulation: obviously, programs need to read and
write files and directories.
3/2/2018
They also need to create and delete files and directories by name.
13 01/27/2025
Some programs include permissions management to allow or deny
files and directories based on file ownership.
Communications: there are many circumstances in w/h one
process needs to exchange information with other process.
Such communication may occur b/n process that are executing on
the same computer or b/n process that are executing on different
computer systems tied together by a computer network.
Communications implemented via shared memory or message
passing in w/h packets of information moved b/n processes by the
3/2/2018
operating system.
14
Error Detection: the operating system needs to be constantly aware
of possible errors. Errors may occur in the CPU and memory hardware:
Memory error or power failure
I/O devices such as parity error on tape, connection failure on a
network or lack of paper in the printer
An attempt to access an illegal memory location
For each type of error the operating system should take an action
to ensure correct and consistent computing.
Debugging facilities can greatly enhance the users and
3/2/2018
programmers abilities to use the system efficiently.
15
♥ Another function of operating system exists for ensuring the
efficient operation of the system itself.
♥ Systems with multiple users can gain efficiency by sharing
the computer resources among the users.
♥ Resource Allocation: when there are multiple users or jobs
running at the same time, resources must be allocated to each
of them.
♥ Many different types of resources are managed by the
3/2/2018
operating system
16 01/27/2025
….cont’d
♥ Accounting: we want to keep track of w/h users use how much and
what kinds of computer resources.
♥ This record keeping may be used for accounting or simply for
accumulating usage statistics.
♥ Protection and Security: operating system ensuring confidentiality,
integrity and availability.
♥ If a computer system has multiple users and allows the concurrent
execution of multiple process, then access to data must be regulated.
♥ The mechanisms ensure that can be operated by only those process
3/2/2018
that have gained proper authorization from the OS.
17 01/27/2025
Operating system Zoo
number of users they can serve at one or different stations and
number of programs the operating system handle/ support on a time,
operating systems can be:
Mainframe Operating System
At the high end are the operating systems for the mainframe, those
room sized computers still found in major corporate data centers.
The operating systems for mainframes are heavily oriented towards
processing many jobs at once, most of w/h need prodigious amount of
I/O. They typically offer three kinds of services:
3/2/2018
Batch, Transaction processing and Time sharing
18 01/27/2025
….cont’d
♥ In the 1970s, Batch processing was very popular. In this technique,
similar types of jobs were batched together and executed in time.
♥ A batch system is one that process routine jobs without any
interactive user present. People were used to having a single
computer which was called a mainframe.
♥ In Batch operating system, access is given to more than one person;
they submit their respective jobs to the system for the execution.
♥ The system put all of the jobs in a queue on the basis of first come
first serve and then executes the jobs one by one. The users collect
3/2/2018
their respective output when all the jobs get executed.
19 01/27/2025
♥ Transaction processing systems handle large numbers of small request.
Example check processing at a bank and airline reservation. Each unit of
work is small but the system handle hundred or thousands per second.
♥ Time sharing systems allow multiple remote users to run jobs on the
computer at once such as querying a big database.
♥ In the Time Sharing operating system, computer resources are allocated
in a time-dependent fashion to several programs simultaneously.
♥ Thus it helps to provide a large number of user's direct access to the main
computer. It is a logical extension of multiprogramming.
♥ In time-sharing, the CPU is switched among multiple programs given by
3/2/2018
different users on a scheduled basis.
20 01/27/2025
Server operating system
One level down are the server operating systems. They run on
servers which are either very large PCs, workstations or even
mainframes.
They serve multiple users at once over a network and allow the
users to share hardware and software resources.
Internet providers run many server machines to support their
customers and websites use servers to store webpages and
handle the incoming request.
Server operating systems are UNIX and Windows 2000
21 01/27/2025
Multiprocessor Operating System
♥ An increasingly common way to get major-league computing
power is to connect multiple CPU’s in to a single system.
♥ There are more than one processors present in the system which
can execute more than one process at the same time. This will
increase the throughput of the system.
♥ Depending on precisely how they are connected and what is
shared, these systems are called parallel computers,
multicomputer or multiprocessors.
♥ They need special operating systems with special features
3/2/2018 for
connectivity and communication.
22 01/27/2025
PC OS
♥ The next category is personal computer operating system. Their job is
to provide a good interface to a single user.
Real-Time Sharing Operating System
These operating system characterized by having time as key parameter.
For instance, in industrial processing control systems real time
computers have to collect data about the production process and use it
to control machines in the factory.
The Application of a Real-Time system exists in the case of military
applications, if you want to drop a missile, then the missile is supposed
3/2/2018
to be dropped with a certain precision.
23 01/27/2025
….cont’d
For instance, if a car is moving down an assembly line certain
actions must take place at certain instants of time.
If a welding robot welds too late or too early, the car will be
ruined.
If the action absolutely must occur at a certain moment (or within
a certain range) is called hard real-time system.
Another kind of real-time system is a soft real-time system in
which missing an occasional deadline is acceptable.
3/2/2018
Ex. VxWorks and QNX are well known
24 01/27/2025
Embedded Operating System
Embedded systems run on the computers that control devices
that are not generally as computers such as:
TV sets and mobile phones
Example palmOS, WindowsCE
3/2/2018
25 01/27/2025
Smart Card Operating System
The smallest operating systems run on smart cards which are
credit card sized devices containing a CPU chip.
They have very severe processing power and memory
constraints.
Some of them can handle only a single function such as
electronic payments, but others can handle multiple functions
on the same smart card.
3/2/2018
26 01/27/2025
History of Operating Systems
First generation 1945 - 1955
vacuum tubes, plug boards
Operating systems were unheard of
Second generation 1955 - 1965
transistors, assembly and FORTRAN
Batch system was introduced
Third generation 1965 – 1980
ICs and multiprogramming
Fourth generation 1980 – present
personal computers
3/2/2018
27 01/27/2025
Second Generation
Focused on cost effectiveness
Computers were expensive
IBM 7094: $200,000
Two widely adopted improvements
Computer operators: humans hired to facilitate machine
operation
Concept of job scheduling: group together programs with
similar requirements
Expensive time lags between CPU and I/O devices
3/2/2018
28 01/27/2025
Third Generation
Faster CPUs
Speed caused problems with slower I/O devices
Multiprogramming
Allowed loading many programs at one time
Program scheduling
Initiated with second-generation systems
Continues today
Few advances in data management
Total operating system customization
Suit user’s needs
Major achievements of third generation:
Multiprogramming
Timesharing
3/2/2018
MULTICS => UNIX
29 01/27/2025
Fourth Generation
Faster CPUs
Speed caused problems with slower I/O devices
Main memory physical capacity limitations
Multiprogramming schemes used to increase CPU
Virtual memory developed to solve physical limitation
Database management software
Became a popular tool
A number of query systems introduced
Programs started using English-like words, modular structures, and
standard operations
3/2/2018
Cost/performance ratio improvement of computer components
More flexible hardware (firmware)
30 01/27/2025
cont’d
Multiprocessing
Allowed parallel program execution
Evolution of personal computers
Evolution of high-speed communications
Distributed processing and networked systems introduced
Demand for Internet capability
Sparked proliferation of networking capability
Increased networking
Increased tighter security demands to protect hardware and
software
Multimedia applications
3/2/2018
Demanding additional power, flexibility, and device
compatibility for most operating systems
31 01/27/2025
History of Operating Systems
3/2/2018
32
Thank you