Unit 1 Evolution of Os
Unit 1 Evolution of Os
functions
OS Objectives and functions
• OS is a layer of software whose job is to
manage all devices and provide user programs
with a simpler interface to the hardware
• Objectives of OS
– Convenience
– Efficiency
– Ability to evolve
Contents
• Serial processing
• Simple batch system
• Multiprogramming systems.
• Time sharing Systems
1.Serial processing
• No OS (late 1940-mid 1950)
• Direct interaction with computer hardware
• Programs in machine code were loaded via
the input device (e.g., a card reader).
• If an error halted the program, the error
condition was indicated by the lights. If the
program proceeded to a normal completion,
the output appeared on the printer.
Serial Processing
Drawbacks in Serial Processing
• Scheduling:
– Hardcopy sign up time to reserve computer time
– Either processing time is wasted or user is unable to complete
within the stipulated time period
• Set up time: A single program, (job) could involve loading the
compiler into memory, saving the compiled program (object
program) and then loading and linking together the object
program and common functions.
– Each of these steps could involve mounting or dismounting
tapes or setting up card decks.
– If an error occurred, then the entire sequence had to be
repeated. This resulted in time wastage.
2.Simple Batch system
• To improve processor utilization the concept of
batch system was introduced
• Developed in mid 1950s by General Motors
• In these systems a type of OS called monitors were
used.
• The users submit their job in the form of cards to the
computer operator
• The computer operators sequentially places the
entire job in the input device for use by the monitor
IBM 701
IBM 704
Memory layout by a resident
monitor
Monitor point of view
• A portion of monitor resides in the main memory
(resident monitor)
• The remaining portion resides in the utilities and
subroutine
• The resident monitor reads in the job from the input
device
• As it reads, it places the current job in the user area and
control is passed on to this job
• When job is completed it returns control to the monitor
• The results of job is send to output device
Processor point of view
• The processor is getting instructions either
from the resident monitor or is executing
instructions from the user area
• Once a job in the user area is completed the
control is passed to monitor which gives
instruction for executing the next job
• JCL(Job Control Language) is the language
used of providing instructions to the monitor
batch OS
H/W features desirable for Batch
OS
• Timer
• Memory protection Modes of
• Privileged instructions operation
• *Interrupts
User Kernel
Mode Mode
Advantages of Batch OS
1.Computer utilization increased
Disadvantages of Batch OS
1. Increased overhead- Some memory and processor time is given to the monitor
3.MULTIPROGRAMMING
• Multiprogramming means executing multiple programs at the
same time with the help of a single processor.
• In this multiple processes can exist in the main memory
simultaneously.
• In multiprogramming, the OS chooses one of the jobs from the
main memory and execute it.
Multiprogramming(Contd..)
Types of
Multiprogramming
Operating System
• Multitasking Operating System
• Multiuser Operating System
1. Multitasking
Operating System
• A multitasking operating system is capable of executing several programs
simultaneously.
• The operating system achieves this by swapping each program in and out
of memory, one at a time.
• When a program is brought out of memory, it is saved for a while on
secondary memory until it is needed again.
2. Multiuser Operating
System
• A multi-user operating system enables several users to share processing
time on one powerful central computer through different terminals.
• The operating system achieves this by quickly switching among different
terminals.
• Each of these terminals receives a limited amount of processor time on the
powerful core computer.
• The operating system switches among these terminals so rapidly that each
user would seem to be having consistent access to the powerful core
computer.
Multiuser Operating
System
Advantages of Multiprogramming Operating
System
1. The processor is utilized most of the time and rarely becomes idle
unless there are no jobs to execute.
2. The system is fast because all the jobs run parallel amongst
themselves.
3. Jobs that would require CPU for a short duration are finished earlier
in comparison to those with long CPU requirement time.
4. Multiprogramming OS supports multiple users on the computer
system.
5. Resources utilization is efficient and even.
6. Total time required to execute a job reduced.
7. Multiprogramming OS is good at dealing with applications in which
multiple jobs are to be executed.
Disadvantages of Multiprogramming