2. Lecture Contents
Lecture 1: Operating System Objectives and Functions
Lecture 2: The Evolution of Operating System
Lecture 3: Major Achievements
Lecture 4: Developments Leading to Modern Operating Systems
FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
3. Lecture 2: The Evolution of an Operating System
FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Serial Processing
Simple Batch Systems
Multiprogrammed Batch Systems
Time Sharing Systems
4. Learning Objectives
FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
To discuss the evolution of operating system for early simple batch system to
modern complex system
To understand the simple batch system, multiprogrammed batch system for
processing of their work
To know the time sharing system, parallel and distributed system
5. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
A major OS will evolve over time for a number of reasons:
Hardware upgrades plus new types of hardware
New services
Fixes
Evolution of an Operating Systems
6. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Evolution of an Operating Systems
Serial
Processing
Simple Batch
Systems
Multiprogramme
d Batch Systems
Time Sharing
Systems
7. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Serial Processing
Earliest Computers:
No OS: the programmers interacted directly with the computer hardware.
Computers ran from a console consisting of display lights, toggle switches,
some form of input device, and printer.
Users have access to the computer in series.
Scheduling
Most installations used a
hardcopy sign-up sheet to
reserve computer time.
Setup time
A considerable amount of time
was spent just in setting up the
program to run.
Problems:
8. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Simple Batch Systems
Early computers were very expensive, it was important to maximize processor
utilization.
Monitor is the central idea behind the simple batch-processing scheme.
The user no longer has direct access to the processor
Job is submitted to computer operator who batches the jobs together and
places the enitire batch on an input device.
Each program is constructed to branch back to the monitor when it
completes processing.
9. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Simple Batch Systems
Monitor point of view:
Monitor controls the sequence of events
Much of monitor must always be in main memory and
available for execution, resident monitor.
Monitor reads in jobs one at a time and gives control.
Job returns control to the monitor after complete.
Interrupt
processing
Device drivers
Job sequencing
Control language
interpreter
User program
area
Monitor
Boundary
Figure 2.3 Memory layout for a Resident Monitor
10. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Simple Batch Systems
Processor point of view:
Processor executes instruction from the memory containing the monitor
Executes the instructions in the user program until it encounters an ending or
error condition
Control is passed to a job means processor is fetching and executing
instructions in a user program
Control is returned to the monitor means that the processor is fetching
and executing instructions from the monitor program
11. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Simple Batch Systems
A special type of programming language used to provide instructions to the monitor
What compiler to use
What data to use
Memory protection
While the user program is executing, it must
not alter the memory area containing the
monitor
Timer
Prevents a job from monopolizing the system
Privileged instructions
Can only be executed by the monitor
Interrupts
Gives OS more flexibility in controlling
user programs
Desirable Hardware Features:
Job Control Language (JCL)
12. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Simple Batch Systems
Modes of Operation
User program executes in user mode
Certain areas of memory are protected from user access
Certain instructions may not be executed
User Mode
Monitor executes in kernel mode
Privileged instructions may be executed
Protected areas of memory may be accessed
Kernel Mode
13. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Multiprogrammed Batch Systems
Processor is often idle
Even with automatic job sequencing
I/O devices are slow compared to processor
Uniprogramming
The processor spends a certain amount of time executing, until it reaches an I/O
instruction; it must then wait until that I/O instruction concludes before proceeding.
Run Run
Wait Wait
Program A
Time
Figure 2.5 (a) Uniprogramming
14. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Multiprogrammed Batch Systems
Multiprogramming
It is also known as multitasking
There must be enough memory to hold the OS (resident monitor) and one user program.
When one job needs to wait for I/O, the processor can switch to the other job, which is likely
not waiting for I/O.
Figure 2.5 (b) Multiprogramming
with two programs
Wait
Run Run
Wait Wait
Program B
Run Run
Wait Wait
Program A
Run
A
Run
A
Wait Wait
Combined
Time
Run
B
Run
B
15. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Multiprogrammed Batch Systems
Example
Table 2.1 Sample Program Executiton Attributes
JOB1 JOB2 JOB3
Type of job
Duration
Memory required
Need disk?
Need terminal?
Need printer?
Heavy compute
5 min
50M
No
No
No
Heavy I/O
15 min
100 M
No
Yes
No
Heavy I/O
10 min
75 M
Yes
No
Yes
16. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Multiprogrammed Batch Systems
Effects of Multiprogramming on Resource Utilization
Table 2.2 Effects of Multiprogramming on Resource Utilization
Uniprogramming Multiprogramming
Processor use
Memory use
Disk use
Printer use
Elapsed time
Throughput
Mean response time
20%
33%
33%
33%
30 min
6 jobs/hr
18 min
40%
67%
67%
67%
15 min
12 jobs/hr
10 min
17. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Time Sharing Systems
It can be used to handle multiple interactive jobs
Processor time is shared among multiple users
Multiple users simultaneously access the system through terminals, with the OS
interleaving the execution of each user program in a short burst or quantum of
computation.
18. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Time Sharing Systems
Batch Multiprogramming versus Time Sharing
Table 2.3 Batch Multiprogramming versus Time Sharing
Batch Multiprogramming Time Sharing
Principal objective Maximize processor use Minimize response time
Source of directives to
operating system
Job control language commands
provided with the job
Commands entered at the
terminal
19. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Time Sharing Systems
Compatible Time-Sharing System
Time Slicing
System clock generates interrupts at a rate of
approximately one every 0.2 second
At each interrupt OS regained control and could assign
processor to another user
At regular time intervals the curent user would be
preempted and another user loaded in
Old user programs and data were written out to disk
Old user program code and data were restored in main
memory when that program was next given a turn.
CTSS
One of the first time sharing OS
Developed at MIT by a group know as Project MAC
Ran on a computer with 32,000 36 bit words of
main memory, with the resident monitor consuming
5000 of that
To simplify both the monitor and memory
management a program was always loaded to start
at the location of the 5000th word
20. FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
Summary
In this lecture, you learned about
Serial processing, simple batch system, multiprogrammed batch system, time
sharing system
The difference between multiprogramming and time sharing
21. Learning Outcomes
FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
After the end of the lecture, the students will be able to:
know advantages and disadvantages of serial processing, simple batch
system, multiprogrammed batch systems, and time sharing systems
Understand the monitor point of view and the processor point of view in
simple batch system
Know the Uniprogramming and Multiprogramming in Multiprogrammed
Batch system
22. References
FACULTY OF COMPUTER SCIENCE, UNIVERSITY OF COMPUTER STUDIES
1. “Operating Systems, internal and Design Principles” by William
Stallings, 7th Edition, ISBN 13: 978-13-230998-1.