Chapter 8 OS Suport
Chapter 8 OS Suport
Chapter 8
Operating System Support
LEARNING OBJECTIVES
• Discuss the evolution of operating systems for early simple batch systems to
modern complex systems.
• Explain the differences among long-, medium-, and short-term scheduling.
• Understand the reason for memory partitioning and explain the various
techniques that are used.
• Convenience Functions:
• Making the
• Managing
computer easier to
use Resources
• Efficiency • Scheduling
Objectives Processes (or
• Allowing better use
of Operating of computer tasks)
System resources • Managing
Memory
Layers and
Views of a
Computer
System
• Program creation
Operating • Program execution
System •
•
Access to I/O devices
Controlled access to files
Services • System access
include •
•
Error detection and response
Accounting
O/S as a
Resource
Manager
Interactive
Batch
Types of
Operating Single program (Uni-programming)
System
Multi-programming (Multi-tasking)
Real-Time
• Resident Monitor program
• Users submit jobs to operator
• Operator batches jobs
Simple • Monitor controls sequence of events to
Batch process batch
Systems • When one job is finished, control returns to
Monitor which reads next job
• Monitor handles scheduling
Memory Layout
for Resident
Monitor
Job Control Language
• Instructions to Monitor
• May be denoted by $
• e.g.
• $JOB
• $FTN
• ... High Level Language Program
(Fortran, COBOL, . . . )
• $LOAD
• $RUN
• ... Application Data for program
• $END
• Memory protection
• To protect the Monitor
• Timer
• To prevent a job monopolizing the
system
Desirable Hardware • Privileged instructions
Features • Only executed by Monitor
• e.g. I/O
• Interrupts
• Allows for relinquishing and
regaining control
I/O devices are very slow
Multi-
programmed Waiting is inefficient use of
Batch computer
Systems
When one program is waiting
for I/O, another can use the CPU
Uni-programmed System
Multi-
Programming
with Three
Programs
Sample Program Mix
Utilization: Uni-programmed vs Multi-programmed
Multiprogramming Resource Utilization
Some Types of Systems
• Uniprogramming - One user at a time uses the computer
• Time Sharing - Allow users to interact directly with the
computer
• i.e. Interactive
• Multi-programming - Allows a number of users to interact with
the computer
Types of Scheduling
Five State Process Model
Process Control Block
Scheduling Sequence Example
Key Elements of O/S
Process Scheduling
Memory Management
• Uni-programming
• Memory split into two
• One for Operating System (monitor)
• One for currently executing program
• Multi-programming
• “User” part is sub-divided and shared among active processes
• Solutions:
• Increase main memory
• Expensive
• Swapping
What is Swapping?
• Long term queue of processes stored on disk
• Processes “swapped” in as space becomes available
• As a process completes it is moved out of main memory
• If none of the processes in memory are ready (i.e. all I/O
blocked)
• Swap out a blocked process to intermediate queue
• Swap in a ready process or a new process
Solution:
• Use Base Address & Automatic (hardware) conversion