0% found this document useful (0 votes)
15 views57 pages

212 Chapter11

Uploaded by

giabao00101105
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)
15 views57 pages

212 Chapter11

Uploaded by

giabao00101105
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/ 57

Chapter 11

Operating Systems
Chapter 11
Operating Systems
Chapter Outline

Operating System Overview


Resource Allocation
Process Management
CPU Allocation
Focus – Windows Scheduling
Focus – Choosing a Server Operating
System
Memory Allocation
Focus - Intel Pentium Memory
Management
Chapter Goals
• Describe the functions and layers of an
operating system
• List the resources allocated by the
operating system and describe the
complexities of the application process
• Explain how an operating system
manages processes and threads
• Compare and contrast alternative CPU
scheduling methods
• Explain how the operating system
manages memory
Chapter 11 Topics
Operating System
Overview
• Most important component of system
software

• Primary purpose: Manage hardware


resources and provide support services
to users and application programs

• Manages CPU, memory, processes,


secondary storage (files), I/O devices,
and users

• Consists of kernel, service layer, and


command layer
Operating System
Management Functions
• Loosely divided between:

– Those oriented to hardware


resources

– Those oriented to users and their


programs

• Make OS more maintainable:

– functions within one layer can be


modified without affecting other
layers
Operating System
Management Functions
Operating System
Layers
The User’s
interface to the
Operating System

Contains a set of
functions
executed by
application
programs and the
Command Layer
Manages
resources and
interacts directly
with the
The Kernel
Components
Resource Allocation
• Single-tasking and multitasking

• Goals and tasks

• Real and virtual resources


Single-Tasking
Resource Allocation
• Involves only two executing programs

– Application

– OS (grants the application all


unused hardware resources)

• MS-DOS

– Most common single-tasking OS

– Widely used until early 1990s


Multitasking
Resource Allocation
• Norm for modern general-purpose
computers

• Allows flexibility of application and


system software
Resource Allocation
Goals
• Meet resource needs of each program

• Prevent programs from interfering


with one another

• Efficiently use hardware and other


resources
Resource Allocation
Tasks
• Keep detailed records of available
resources; know which resources can
satisfy which requests

• Schedule resources based on specific


allocation policies

• Update records to reflect resource


commitment and release by programs
and users
Real and Virtual Resources
• Real resources
– Physical devices and associated
system software

• Virtual resources
– Resources that are apparent to a
process or user
– Meet or exceed real resources by
• Rapidly shifting resources unused
by one program to other programs
that need them
• Substituting one type of resource
for another
Process Management
A process is a unit of executing software
managed independently by OS

• Requests and receives hardware


resources and OS services

• Can be stand-alone or part of a group


that cooperates to achieve a common
purpose

• Communicates with other processes


executing on the same computer or on
other computers
Process Control
Data Structures
• Process control block (PCB)

– Created, updated, and deleted by OS

– Used by OS to perform many


functions (e.g., resource allocation,
secure resource access, protecting
active processes from interference
with other active processes)

– Normally organized into a larger


data structure (called a linked list,
process queue, or process list)
Process Control
Data Structures
• Processes can spawn other processes
and communicate with them

– Parent process

– Child process

– Sibling process

– Process family
Threads
• Portion of a process that can be scheduled
and executed independently

• Can execute concurrently on a single


processor or simultaneously on multiple
processors

• Share all resources allocated to parent


process

• Advantage: Reduce OS overhead for


resource allocation and process
management

• Thread control block (TCB) and run queues


CPU Allocation
• OS makes rapid decisions about which
threads receive CPU control and for
how long that control is retained

• Threads usually share CPUs


(concurrent or interleaved execution)
Concurrent Thread
Execution
On A Single CPU
Thread States
• Ready
– Waiting for access to the CPU

• Running
– Retains control of CPU until the
thread or its parent process
terminates normally or an interrupt
occurs

• Blocked
– Waiting for some event to occur
(completion of service request or
correction of an error condition)
Thread States
Movement Between States
Interrupt Processing
• CPU automatically suspends currently
executing thread, pushes current
register values onto the stack, and
transfers control to OS master
interrupt handler

• Suspended thread remains on the


stack until interrupt processing is
completed (blocked state)

• Once interrupt has been processed, OS


can leave suspended thread in blocked
state, move it to ready state, or return
it to running state
Scheduling
• Decision-making process used by OS to
determine which ready thread moves
to the running state

• Typical methods

– Preemptive scheduling

– Priority-based scheduling

– Real-time scheduling
Preemptive Scheduling
• A thread can be removed involuntarily
from the running state

• Functions of the supervisor (portion of


OS that receives control)

– Calls appropriate interrupt handler

– Transfers control to the scheduler


Preemptive Scheduling
• Functions of the scheduler

– Updates status of any process or


thread affected by last interrupt

– Decides which thread to dispatch to


the CPU

– Updates thread control information


and the stack to reflect the
scheduling decision

– Dispatches selected thread


Processing steps
on left
occur after
Thread 1 makes an
I/O service call.

Interrupt
Processing
Processing steps
on right
occur after
I/O device completes
I/O operation.
Timer Interrupts
• Generated at regular intervals by CPU
to give scheduler an opportunity to
suspend currently executing thread

• Not a “real” interrupt; no interrupt


handler to call; supervisor passes
control to the scheduler

• Important CPU hardware feature for


multitasking OSs
Priority-Based Scheduling
• Determines which ready thread should
be dispatched to the CPU according to:

– First come first served (FCFS)

– Explicit priority

– Shortest time remaining (STR)


Real-Time Scheduling
• Guarantees minimum amount of CPU
time to a thread if the thread makes
an explicit real-time scheduling
request when it is created

• Guarantees a thread enough resources


to complete its function within a
specified time

• Often used in transaction processing,


data acquisition, and automated
process control
Windows
Scheduli
ng
Windows
Scheduli
ng
Windows
Scheduli
ng
Windows
Scheduli
ng
Memory Allocation
• OS allocates memory

– When threads are created; responds


to requests for additional memory
during a thread’s lifetime

– To itself and for other needs (buffers


and caches)

• Memory references are mapped to


physical addresses through table
lookups and address calculations
Single-Tasking
Memory Allocation
• Bulk of OS normally occupies lower
memory addresses; application
program is loaded immediately above
it

• Contiguous and noncontiguous


(fragmented) memory allocation

• Address resolution

– Process of determining physical


memory address that corresponds to
memory reference
Single-
Tasking
Memory
Allocation
Single-
Tasking
Memory
Allocation
Multitasking
Memory Allocation
• The operating system:

– Finds free memory regions in which


to load new processes and threads

– Reclaims memory when processes or


threads terminate
Goals of
Multitasking Memory
Allocation
• Allow as many active processes as
possible

• Respond quickly to changing memory


demands of processes

• Prevent unauthorized changes to a


process’s memory region(s)

• Implement memory allocation and


addressing as efficiently as possible
Multitaski
ng
Memory
Allocation

Memory is divided
into fixed-sized
partitions.
Multi-
tasking
Memory
Allocati
on

Processes are
allocated memory
partitions to store
instructions and
data.
Multi-
tasking
Memory
Allocati
on
The
Operating
System
maintains
tables to
track
partition
allocations
and free
Memory Fragmentation
• As memory becomes more fragmented,
larger processes have increasing
difficulty finding enough contiguous
partitions

• To address the problem:


– Compaction (large overhead)
– Noncontiguous memory allocation
Memory Partition
Allocation And De-allocation
leads to an increasing number of small free
partitions separated by allocated partitions.
Contiguous Memory
Allocation
A new
process
requiring
4 MB of
memory
can’t be
loaded
unless
memory
is first
compacted
.
Noncontiguous
Memory Allocation
• Portions of a process can be allocated
to free partitions anywhere in memory

• Uses small fixed-sized partitions

• More flexible than contiguous memory


allocation, but requires more complex
partition tables and address
calculations
Noncontiguo
us
Memory
Allocation
A new process
requiring 4 MB of
memory can be
divided and loaded
into the four free
partitions.
Virtual Memory
Management
• Allocates portions of processes
(pages) to small memory partitions
(page frames)

• Swaps pages between memory and


secondary storage as needed

• Page hits, page faults, page tables

• Page files and victims


Process Page Table
Memory Protection
• Prevents errors in one program from
generating errors in another

• Adds overhead to each write operation


Memory Management
Hardware
• Complex memory management
procedures incur substantial overhead

• Modern CPUs incorporate advanced


memory allocation and address
resolution functions in hardware (e.g.,
Intel Pentium)
Intel Pentium
Memory Management
The Pentium uses six registers to hold data
structures called segment descriptors.
Each register stores:
• the physical memory address of the first
byte of the segment
• the size of the segment (1 byte to 4 GB)
• the segment type
• access restrictions
– read-write (RW)
– read-only (RO)
– execute-only (EO)
– execute-read(ER)
• privilege level
– 0 through 3; 0 indicates most privileged
Intel Pentium
Memory Management
Summary
Operating system
overview

Resource allocation

Process management

CPU allocation

Memory allocation
Chapter Goals
• Describe the functions and layers of an
operating system
• List the resources allocated by the
operating system and describe the
complexities of the application process
• Explain how an operating system
manages processes and threads
• Compare and contrast alternative CPU
scheduling methods
• Explain how the operating system
manages memory

You might also like