0% found this document useful (0 votes)
53 views32 pages

Chapter 8 OS Suport

The document discusses operating system support and concepts such as scheduling, memory management, and different types of operating systems. It covers the evolution from simple batch systems to modern complex systems and explains long, medium, and short term scheduling. It also discusses memory partitioning techniques such as fixed, variable, and dynamic partitioning used to allocate memory to processes.

Uploaded by

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

Chapter 8 OS Suport

The document discusses operating system support and concepts such as scheduling, memory management, and different types of operating systems. It covers the evolution from simple batch systems to modern complex systems and explains long, medium, and short term scheduling. It also discusses memory partitioning techniques such as fixed, variable, and dynamic partitioning used to allocate memory to processes.

Uploaded by

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

Computer Organization and Architecture

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

• Note: Memory size


- 16 bits  64K memory addresses
- 24 bits  16M memory addresses
- 32 bits  4G memory addresses
Swapping
• Problem: I/O is so slow compared with CPU that even in multi-
programming system, CPU can be idle most of the time

• 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

But swapping is an I/O process…


Isn’t I/O slow?
So why does swapping make sense ?
Use of Swapping
Partitioning
• Partitioning:
May not be equal size Splitting memory into
sections to allocate to processes
(including Operating System!)
• Fixed-sized partitions
• Potentially a lot of wasted memory
• Variable-sized partitions
• Process is fitted into smallest hole that it will fit in
• Dynamic partitions
• no room for additional memory allocation
• memory leak – need periodic coalescing, or
– need periodic compaction
Fixed Partitioning
Effect of Dynamic Partitioning
Relocation Challenges
• Can’t expect that process will load into the same place in memory
• Instructions contain addresses
• Locations of data
• Addresses for instructions (branching)
• Logical address - relative to beginning of program
• Physical address - actual location in memory (this time)

Solution:
• Use Base Address & Automatic (hardware) conversion

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy