0% found this document useful (0 votes)
145 views

Introduction Components Evolution and TYPES of OS

The document provides an introduction to operating systems. It discusses what an operating system is, what operating systems do, the structure and components of operating systems including hardware, software, system programs and application programs. It also covers the evolution of operating systems from batch processing to time-sharing systems and the different types of operating systems like single-user and multi-user systems. Main functions of operating systems and basic terminologies are also introduced.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
145 views

Introduction Components Evolution and TYPES of OS

The document provides an introduction to operating systems. It discusses what an operating system is, what operating systems do, the structure and components of operating systems including hardware, software, system programs and application programs. It also covers the evolution of operating systems from batch processing to time-sharing systems and the different types of operating systems like single-user and multi-user systems. Main functions of operating systems and basic terminologies are also introduced.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 53

Contents

Today's Topic: Introduction to Operating Systems

We will learn
1. What is Operating System?
2. What OS does?
3. Structure of OS
4. Evolution of OS
 Batch Processing, Multiprogramming, Time sharing
systems
5. Operating System Functions
6. Main Functions of OS
7. Types of OS
 Single User, Multi User systems
Operating Systems
What is OS?
• Operating System is a software, which makes a computer to
actually work.

• It is the software that enables all the programs we use.

• The OS organizes and controls the hardware.

• OS acts as an interface between the application programs and


the machine hardware.

• Examples: Windows, Linux, Unix and Mac OS, etc.,


Operating System Definitions

• Resource allocator – manages and allocates


resources.
• Control program – controls the execution of user
programs and operations of I/O devices .
• Kernel – the one program running at all times (all
else being application programs).

Operating System Concepts


What OS does?
An operating system performs basic tasks such as,

• controlling and allocating memory,


• prioritizing system requests,
• controlling input and output devices,
• facilitating networking and
• managing file systems.
Components of Operating System

Application Programs

System Programs

Software (Operating System)

HARDWARE
Components of Operating System
The structure of OS consists of 4 layers:

1. Hardware
The hardware—the central processing unit (CPU), the memory, and
the input/output (I/O) devices—provides the basic computing
resources for the system.

2. Software (Operating System)


The operating system controls and coordinates the use of the
hardware among the various application programs for the
various users.
Components of Operating System

3. System programs
This layer consists of compilers, Assemblers, linker etc.

4. Application programs
The application programs—such as word processors,
spreadsheets, compilers, and web browsers—define the
ways in which these resources are used to solve users'
computing problems.
• We can also view a computer system as consisting of
hardware, software, and data.

• The operating system provides the means for proper use of


these resources in the operation of the computer system.

• An operating system is similar to a government. Like a


government, it performs no useful function by itself. It
simply provides an environment within which other
programs can do useful work.
Abstract View of System Components

Operating System Concepts


Basic Terminologies used

• Kernel
• Shell
• System Calls
Viewpoints of OS
USER VIEW:
The user's view of the computer varies according to the interface being
used.

Most computer users sit in front of a PC, consisting of a monitor, keyboard, mouse, and
system unit. Such a system is designed for one user to monopolize its resources.

The goal is to maximize the work (or play)that the user is performing.

In this case, the operating system is designed mostly for ease of use, with some
attention paid to performance and none paid to resource utilization— how various
hardware and software resources are shared.

Performance is, of course, important to the user; but rather than resource utilization,
such systems are optimized for the single-user experience.
In other cases, a user sits at a terminal connected to a mainframe or
minicomputer. Other users are accessing the same computer through other
terminals. These users share resources and may exchange information.

The operating system in such cases is designed to maximize resource


utilization— to assure that all available CPU time, memory, and I/O are used
efficiently and that no individual user takes more than her fair share.

In still other cases, users sit at workstations connected to networks of other


workstations and servers. These users have dedicated resources at their
disposal, but they also share resources such as networking and servers—file,
compute, and print servers. Therefore, their operating system is designed to
compromise between individual usability and resource utilization.
System View
• From the computer's point of view, the operating system is the program
most intimately involved with the hardware.

• In this context, we can view an operating system as a resource allocator.

• A computer system has many resources that may be required to solve a problem:
CPU time, memory space, file-storage space, I/O devices, and so on.

• The operating system acts as the manager of these resources.

• A slightly different view of an operating system emphasizes the need to control


the various I/O devices and user programs. An operating system is a control
program.

• A control program manages the execution of user programs to prevent errors


and improper use of the computer. It is especially concerned with the operation
and control of I/O devices.
Evolution of OS
The evolution of operating systems went through seven major
phases.

•Six of them significantly changed the ways in which users


accessed computers through the open shop, batch processing,
multiprogramming, timesharing, personal computing, and
distributed systems.

•In the seventh phase the foundations of concurrent


programming were developed and demonstrated in model
operating systems.
(Contd…)
Evolution of OS (contd..):
Major Technical Operating
Phases Innovations Systems
The idea of OS IBM 701 open shop
Open Shop (1954)

Tape batching, BKS system (1961)


Batch
First-in, first-out
Processing scheduling.
Processor multiplexing, Atlas supervisor
Multi- Indivisible operations, (1961),
programming Demand paging, Exec II system (1966)
Input/output spooling,
Priority scheduling,
Remote job entry

(Contd…)
Evolution of OS (contd..):
Simultaneous user Multics file system
Timesharing interaction, (1965),
On-line file systems Unix (1974)
Hierarchical systems, RC 4000 system (1969),
Concurrent Extensible kernels, 13 Venus system
Programming Parallel programming (1972),
concepts, Secure parallel
14 Boss 2 system
languages
(1975).
Graphic user interfaces OS 6 (1972)
Personal
Pilot system (1980)
Computing
Remote servers WFS file server (1979)
Distributed Unix United RPC (1982)
Systems 24 Amoeba system
(1990)
Open Shop OS
• Each user was allocated a block of time to load
and run his/her program, which was input from
punch cards. 
• Debugging consisted of inspecting the internal
machine states and patching them directly. 
• Device drivers (device-specific routines),
functions, compilers, and assemblers had to be
explicitly loaded.
Batch Operating Systems
• In Batch Processing Systems, similar types of jobs (comprising of the
program, the data, & some control information) are firstly prepared and
they are Stored on the Card and that card will be Submit to the System for
the Processing.
• The System then Perform all the Operations on the Instructions one by
one and a user can’t be able to specify any input.
•  Operating System wills increments the Program Counter for Executing the
Next Instruction.
• Operating System will use the LOAD and RUN Operation. This will first
LOAD the Job from the Card and after that he will execute the
instructions by using the RUN Command. 
• Common input devices were card readers and tape drives.
• Common output devices were line printers, tape drives, and card punches.
Batch Operating Systems
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.

The problems with Batch Systems are as follows:

• Lack of interaction between the user and the job. If a job requires any type of Input
then this will not be Possible for the user.
• Time will be wasted for Preparing the Batch.
• CPU is often idle, because the speed of the mechanical I/O devices is slower than
the CPU.
• Difficult to provide the desired priority.
Batch Processing (Contd…):

OS

User
program
area
Example
• An example of batch processing is the way that credit card
companies process billing. The customer does not receive a bill
for each separate credit card purchase but one monthly bill for
all of that month’s purchases. The bill is created through batch
processing, where all of the data are collected and held until
the bill is processed as a batch at the end of the billing cycle.
• In banking industry, batches of deposited checks are
accumulated and processed on a daily basis.
Multiprogramming:
• Multiprogramming is a technique to execute number of
programs simultaneously by a single processor.
• In Multiprogramming, number of processes reside in main
memory at a time.
• The OS picks and begins to executes one of the jobs in the
main memory.
• If any I/O wait happened in a process, then CPU switches
from that job to another job.
• Hence CPU in not idle at any time.
Multiprogramming (Contd…):
OS • Figuredipicts the layout of
multiprogramming system.
Job 1
• The main memory consists of 5
Job 2 jobs at a time, the CPU executes
one by one.
Job 3
Advantages:
Job 4 •Efficient memory utilization

Job 5 •Throughput increases


•CPU is never idle, so
performance increases.
Time Sharing Systems:
• A time sharing system allows the many users to simultaneously
share the computer resources 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.
• Multiple jobs are executed by switching the CPU between them.
• In this, the CPU time is shared by different processes, so it is
called as “Time sharing Systems”.
• Time slice is defined by the OS, for sharing CPU time between
processes.
• Examples: Multics, Unix, etc.,
• The main difference between Multiprogrammed Batch Systems and Time-Sharing
Systems is that in case of Multiprogrammed batch systems, the objective is to
maximize processor use, whereas in Time-Sharing Systems, the objective is to
minimize response time.

• Multiple jobs are executed by the CPU by switching between them, but the
switches occur so frequently. Thus, the user can receive an immediate response.

• For example, in a transaction processing, the processor executes each user


program in a short burst or quantum of computation. That is, if n users are
present, then each user can get a time quantum. When the user submits the
command, the response time is in few seconds at most.
Advantages of Timesharing operating systems
are as follows:
•Provides the advantage of quick response
•Avoids duplication of software
•Reduces CPU idle time
Disadvantages of Time-sharing operating
systems are as follows:
• Problem of reliability
• Question of security and integrity of user
programs and data
• Problem of data communication
Example
• Bank’s bankcard system, which allows
hundreds of people to access the same
program on the mainframe at the same time.

• Watching a movie while downloading a song


Concurrent Programming
•  In concurrent programming, complex
problem are broken into several simultaneous
executing processes that can be addressed
individually. 
Distributed Systems
• Distributed Means Data is Stored and on to
the Multiple Computers which are placed in
Different Locations. Then if we want to Take
Some Data From other Computer then we use
the Distributed Processing System.
Distributed Systems
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.
Distributed Systems
• Distribute the computation among several
physical processors.
• Loosely coupled system – each processor has its
own local memory; processors communicate with
one another through various communications
lines, such as high-speed buses or telephone lines.
• Advantages of distributed systems.
– Resources Sharing
– Computation speed up – load sharing
– Reliability
– Communications

Operating System Concepts


Distributed Systems (cont)
• Requires networking infrastructure.
• Local area networks (LAN) or Wide
area networks (WAN)
• May be either client-server or peer-to-
peer systems.

Operating System Concepts


The advantages of distributed systems are as follows:

• With resource sharing facility, a user at one site may be able to use the resources
available at another.

• Speedup the exchange of data with one another via electronic mail.

• If one site fails in a distributed system, the remaining sites can potentially continue operating.

• Better service to the customers.

• Reduction of the load on the host computer.

• Reduction of delays in data processing.


Other Types of OS
• Mainframe Systems
• Desktop Systems
• Multiprocessor Systems
• Distributed Systems
• Clustered System
• Real -Time Systems
• Handheld Systems
• Single user
• Multiple user

Operating System Concepts


Desktop Systems
• Personal computers – computer system
dedicated to a single user.
• I/O devices – keyboards, mice, display
screens, small printers.
• User convenience and responsiveness.
• Can adopt technology developed for larger
operating system’ often individuals have sole
use of computer and do not need advanced
CPU utilization of protection features.
• May run several different types of operating
systems (Windows, MacOS, UNIX, Linux)

Operating System Concepts


Parallel Systems
• Multiprocessor systems with more than one CPU
in close communication.
• Tightly coupled system – processors share
memory and a clock; communication usually
takes place through the shared memory.
• Advantages of parallel system:
– Increased throughput
– Economical
– Increased reliability
• graceful degradation
• fail-soft systems

Operating System Concepts


Parallel Systems (Cont.)
• 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

Operating System Concepts


Symmetric Multiprocessing Architecture

Operating System Concepts


General Structure of Client-Server

Operating System Concepts


Clustered Systems
• Clustering allows two or more systems to
share storage.
• Provides high reliability.
• Asymmetric clustering: one server runs the
application while other servers standby.
• Symmetric clustering: all N hosts are running
the application.

Operating System Concepts


Real-Time Systems
• 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.

• 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.

Operating System Concepts


• Real Time System is used at those Places in which we Requires higher and Timely
Response. These Types of Systems are used in Reservation. So when we specify
the Request, the CPU will perform at that Time. There are two Types of Real Time
System
• 1)   Hard Real Time System: In the Hard Real Time System, Time is fixed and we
can’t Change any Moments of the Time of Processing. Means CPU will Process the
data as we Enters the Data.
• 2)   Soft Real Time System: In the Soft Real Time System, some Moments can be
Change. Means after giving the Command to the CPU, CPU Performs the Operation
after a Microsecond.
Real-Time Systems (Cont.)
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.

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.
•Soft real-time systems have limited utility than hard real-time
systems. For example, multimedia, virtual reality, Advanced Scientific
Projects like undersea exploration and planetary rovers, etc.

Operating System Concepts


Handheld Systems
• Personal Digital Assistants (PDAs)
• Cellular telephones
• Issues:
– Limited memory
– Slow processors
– Small display screens.

Operating System Concepts


Single user
• Single User Systems: Provides a platform for
only one user at a time. They are popularly
associated with Desk Top operating system
which run on standalone systems where no
user accounts are required. Example: DOS
Multiple user
• Multi-User Systems: Provides regulated access
for a number of users by maintaining a
database of known users. Refers to computer
systems that support two or more
simultaneous users. Another term for multi-
user is time sharing. Ex: All mainframes and
are multi-user systems. Example: Unix
Migration of Operating-System Concepts and Features

Operating System Concepts


Basic Terminologies used

• Open Shop OS
• Punch Cards
Operating Systems functions:
The main functions of operating systems are:

1. Program creation
2. Program execution
3. Input/Output operations
4. Error detection
5. Resource allocation
6. Accounting
7. protection

You might also like