Transcript Types of OS

WHAT IS AN OPERATING SYSTEM
A program that acts as an intermediary between
a user of a computer and the computer hardware.
 Operating system goals:

Execute user programs and make solving user
problems easier.
 Make the computer system convenient to use.

Use the computer hardware in an efficient
manner.
 Resource allocator
 Graphical Interface between user and computer

Operating System Concepts
WHAT IS AN OPERATING SYSTEM
The features in any OS may vary greatly in
terms of space and graphics
 Commonly, Operating systems can also be
defined as “one program running at all times on
the computer”.

Operating System Concepts
ELEMENTS OF OPERATING SYSTEM
1. Hardware – provides basic computing resources (CPU,
memory, I/O devices).
2. Operating system – controls and coordinates the use
of the hardware among the various application
programs for the various users.
3. Applications programs – define the ways in which the
system resources are used to solve the computing
problems of the users (compilers, database systems,
video games, business programs).
4. Users (people, machines, other computers).
Operating System Concepts
Operating System Concepts
OPERATIONS PERFORMED
When a computer is powered up—bootstrap
program residing in ROM--loads the OS into
memory
 Initialization of a system– CPU registers, device
controllers, memory content
 Starts execution of its first process and waits for
some event (called interrupt) to occur.
 When CPU is interrupted, it stops what it is
doing and immediately transfers execution to a
fixed location (starting address).

STORAGE STRUCTURE
The CPU can load instructions only from memory
i.e. main-memory or volatile memory, so any
programs to run must be stored there.
 Also, the secondary storage is able to hold large
quantity of data permanently.
 So, most application programs and system i.e. OS
are stored on a disk until they are loaded into
memory.

EVOLUTION OF OPERATING SYSTEMS
Serial Processing (1950)
 Batch Processing (1960)
 Single-User
 Multi-User
 Multi Programming
 Time Sharing (Multi Tasking)
 Parallel System
 Distributed System

SERIAL PROCESSING SYSTEM
- bring cards to 1401
- read cards to tape
- put tape on 7094 which does
computing
- put tape on 1401 which prints output
Operating System Concepts
BATCH PROCESSING SYSTEM





Same type of jobs are batched together and execute at
a time.
The carrier carries the group of jobs at a time from
one room to another.
The programmer need not running between 3 rooms
several times.
Batch Systems are used for running batch
operations such as calculating and printing
customers' bills.
They often run a single task for hours or even days at
a time, eg: banks process millions of cheques each
month. These are processed together in a long run,
usually overnight.
Operating System Concepts
TYPES OF OPERATING SYSTEM




Single User (Single Processor System)
Single user operating' system allows a single user to
access the computer at a time.
This type of operating system is mostly used on
computers having single processor such as PCs.
In single user operating system, the CPU remains idle
during an I/O operation. So the CPU utilization is
reduced.
Operating System Concepts
SINGLE USER OPERATING SYSTEM
2 types of single user operating systems
i. Single-User Single Tasking Operating System:
This system allows a single user to execute one
program at a time. MS-DOS is an example of this
kind of operating system.
ii. Single-User Multitasking Operating System:

This system allows a single user to execute multiple
programs at the same time on a computer.

For example, in Windows you can load multiple
programs at a time such as Ms-Excel, Ms-Word, MsAccess as well as you can listen the music.

Operating System Concepts
MULTI PROGRAMMING
It is a technique to execute number of programs
simultaneously by a single processor.
 Number of processes reside in a main memory and
CPU picks and begins to execute one of them .

Operating System Concepts
MULTI PROGRAMMING

Advantages:
Efficient memory Utilization
 CPU is never idle. So performance of CPU will increase.
 Throughput of CPU may also increase.
 In non-multiprogramming (mono programming ), the user/
program has to wait for CPU much time.

Operating System Concepts
MULTI USER(MULTI PROCESSOR OR
PARALLEL SYSTEMS)
o
o
These systems have two or more processors in
close communication, sharing the computer bus
and sometimes the clock, memory, and peripheral
devices. Such systems are referred as “Tightly
coupled” systems.
Multi-User operating systems are used
on networked systems.
Operating System Concepts
MULTI USER(MULTI PROCESSOR OR
PARALLEL SYSTEMS)
3 types of multi user systems
i.
Single Processor systems have only a single processor or
CPU, which is shared between users by dividing the CPU
time into time-slices and allocating one of these to each user
in turn. The time-slices are very short, giving each user the
impression that their programs are running continuously.
ii.
Multiple Processor systems have more than one
processor. Users still have to share processors, but
performance is improved as there are fewer users per
processor.
iii.
Networked Systems (Clustered systems) consist of
single user PCs connected together to form a Local Area
Network (LAN). Each PC has a Network Interface Card
(NIC)and they are normally connected by means of copper
or fibre cables. Networks allow users to share files and
resources such as a printer or an Internet connection.
Common network operating systems include Windows NT,
Windows 2000/2003 Server and Unix/Linux.

MULTI USER(MULTI PROCESSOR OR
PARALLEL SYSTEMS)

Symmetric multiprocessing (SMP)




Each processor runs and identical copy of the operating
system.
Many processes can run at once without performance
deterioration.
Most modern operating systems support SMP
Asymmetric multiprocessing


Each processor is assigned a specific task; master
processor schedules and allocated work to slave
processors.
More common in extremely large systems
ADVANTAGES
Increase throughput (more work done in less
time)
 Economy of scale
 Increased reliability (in case of failure)

TIME SHARING
It is a logical extension of multiprogramming.
 Multiple jobs are executed by the CPU switching
between them.
 The CPU is multiplexed among several jobs that
are kept in memory and on disk (the CPU is
allocated to a job only if the job is in memory).
 A job swapped in and out of memory to the disk
at regular time interval.
 Time slots are defined by operating system.

Operating System Concepts
DISTRIBUTED SYSTEMS
In distributed systems, the processor can’t share
memory or a clock, each processor has its own
local memory.
 The processor communicate with one another
through various communication lines such as
high speed buses.
 These type of systems are referred as loosely
coupled.
 Advantages:

Resource Sharing
 Computation Speed up.
 Reliability
 Communication

Operating System Concepts
REAL TIME SYSTEM
Real Time operating System is used when rigid
time requirements.
 A Real Time system has well defined, fixed time
constraints.
 A processing must be done within a specified
time constraints or the system will fail.
 A real time system runs correctly if it returns the
correct result within its time constraints.
 2 types:

Hard real time system
 Soft real time system

Operating System Concepts
HANDHELD SYSTEMS
Handheld Systems include personal digital
assistants or cellular telephones with
connectivity to a network such as the Internet.
 Handheld systems have a small amount of
memory, slow processors and feature, and small
display screen.
 Issue:

Speed of the processor
 Small amount of memory
 Small display screen

Operating System Concepts
 Program
 The OS
FUNCTIONS OF OS
Creation
provides editors, debuggers, to assist the
programmer in creating programs.
 Program Execution
 To execute a particular
program , OS perform several
task for e.g. loading of data and instruction in main
memory, Initialization of file and other resources .
 I/O operation
 A running program
may require input and output. This
I/O may involve a file or an I/O device. A user program
can not execute I/O operations directly. It is done by OS.
 Error
 The
Detection
operating system detects the different types of errors
and should take appropriate action.
 The error include , power failure, printer out of paper,
illegal instruction in the program(division by zero,
arithmetic overflow)
Operating System Concepts
FUNCTIONS OF OS
Resource
Allocation
The OS collects all the resources in the network
environment or a system and grant these resources to
requested process.
 The resource include CPU cycles, main memory , i/o
devices, file storage and so on.

Accounting


The OS can keep track of which user use how much and
what kind of computer resources .
This record keeping is useful to improve computing
resources.
Protection

The OS provides security mechanism to protect the
unauthorized usage of files in the network environment.
Operating System Concepts
OS AS A RESOURCE MANAGER
LAYERED APPROACH





The operating system is divided into a number of layers
(levels), each built on top of lower layers. The bottom layer
(layer 0), is the hardware; the highest (layer N) is the user
interface.
With modularity, layers are selected such that each layer
uses functions (operations) and services of only lower-level
layers.
This approach simplifies debugging and system
implementation.
The first layer can be debugged without concern for the rest
of the system, because it uses basic hardware to implement
its functions. Once that layer is debugged, its correct
functioning can be assumed while the second layer is
debugged.
Each layer is implemented only those operations provided
by lower layers.
Operating System Concepts
LAYERED APPROACH
A layer does not need to know how these operations
are implemented, it need to know only what these
operations do.
 Each layer hides existence of certain data structures,
operations and hardware from higher level layers.
 A major difficulty with this approach is that each layer
should be identified carefully because above layer
depends on that.

Operating System Concepts
THE OPERATING SYSTEM LAYER
Operating System Concepts
OS LAYER STRUCTURE
Operating System Concepts
VIRTUAL MACHINE
A virtual machine takes the layered approach to its
logical conclusion. It treats hardware and the
operating system kernel as though they were all
hardware.
 The fundamental idea behind a virtual machine is to
abstract the hardware of a single computer into
several different execution environments, thereby
creating the illusion of multiple processes, each
executing on its own processor with its own (virtual)
memory.
 A virtual machine provides an interface identical to
the underlying bare hardware.

Operating System Concepts
VIRTUAL MACHINE

The resources of the physical computer are shared to
create the virtual machines.
CPU scheduling can create the appearance that users have
their own processor.
 Spooling and a file system can provide virtual card readers
and virtual line printers.
 A normal user time-sharing terminal serves as the virtual
machine operator’s console.

Operating System Concepts
SYSTEM MODEL
Operating System Concepts