[go: up one dir, main page]

0% found this document useful (0 votes)
873 views43 pages

Chapter 8 - Operating System Support

The chapter discusses operating system support functions including scheduling, memory management, and operating system overview. It describes how operating systems evolved from early batch systems to modern complex time-sharing systems. It discusses the key functions of an operating system in providing interfaces between users/programs and computer resources while managing those resources efficiently through techniques like scheduling and memory partitioning. Scheduling involves managing processes at long, medium, and short term levels to optimize processor utilization and response time.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
873 views43 pages

Chapter 8 - Operating System Support

The chapter discusses operating system support functions including scheduling, memory management, and operating system overview. It describes how operating systems evolved from early batch systems to modern complex time-sharing systems. It discusses the key functions of an operating system in providing interfaces between users/programs and computer resources while managing those resources efficiently through techniques like scheduling and memory partitioning. Scheduling involves managing processes at long, medium, and short term levels to optimize processor utilization and response time.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

+

Chapter 8 Operating System


Support
William Stallings, Computer Organization and Architecture, 9th Edition
+
Objectives
 How can a computer be made more convenient to use?
 How are computer system resources used in an efficient
manner?
 After studying this chapter, you should be able to:
 Summarize, at a top level, the key functions of an operating
system (OS).
 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.
 Assess the relative advantages of paging and
segmentation.
 Define virtual memory.
+
Contents

8.1 Operating System Overview


8.2 Scheduling
8.3 Memory Management
+ 8.1- Operating System Overview

 The Operating System as a


User/Computer Interface
 The Operating System as Resource
Manager
 Types of Operating Systems
The Operating System as
User/Computer Interface
+ Operating System (OS) Services
 The most important system program

 Masksthe details of the hardware from the


programmer and provides the programmer with a
convenient interface for using the system

 TheOS typically provides services in the following


areas:
 Program creation
 Program execution
 Access to I/O devices
 Controlled access to files
 System access
 Error detection and response
 Accounting
+ Interfaces
Key interfaces in a typical computer system:

Application
Instruction Set Application Binary
Programming
Architecture (ISA) Interface (ABI)
Interface (API)

Gives a program
Defines the machine Defines a standard access to the
language for binary hardware
instructions that a portability across resources and
computer can follow programs services available
in a system through
the user ISA
supplemented with
Defines the system high-level
Boundary between call interface to the language (HLL)
hardware and operating system library calls
software and the hardware
resources and
services available in Using an API
a system through the enables application
user ISA software to be
ported easily to
other systems that
support the same
API
+ Operating System
as
Resource Manager
A computer is a set of resources for the movement,
storage, and processing of data and for the control of
these functions
 The OS is responsible for managing these resources

The OS as a control mechanism is unusual in two


respects:
 The OS functions in the same way as ordinary
computer software – it is a program executed by the
processor
 The OS frequently relinquishes (buông thả) control
and must depend on the processor to allow it to
regain control
The OS as Resource Manager
+
Types of Operating Systems

 Interactive system
 The user/programmer interacts directly with the computer
to request the execution of a job or to perform a transaction
 User may, depending on the nature of the application,
communicate with the computer during the execution of
the job

 Batch system
 Opposite of interactive
 The user’s program is batched together with programs
from other users and submitted by a computer operator
 After the program is completed results are printed out for
the user
+
Early Systems
 From the late 1940s to the mid-1950s the
programmer interacted directly with the computer
hardware – there was no OS
 Processors were run from a console consisting of display lights, toggle
switches, some form of input device and a printer

 Problems:
 Scheduling
 Sign-up sheets (bản đăng ký)were used to reserve processor time
 This could result in wasted computer idle time if the user finished
early
 If problems occurred the user could be forced to stop before
resolving the problem
 Setup time
 A single program could involve
 Loading the compiler plus the source program into memory
 Saving the compiled program
 Loading and linking together the object program and common
functions
+Simple Batch
System:

Memory
Layout
for a
Resident
Monitor
+
From the View of the Processor . . .

 Processor
executes instructions from the portion of
main memory containing the monitor
 These instructions cause the next job to be read in
another portion of main memory
 The processor executes the instruction in the user’s
program until it encounters an ending or error condition
 Either event causes the processor to fetch its next
instruction from the monitor program
 The monitor handles setup and scheduling
 A batch of jobs is queued up and executed as rapidly as
possible with no idle time
 Job control language (JCL)
 Special type of programming language used to provide
instructions to the monitor
+
From the View of the Processor . . .
 Example:
 $JOB **Each FORTRAN instruction and
each item of data is on a separate
 $FTN
punched card or a separate
 ... Some Fortran instructions record on tape. In addition to
FORTRAN and data lines, the job
 $LOAD includes job control instructions,
 $RUN which are
denoted by the beginning “$”.
 ... Some data

 $END

 Monitor, or batch OS, is simply a computer program


 It relies on the ability of the processor to fetch instructions
from various portions of main memory in order to seize
(nắm lấy) and relinquish (từ bỏ) control alternately
+ Desirable Hardware Features

 Memory protection  Privileged instructions


 User program must not alter the  Lệnh đặc biệt, nhạy cảm
memory area containing the
 Can only be executed by the
monitor monitor
 The processor hardware should  If the processor encounters such an
detect an error and transfer instruction while executing a user
control to the monitor program an error interrupt occurs
 The monitor aborts the job, prints  I/O instructions are privileged so
an error message, and loads the the monitor retains control of all I/O
next job devices
 Timer  Interrupts
 Used to prevent a job from
 Gives the OS more flexibility in
monopolizing (độc chiếm)
the system relinquishing control to and
regaining control from user
 If the timer expires an
interrupt occurs and control programs
returns to monitor
System Utilization Example

The processor is often idle  Multiple jobs can be


carried out.
+

Multiprogramming
Example
+ Time Sharing Systems

 Used
when the user interacts directly with the
computer

 Processor’s time is shared among multiple users

 Multipleusers simultaneously access the system


through terminals, with the OS interleaving the
execution of each user program in a short burst or
quantum (time slice, time slot) of computation

 Example:
 If there are n users actively requesting service at one time,
each user will only see on the average 1/n of the effective
computer speed
Batch
Multiprogramming
versus
Time Sharing

+
+ 8.2- Scheduling

 The key to multiprogramming


 Four types are typically involved:

Program: executable file stored in external memory


Process: program in execution
+ Scheduling….
Memory

P0’s mem.
Which of
Process 0
them will
run ? Process 1
Short-term Process 2 P2’s mem.
Scheduling
Process 3
(current
processes) P4’s mem.

Long-term Accept Process


Scheduling ? Table P1’s mem.
(waiting programs)
Where will
New be used to
process
load it ?

Each element of the process table Medium-term


Scheduling (blocked
is called as Process Control Block
processes)
Long Term Scheduling
In some systems a
newly created
Once submitted, a process begins in
Determines which
job becomes a a swapped-out
programs are
process for the condition, in
submitted for
short term which case it is
processing
scheduler added to a queue
for the medium-
term scheduler
Swapped-out process: Process stored in RAM must be write
to disk. It shields it’s memory to swapped-in process.

Time-sharing system
Batch system
• A process request is generated
when a user attempts to connect to • Newly submitted jobs
the system are routed to disk
and held in a batch
• OS will accept all authorized
queue
comers until the system is saturated
• The long-term
• At that point a connection request is
scheduler creates
met with a message indicating that
processes from the
the system is full and to try again
queue when it can
later
+
Medium-Term Scheduling
and Short-Term Scheduling

Medium-Term Short-Term
 Part of the swapping
 Also known as the
function
dispatcher (trình điều phối)
 Swapping-in decision is
 Executes frequently and
based on the need to manage
makes the fine-grained
the degree of
decision of which job to
multiprogramming
execute next
 Swapping-in decision will
consider the memory
requirements of the
swapped-out processes
Short-Term Scheduling
Five State Process Model

Interrupt
from IO
IO operation

CPU can be allocated


to another process
+ Index of
instruction which
will be fetched
Process Control when the process
re-executes.
Block (PCB)
Values of registers
at the time the
process is
What are metadata blocked
of a process?
Scheduling Example

2. Time out
Calls a service
Key Elements of O/S
Process Scheduling
8.3- Memory Management

 Memory Management
 Swapping
 Partioning
 Paging
 Virtual Memory
 Translation Lookaside Buffer
 Segmentation
Memory Manager is a part of OS which bears
responsibility to manage computer memory at the system
level and some above techniques can be applied.
+Memory
Management:
Swapping

Why?
Memory has larger size 
Processes request more and
more memory, more
processes need to run 
Memory is not enough to
supply  A selected process
must be swapped out to disk
in order to load new process
(SWAP)
+
Memory
Management

Partitioning
Smaller process needs
smaller memory 
Unequal-size partition
is better.
Effect of Dynamic Partitioning
To enable loading a process
to any position of memory,
program addresses must be
expressed as logical
addresses

Logical address
- expressed as a location
relative to the beginning of
the program (offset)

Physical address
- an actual location in
main memory

Base address
- current starting
location of the process
+
Memory
Management
Paging

At a time, only one instruction


of the current process
executes  Only necessary
part of each process is loaded
 Many processes can be
loaded.

Programs are divided into


small fixed chunk (ex. 4KB).
At a time, only some pages of
each process are loaded to
memory (frames)

Memory is divided also to


frames

Frame size= Page size Loading 4 frames of the process A


+ How to determine physical address
from a logical address?
Paging

Logical and
Physical
Addresses

0
Each program 1
address is expressed 2
as a logical address 3
which is a pair of
(page, offset)
+
Virtual Memory: Demand Paging

 Each
page of a process is brought in only
when it is needed
 Principle of locality
 When working with a large process execution may be
confined (limited) to a small section of a program
(subroutine)
 It is better use of memory to load in just a few pages
 If the program references data or branches to an instruction
on a page not in main memory, a page fault is triggered
which tells the OS to bring in the desired page
+
Virtual Memory: Demand Paging

 Advantages:
 More processes can be maintained in memory
 Time is saved because unused pages are not swapped in and
out of memory

 Disadvantages:
 When one page is brought in, another page must be thrown out
(page replacement)
 If a page is thrown out just before it is about to be used the OS
will have to go get the page again
 Thrashing (đánh bại- hệ thống trì trệ)
 When the processor spends most of its time swapping pages
rather than executing instructions
+
Paging:
Inverted
Page
Table
Structure
A large table is used
to store all pages of
all procsses

Hash function allows determine the position of a table in which data is stored.
Example: h(n) = n modulo k ( n%k)
If h(n2) = position storing n1, n2 will be stored in the lower position (overflow area) and
they are marked in the field chain.
+
Paging:
Operation of Paging
TLB
and Translation TLB hit
miss
Lookaside Buffer
(TLB)

TLB is an hardware
including some registers. A
part of page table is copied
to them in order to increase
performance of translating
virtual addresses to physical
addresses.
TLB and Cache Operation
+ Segmentation
 Program is divided in to segments (data,
code, stack, heap segments)
 Usually visible to the
programmer  Advantages:

 Provided as a convenience for  Simplifies the handling of


organizing programs and data growing data structures
and as a means for associating  Allows programs to be
privilege and protection altered and recompiled
attributes with instructions and independently without
data requiring that an entire
set of programs be re-
 Allows the programmer to view linked and re-loaded
memory as consisting of multiple  A segment can be shared
address spaces or segments among processes
 A segment can be divided into  A segment can be added
some pages. individual protection
+ Exercises
 8.1 What is an operating system?

 8.2 List and briefly define the key services provided by an OS.

 8.3 List and briefly define the major types of OS scheduling.

 8.4 What is the difference between a process and a program?

 8.5 What is the purpose of swapping?

 8.6 If a process may be dynamically assigned to different locations in main memory,


what is the implication for the addressing mechanism?

 8.7 Is it necessary for all of the pages of a process to be in main memory while the
process is executing?

 8.8 Must the pages of a process in main memory be contiguous?

 8.9 Is it necessary for the pages of a process in main memory to be in sequential order?

 8.10 What is the purpose of a translation lookaside buffer?


+ Summary Operating System
Support
Chapter 8

 Operating system objectives  Memory management


and functions  Swapping
 Types of operating systems  Partitioning
 Scheduling  Paging
 Long-term scheduling  Virtual memory
 Medium-term scheduling  Translation lookaside buffer
 Short-term scheduling  Segmentation

You might also like