Introduction Components Evolution and TYPES of OS
Introduction Components Evolution and TYPES of OS
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.
Application Programs
System Programs
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.
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.
• 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.
• 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.
(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.
• 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
• 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.
• 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.
• 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.
• 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