0% found this document useful (0 votes)
16 views18 pages

Lecture # 03

The document discusses the evolution of operating systems from early serial processing systems with no OS to modern time-sharing systems. It begins with serial processing where the programmer directly interacted with hardware. Early batch systems used a monitor to process multiple jobs sequentially to improve utilization. Multiprogrammed batch systems allowed multiple jobs to reside in memory simultaneously, improving CPU usage during I/O wait times. Time-sharing systems further evolved to allow interactive use by multiple users at once through terminal access and rapid task switching between jobs.

Uploaded by

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

Lecture # 03

The document discusses the evolution of operating systems from early serial processing systems with no OS to modern time-sharing systems. It begins with serial processing where the programmer directly interacted with hardware. Early batch systems used a monitor to process multiple jobs sequentially to improve utilization. Multiprogrammed batch systems allowed multiple jobs to reside in memory simultaneously, improving CPU usage during I/O wait times. Time-sharing systems further evolved to allow interactive use by multiple users at once through terminal access and rapid task switching between jobs.

Uploaded by

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

THE EVOLUTION OF OPERATING SYSTEMS

THE EVOLUTION OF OPERATING


SYSTEMS

– Serial Processing
– Simple Batch Systems
– Multiprogrammed batch systems
– Time Sharing Systems

2 Dr. Bushra Naz


Serial Processing

• With the earliest computers (late 1940s to the mid-1950s), the


programmer interacted directly with the computer hardware;
• There was no OS.
• These computers were run from a console consisting of
display lights, toggle switches, some form of input device, and
a printer.
• 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
3 Dr. Bushra Naz
Evaluation of Operating Systems

• It all started with computer hardware in about


1940s.

ENIAC 1943
4 Dr. Bushra Naz
Two main problems:
Scheduling:
• Most installations used a hardcopy sign-up sheet to reserve computer
time.
• A user might sign up for an hour and finish in 45 minutes; this would result
in wasted computer processing time.
• On the other hand, the user might run into problems, not finish in the
allotted time, and be forced to stop before resolving the problem.

Setup time:
• A single program, called a job, could involve loading ,linking and saving
• Each steps could involve mounting or dismounting tapes or setting up card
decks.
• If an error occurred, the user typically had to go back to the beginning of
the setup sequence.
• Thus, a considerable amount of time was spent just in setting up the
program to run
Simple batch system
• Early computers were extremely expensive
– Important to maximize processor utilization
• To improve utilization, the concept of a batch operating system
(use of a piece of software known as the monitor)was
developed
• With this type of OS, the user no longer has direct access to the
processor.
• Instead, the user submits the job on cards or tape to a
computer operator, who batches the jobs together
sequentially and places the entire batch on an input device,
for use by the monitor.
• Each program is constructed to branch back to the monitor
when it completes processing, at which point the monitor
automatically begins loading the next program.
• To understand this scheme: 2 view
• Monitor point of view
• Processor point of view
Monitor point of view
• The monitor controls the sequence of events.
• Much of the monitor must always be in main memory and available
for execution -> resident monitor.
• The rest of the monitor consists of utilities and common functions
that are loaded as subroutines to the user program at the beginning of
any job that requires them.
• The monitor reads in jobs one at a time from the input device
• As it is read in, the current job is placed in the user program area, and
control is passed to this job.
• When the job is completed, it returns control to the monitor, which
immediately reads in the next job.
• The results of each job are sent to an output device, such as a printer,
for delivery to the user.
Processor point of view:

•At a certain point, the processor is executing instructions from


the portion of main memory containing the monitor.
•These instructions cause the next job to be read into another
portion of main memory.
•Once a job has been read in, the processor will encounter a
branch instruction in the monitor that instructs the processor to
continue execution at the start of the user program.
•The processor will then execute the instructions in the user
program until it encounters an ending or error condition.
Job Control Language(JCL)
• Special type of programming language to
control jobs
• Provides instruction to the monitor
– What compiler to use
– What data to use
• The monitor, or batch operating system, is
simply a computer program.
• It relies on the ability of the processor
Certain other hardware features are also
desirable
• Memory protection for monitor
– Jobs cannot overwrite or alter
• Timer
– Prevent a job from monopolizing system
• Privileged instructions
– Only executed by the monitor
– Eg:I/O instructions
• Interrupts
– This feature gives the OS more flexibility in relinquishing
control to and regaining control from user programs.
Multiprogrammed Batch Systems
• CPU is often idle
– Even with automatic job sequencing.
– I/O devices are slow compared to processor

• computer spends over 96% of its time waiting for I/O devices to
finish transferring data to and from the file
• Uniprogramming: Processor must wait for I/O instruction to
complete before preceding

• Multiprogramming: When one job needs to wait for


I/O, the processor can switch to the other job
Multiprogramming, Or Multitasking

•It is the central theme of modern operating systems.


Multiprogramming and
Multiprocessing
Time Sharing Systems(Multi tasking)
• Multiprogramming handle multiple interactive jobs
• Processor’s time is shared among multiple users
• Multiple users simultaneously access the system
through terminals
Batch Multiprogramming vs. Time Sharing
(Both batch processing and time sharing use multiprogramming)
Operating system structure

• Multiprogramming (Batch system)


• Timesharing (multitasking)

You might also like