0% found this document useful (0 votes)
5 views27 pages

Chapter 1

The document provides an overview of operating systems (OS), detailing their role in managing computer hardware and software resources, as well as their historical development and various types. It discusses key functions of OS such as multitasking, security, and performance, and categorizes operating systems into types including batch, time-sharing, distributed, network, and real-time systems. Additionally, it highlights the differences between open source and proprietary operating systems.

Uploaded by

Abinet Arba
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views27 pages

Chapter 1

The document provides an overview of operating systems (OS), detailing their role in managing computer hardware and software resources, as well as their historical development and various types. It discusses key functions of OS such as multitasking, security, and performance, and categorizes operating systems into types including batch, time-sharing, distributed, network, and real-time systems. Additionally, it highlights the differences between open source and proprietary operating systems.

Uploaded by

Abinet Arba
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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

You might also like