0% found this document useful (0 votes)
60 views54 pages

Over View: Overview of Operating Systems

The document provides an overview of operating systems. It defines an operating system as a program that controls application programs and acts as an interface between the user and computer hardware. It allocates resources like memory, processors, and devices. The operating system includes programs to manage these resources. The document discusses different types of operating systems like batch, time-sharing, distributed, and real-time operating systems. It also covers the functions, user interface, layers, and history of operating systems.

Uploaded by

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

Over View: Overview of Operating Systems

The document provides an overview of operating systems. It defines an operating system as a program that controls application programs and acts as an interface between the user and computer hardware. It allocates resources like memory, processors, and devices. The operating system includes programs to manage these resources. The document discusses different types of operating systems like batch, time-sharing, distributed, and real-time operating systems. It also covers the functions, user interface, layers, and history of operating systems.

Uploaded by

tayyab shami
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 54

Chapter 1 Over view

Overview of Operating Systems


An operating system is a program that controls the execution of
application programs and acts as an interface between the user
of a computer and the computer hardware.
A more common definition is that the operating system is the
one program running at all times on the computer (usually
called the kernel), with all else being application programs.
An operating system is concerned with the allocation of
resources and services, such as memory, processors, devices and
information. The operating system correspondingly includes
programs to manage these resources, such as a traffic controller,
a scheduler, memory management module, I/O programs, and
a file system.
Operating System | Types of Operating Systems

•Batch Operating System –


• This type of operating system do not interact with the computer directly.
...
•Time-Sharing Operating Systems –
• Each task has given some time to execute, so that all the tasks work
smoothly. ...
•Distributed Operating System – ...

•Network Operating System – ...

•Real-Time Operating System


Functions of Operating system –

Operating system performs three functions:

Convenience: An OS makes a computer more


convenient to use.
Efficiency: An OS allows the computer system
resources to be used in an efficient manner.
Ability to Evolve: An OS should be constructed in
such a way as to permit the effective development,
testing and introduction of new system functions
without at the same time interfering with service.
Operating system as User Interface –
User
System and application programs
Operating system
Hardware
Every general purpose computer consists of the
hardware, operating system, system programs, and
application programs. The hardware consists of
memory, CPU, ALU, and I/O devices, peripheral device
and storage device. System program consists of
compilers, loaders, editors, OS etc. The application
program consists of business programs, database
programs.
Layers of Operating System in Detail

Application programs , ftp, web browser , telnet

Unix shell

Language libraries : c, c++ , java …

System call interface (entry points to kernel)

Inter process
File Manager Process manager CPU Scheduler
communication
Kernel
Primary and secondary storage
management

Device drives: Mouse drivers, Printer drives ….

Computer Hardware: hard disk, CD-ROM, RAM, printer …


Every computer must have an operating system to run
other programs.
 The operating system coordinates the use of the
hardware among the various system programs and
application programs for a various users.
It simply provides an environment within which other
programs can do useful work.
The operating system is a set of special programs that
run on a computer system that allows it to work
properly. It performs basic tasks such as recognizing
input from the keyboard, keeping track of files and
directories on the disk, sending output to the display
screen and controlling peripheral devices.

OS is designed to serve two basic purposes:


1) It controls the allocation and use of the computing
System’s resources among the various user and tasks.

2) It provides an interface between the computer


hardware and the programmer that simplifies and
makes feasible for coding, creation, debugging of
application programs.
The Operating system must support the following tasks. The task are:
Provides the facilities to create, modification of
programs and data files using an editor.
Access to the compiler for translating the user program
from high level language to machine language.
Provide a loader program to move the compiled
program code to the computer’s memory for execution.
Provide routines that handle the details of I/O
programming.
I/O System Management –
The module that keeps track of the status of devices is
called the I/O traffic controller.
Each I/O device has a device handler that resides in a
separate process associated with that device.
The I/O subsystem consists of
A memory Management component that includes
buffering caching and spooling.
A general device driver interface.
Drivers for specific hardware devices.

Assembler –
Input to an assembler is an assembly language program.
Output is an object program plus information that
enables the loader to prepare the object program for
execution. At one time, the computer programmer had
at his disposal a basic machine that interpreted, through
hardware, certain fundamental instructions.
 He would program this computer by writing a series of
ones and Zeros (Machine language), place them into the
memory of the machine.
Compiler –
The High level languages- examples are FORTRAN,
COBAL, ALGOL and PL/I are processed by compilers and
interpreters.
A compiler is a program that accepts a source program in a
“high-level language “and produces a corresponding object
program.
 An interpreter is a program that appears to execute a
source program as if it was machine language.
The same name (FORTRAN, COBAL etc.) is often used
designate both a compiler and its associated language.
Loader –
A Loader is a routine that loads an object program and prepares it for execution.
There are various loading schemes:
absolute,
relocating and
 direct-linking.
In general, the loader must load, relocate and link the object program.
Loader is a program that places programs into memory and prepares them for
execution. In a simple loading scheme, the assembler outputs the machine
language translation of a program on a secondary devices and a loader is
places in core.
The loader places into memory the machine language version of the user’s
program and transfers control to it.
Since the loader program is much smaller than the assembler, those makes
more core available to user’s program.
History of Operating system –
Operating system has been evolving through the years.
Following Table shows the history of OS.

GENERATION YEAR ELECTRONIC TYPES OF OS


DEVICE USED DEVICE

First 1945-55 Vaccum Tubes Plug Boards

Secondt 1955-65 Transistors Batch Systems

Integerated
Third 1965-80 Multiprogramming
Circuits(IC)

Large Scale
Fourth Since 1980 PC
Integration
Operating System

Types of Operating Systems


Batch Operating System-
Sequence of jobs in a program on a computer without
manual interventions.

Time sharing operating System-


allows many users to share the computer resources.(Max
utilization of the resources).

Distributed operating System-


Manages a group of different computers and make
appear to be a single computer.
Network operating system-
computers running in different operating system can participate in common
network (It is used for security purpose).

Real time operating system –


meant applications to fix the deadlines.
Advantages of Batch Operating System:

It is very difficult to guess or know the time required by


any job to complete. Processors of the batch systems
knows how long the job would be when it is in queue

Multiple users can share the batch systems

The idle time batch system is very less

It is easy to manage large work repeatedly in batch


systems
Disadvantages of Batch Operating System:

The computer operators should be well known with


batch systems
Batch systems are hard to debug
It is sometime costly
The other jobs will have to wait for an unknown time if
any job fails
Examples of Batch based Operating
System: Payroll System, Bank Statements etc.
. Time-Sharing Operating Systems
Each task has given some time to execute, so that all the
tasks work smoothly. Each user gets time of CPU as they
use single system. These systems are also known as
Multitasking Systems.
The task can be from single user or from different users
also.
The time that each task gets to execute is called quantum.
After this time interval is over OS switches over to next
task.
Time-Sharing Operating Systems –
Advantages of Time-Sharing OS:
Each task gets an equal opportunity
Less chances of duplication of software
CPU idle time can be reduced

Disadvantages of Time-Sharing OS:


Reliability problem
One must have to take care of security and integrity of
user programs and data
Data communication problem
Examples of Time-Sharing OSs are: Multics, Unix
etc.
3. Distributed Operating System –
 These types of operating system is a recent
advancement in the world of computer technology and
are being widely accepted all-over the world and, that
too, with a great pace.
Various autonomous interconnected computers
communicate each other using a shared
communication network. Independent systems
possess their own memory unit and CPU.
These are referred as loosely coupled systems or
distributed systems.
These systems processors differ in sizes and functions.
The major benefit of working with these types of
operating system is that it is always possible that one
user can access the files or software which are not
actually present on his system but on some other
system connected within this network i.e., remote
access is enabled within the devices connected in that
network.
3. Distributed Operating System –
Advantages of Distributed Operating
System:
•Failure of one will not affect the other network
communication, as all systems are independent from each
other

•Electronic mail increases the data exchange speed

•Since resources are being shared, computation is highly fast


and durable

•Load on host computer reduces

•These systems are easily scalable as many systems can be


easily added to the network

•Delay in data processing reduces


Disadvantages of Distributed Operating
System:
Failure of the main network will stop the entire
communication
To establish distributed systems the language
which are used are not well defined yet
• These types of systems are not readily
available as they are very expensive.
• Not only that the underlying software is highly
complex and not understood well yet
Examples of Distributed Operating System
are- LOCUS etc.
4. Network Operating System –
 These systems runs on a server and provides the capability
to manage data, users, groups, security, applications, and
other networking functions.
 These type of operating systems allows shared access of
files, printers, security, applications, and other networking
functions over a small private network.
 One more important aspect of Network Operating Systems
is that all the users are well aware of the underlying
configuration, of all other users within the network, their
individual connections etc. and that’s why these computers
are popularly known as tightly coupled systems.
Network Operating System –
Advantages of Network Operating System:
Highly stable centralized servers
Security concerns are handled through servers
New technologies and hardware up-gradation are
easily integrated to the system
Server access are possible remotely from different
locations and types of systems
Disadvantages of Network Operating System:

 Servers are costly

 User has to depend on central location for most


operations

 Maintenance and updates are required regularly


Examples of Network Operating System
are: Microsoft Windows Server 2003, Microsoft
Windows Server 2008, UNIX, Linux, Mac OS X, Novell
NetWare, and BSD etc
Real-Time Operating System –

These types of OSs serves the real-time


systems. The time interval required to
process and respond to inputs is very small.
This time interval is called response time.
Real-time systems are used when there are time
requirements are very strict like missile systems, air
traffic control systems, robots etc.
Two types of Real-Time Operating System which are as follows:
Hard Real-Time Systems:
These OSs are meant for the applications where time
constraints are very strict and even the shortest possible
delay is not acceptable. These systems are built for saving
life like automatic parachutes or air bags which are
required to be readily available in case of any accident.
Virtual memory is almost never found in these systems.

Soft Real-Time Systems:


These OSs are for applications where for time-constraint
is less strict.
Advantages of RTOS:
Real-Time Operating Systems
Maximum Consumption: Maximum utilization of devices and
system,thus more output from all the resources
Task Shifting: Time assigned for shifting tasks in these systems are very
less. For example in older systems it takes about 10 micro seconds in
shifting one task to another and in latest systems it takes 3 micro seconds.
Focus on Application: Focus on running applications and less
importance to applications which are in queue.
Real time operating system in embedded system: Since size of
programs are small, RTOS can also be used in embedded systems like in
transport and others.
Error Free: These types of systems are error free.
Memory Allocation: Memory allocation is best managed in these type
of systems.
Disadvantages of RTOS:
Limited Tasks: Very few task run at the same time and their
concentration is very less on few applications to avoid errors.
Use heavy system resources: Sometimes the system
resources are not so good and they are expensive as well.
Complex Algorithms: The algorithms are very complex
and difficult for the designer to write on.
Device driver and interrupt signals: It needs specific
device drivers and interrupt signals to response earliest to
interrupts.
Thread Priority: It is not good to set thread priority as
these systems are very less pron to switching tasks.
Examples of Real-Time Operating Systems
are: Scientific experiments, medical imaging systems,
industrial control systems, weapon systems, robots, air
traffic control systems, etc.
Functions of Operating system –
Operating system performs three functions:

Convenience: An OS makes a computer more


convenient to use.
Efficiency: An OS allows the computer system
resources to be used in an efficient manner.
Ability to Evolve: An OS should be constructed in
such a way as to permit the effective development,
testing and introduction of new system functions
without at the same time interfering with service.
A distributed operating system is a software over a
collection of independent, networked,
communicating, and physically separate
computational nodes. ... Each individual node holds a
specific software subset of the global
aggregate operating system. Each subset is a
composite of two distinct service provisioners.
Interfaces
 Character (command line interface)
 Graphical User Interface (desktop icons and drop down
menus)

Types of Operating Systems


 Single-user, Single purpose
…...Only 1 user can use 1 program
 Single user, Multiprocess System
……Only 1 user can use more than 1 programs
 Multiuser, Multiprocess System
…...More than 1 user can use more than 1 programs
Multics (Multiplexed Information and Computing Service)
Brief History of MULTICS
Operating Systems
Introduction of UNIX
 In 1960’s Bell labs developed a large operating system MULTICS
(multi user multi process).
 In the same year they decided not to pursue on MILTICS as it was full of
problems.
 Programmers were pulled out but some lingered on there own.
 These programmers came up with an operating system which used to serve
only one person and do one task at a time, but was pretty good and they
named it as UNIX.
Virtual Machine
In the virtual machine approach, a virtual machine
software layer on the bare hardware of the machine
gives the illusion that all machine hardware (i.e.; the
processor, main memory, secondary storage, etc) is at
sole disposal of each user.
Advanced Operating system
1- Distributed operating system:
Operating system for network of autonomous computers connected by a
communication network.

2- Multiprocessor operating system:


More than one processor in a single computer system.

3- Database operating system:


A system that supports the concept of a transaction; operations to store, retrieve and
manipulate a large volume of data efficiently.
4 (a)- What is a real time system
-Systems where timeliness of response to user/external requests play a very
crucial role.
-They often referred to large, high powered, expensive systems.
-used in defence, medical equipment and industrial robots
-Fax machine, cameras, printers, wireless routers also fall mostly in real time
systems .
4 (b) What is embedded system?
-The system where programmable computing elements are embedded inside.
- An embedded system is said to be "real-time" when it is designed in order to
guarantee that real-time application requests will be served within deadlines

You might also like