Prepared By: Jerusalem Y.
Introduction to OS 4/8/2019 1
Introduction to OS
Role and purpose of operating systems
History of operating system development
Types of operating systems
Introduction to OS 4/8/2019 2
An operating system (OS) is a software program that
manages the hardware and software resources of a computer.
It also provides a basis for application programs and acts as an
agent between the computer user and the computer hardware.
OS performs basic tasks, such as controlling and allocating
memory, prioritizing the processing of instructions, controlling
input and output devices, facilitating networking, and
managing files.
The primary objective of an OS is to make computer system
convenient to use and to utilize computer hardware in an
efficient manner.
Introduction to OS 4/8/2019 3
The operating system is also defined as a program set of
programs that control the input and output devices.
The primary goal of an operating system is to maximize the
productivity of a computer system by operating it in the most
efficient manner and minimizing the amount of a human
intervention required.
Introduction to OS 4/8/2019 4
Introduction to OS 4/8/2019 5
1. Abstraction of hardware
The fundamental operation of the operating system (OS) is
to abstract the hardware to the programmer and user.
The operating system provides generic interfaces to services
provided by the underlying hardware.
2. Multitasking
We expect modern computers to do many different things at
once, and we need some way to arbitrate between all the
different programs running on the system.
It is the operating systems job to allow this to happen
seamlessly.
Introduction to OS 4/8/2019 6
3. Standardised Interfaces
Programmers want to write programs that will run on as
many different hardware platforms as possible.
By having operating system support for standardised
interfaces, programmers can get this functionality.
4. Security
On multi-user systems, security is very important.
As the authorizer of access to the system the operating
system is responsible for ensuring that only those with the
correct permissions can access resources.
Introduction to OS 4/8/2019 7
5. Performance
As the operating system provides so many services to the
computer, its performance is critical.
Many parts of the operating system run extremely frequently,
so even an overhead of just a few processor cycles can add up
to a big decrease in overall system performance.
Introduction to OS 4/8/2019 8
1. To provide an environment for a computer user to execute
programs on computer hardware in a convenient and
efficient manner.
2. To allocate the separate resources of the computer as needed
to solve the given problem. The allocation process should be
as fair and efficient as possible.
3. As a control program it serves two major functions
Supervision of the execution of user programs to prevent
errors and improper use of the computer, and
Management of the operation and control of I/O devices.
Introduction to OS 4/8/2019 9
History Phase I: Hardware Expensive, Humans Cheap
Hardware: mainframes
OS: human operators
◦ Handle one job
(a unit of processing) at a time
◦ Computer time
wasted while
operators walk
around the
machine room
Introduction to OS 4/8/2019 10
Efficient use of the hardware
◦ Batch system: collects a batch of jobs before processing
them and printing out results
Job collection, job processing, and printing out results can
occur concurrently
◦ Multiprogramming: multiple programs can run
concurrently
Example: I/O-bound jobs and CPU-bound jobs
Introduction to OS 4/8/2019 11
Hardware: terminals
OS design goal: more efficient use of human resources
◦ Timesharing systems: each user can afford to own
terminals to interact
with machines
Introduction to OS 4/8/2019 12
Hardware: personal computers
OS design goal: allowing a user to perform many tasks at the
same time
◦ Multitasking: the ability to run multiple programs on the
same machine at the same time
◦ Multiprocessing: the ability
to use multiple processors
on the same machine
Introduction to OS 4/8/2019 13
Hardware: computers with networks
OS design goal: simplicity of resource sharing among
machines
Introduction to OS 4/8/2019 14
1. Batch operating system
The users of a batch operating system do not interact with the
computer directly.
Each user prepares his job on an off-line device like punch
cards and submits it to the computer operator.
To speed up processing, jobs with similar needs are batched
together and run as a group.
The programmers leave their programs with the operator and
the operator then sorts the programs with similar requirements
into batches.
Introduction to OS 4/8/2019 15
The problems with Batch Systems are as follows
1. Lack of interaction between the user and the job.
2. CPU is often idle, because the speed of the mechanical I/O
devices is slower than the CPU.
3. Difficult to provide the desired priority.
Introduction to OS 4/8/2019 16
2. Time-sharing operating systems
Time-sharing is a technique which enables many people,
located at various terminals, to use a particular computer
system at the same time.
Time-sharing or multitasking is a logical extension of
multiprogramming.
Processor's time which is shared among multiple users
simultaneously is termed as time-sharing.
The main difference between Multi-programmed Batch
Systems and Time-Sharing Systems is that in case of Multi-
programmed batch systems, the objective is to maximize
processor use, whereas in Time-Sharing Systems, the objective
is to minimize response time.
Introduction to OS 4/8/2019 17
The operating system uses CPU scheduling and multi
programming to provide each user with a small portion of a time.
Computer systems that were designed primarily as batch systems
have been modified to time-sharing systems.
Advantages of Timesharing operating systems are
1. Provides the advantage of quick response.
2. Avoids duplication of software.
3. Reduces CPU idle time.
Disadvantages of Time-sharing operating systems are
1. Problem of reliability.
2. Question of security and integrity of user programs and data.
3. Problem of data communication.
Introduction to OS 4/8/2019 18
3. Distributed Operating System
Distributed systems use multiple central processors to serve
multiple real-time applications and multiple users.
Data processing jobs are distributed among the processors
accordingly.
The processors communicate with one another through various
communication lines (such as high-speed buses or telephone
lines). These are referred as loosely coupled systems or
distributed systems.
Processors in a distributed system may vary in size and
function.
These processors are referred as sites, nodes, computers, and
so on.
Introduction to OS 4/8/2019 19
The advantages of distributed systems are
1. With resource sharing facility, a user at one site may be able
to use the resources available at another.
2. Speedup the exchange of data with one another via
electronic mail.
3. If one site fails in a distributed system, the remaining sites
can potentially continue operating.
4. Better service to the customers.
5. Reduction of the load on the host computer.
6. Reduction of delays in data processing.
Introduction to OS 4/8/2019 20
4. Network operating System
A Network Operating System runs on a server and provides
the server the capability to manage data, users, groups,
security, applications, and other networking functions.
The primary purpose of the network operating system is to
allow shared file and printer access among multiple computers
in a network, typically a local area network (LAN), a private
network or to other networks.
Examples of network operating systems include Microsoft
Windows Server 2003, Microsoft Windows Server 2008,
UNIX, Linux, Mac OS X, Novell NetWare, and BSD.
Introduction to OS 4/8/2019 21
Advantages of network operating systems are
1. Centralized servers are highly stable.
2. Security is server managed.
3. Upgrades to new technologies and hardware can be easily
integrated into the system.
4. Remote access to servers is possible from different locations
and types of systems.
Disadvantages of network operating systems are
1. High cost of buying and running a server.
2. Dependency on a central location for most operations.
3. Regular maintenance and updates are required.
Introduction to OS 4/8/2019 22
5. Real Time operating System
A real-time system is defined as a data processing system in
which the time interval required to process and respond to
inputs is so small that it controls the environment.
The time taken by the system to respond to an input and
display of required updated information is termed as
the response time.
So in this method, the response time is very less as
compared to online processing.
Real-time systems are used when there are rigid time
requirements on the operation of a processor or the flow of
data and real-time systems can be used as a control device
in a dedicated application.
Introduction to OS 4/8/2019 23
A real-time operating system must have well-defined,
fixed time constraints, otherwise the system will fail.
For example, Scientific experiments, medical imaging
systems, industrial control systems, weapon systems,
robots, air traffic control systems, etc.
There are two types of real-time operating systems.
Introduction to OS 4/8/2019 24
1. Hard real-time systems
Hard real-time systems guarantee that critical tasks complete
on time.
In hard real-time systems, secondary storage is limited or
missing and the data is stored in ROM.
In these systems, virtual memory is almost never found.
2. Soft real-time systems
Soft real-time systems are less restrictive.
A critical real-time task gets priority over other tasks and
retains the priority until it completes.
Introduction to OS 4/8/2019 25
Soft real-time systems have limited utility than hard real-time
systems.
For example, multimedia, Advanced Scientific Projects, etc.
Introduction to OS 4/8/2019 26
Basically operating categorized in to two:
◦ Open source(like Linux)
◦ Proprietary (like Windows)
Commonly known operating systems are:
◦ Mac OS
◦ Windows
◦ Linux
The common difference between each OS family are:
◦ Flexibility Open source
◦ Command line Hardware requirements
◦ Security Portability
◦ Cost More available software
Introduction to OS 4/8/2019 27