Computer Organization and Architecture Operating System Support

advertisement
Computer
Organization
and Architecture
Operating System Support
Objectives and Functions

Convenience


Making the computer easier to use
Efficiency

Allowing better use of computer resources
Layers and Views of a
Computer System
Operating System Services







Program creation
Program execution
Access to I/O devices
Controlled access to files
System access
Error detection and response
Accounting
Types of Operating System




Interactive
Batch
Single program (Uni-programming)
Multi-programming (Multi-tasking)
Early Systems




Late 1940s to mid 1950s
No Operating System
Programs interact directly with hardware
Two main problems:


Scheduling
Setup time
Single Program
Multi-Programming with
Two Programs
Multi-Programming with
Three Programs
Time Sharing Systems

Allow users to interact directly with the
computer


i.e. Interactive
Multi-programming allows a number of users
to interact with the computer
Scheduling





Key to multi-programming
Long term
Medium term
Short term
I/O
Memory Management

Uni-program




Memory split into two
One for Operating System (monitor)
One for currently executing program
Multi-program

“User” part is sub-divided and shared among
active processes
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
Leads to larger programs
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...
Partitioning


Splitting memory into sections to allocate to
processes (including Operating System)
Fixed-sized partitions




May not be equal size
Process is fitted into smallest hole that will take it
(best fit)
Some wasted memory
Leads to variable sized partitions
Fixed Partitioning
Variable Sized Partitions (1)





Allocate exactly the required memory to a process
This leads to a hole at the end of memory, too small to use
 Only one small hole - less waste
When all processes are blocked, swap out a process and
bring in another
New process may be smaller than swapped out process
Another hole
Variable Sized Partitions (2)


Eventually have lots of holes (fragmentation)
Solutions:


Coalesce - Join adjacent holes into one large hole
Compaction - From time to time go through
memory and move all hole into one free block (c.f.
disk de-fragmentation)
Effect of Dynamic Partitioning
Virtual Memory
Virtual Memory


In order to be executed or data to be accessed, a
certain segment of the program has to be first
loaded into main memory; in this case it has to
replace another segment already in memory
Movement of programs and data, between main
memory and secondary storage, is performed
automatically by the operating system. These
techniques are called virtual-memory techniques
Virtual Memory
Virtual Memory Organization



The virtual programme space (instructions + data) is
divided into equal, fixed-size chunks called pages.
Physical main memory is organized as a sequence
of frames; a page can be assigned to an available
frame in order to be stored (page size = frame size).
The page is the basic unit of information which is
moved between main memory and disk by the
virtual memory system.
Demand Paging


The program consists of a large amount of
pages which are stored on disk; at any one
time, only a few pages have to be stored in
main memory.
The operating system is responsible for
loading/ replacing pages so that the number
of page faults is minimized.
Demand Paging

We have a page fault
when the CPU refers to
a location in a page
which is not in main
memory; this page has
then to be loaded and,
if there is no available
frame, it has to replace
a page which
previously was in
memory.
Address Translation

Accessing a word in memory involves the
translation of a virtual address into a physical
one:



- virtual address: page number + offset
- physical address: frame number + offset
Address translation is performed by the MMU
using a page table.
Example
Address Translation
The Page Table


The page table has one entry for each page
of the virtual memory space.
Each entry of the page table holds the
address of the memory frame which stores
the respective page, if that page is in main
memory.
The Page Table

Each entry of the page table also includes
some control bits which describe the status of
the page:



whether the page is actually loaded into main
memory or not;
if since the last loading the page has been
modified;
information concerning the frequency of access,
etc.
Memory Reference with Virtual
Memory
Memory Reference with Virtual
Memory


Memory access is solved by hardware except
the page fault sequence which is executed by
the OS software.
The hardware unit which is responsible for
translation of a virtual address into a physical
one is the Memory Management Unit (MMU).
Translation Lookaside Buffer

Every virtual memory reference causes two
physical memory access



Fetch page table entry
Fetch data
Use special cache for page table

TLB
TLB Operation
TLB and Cache Operation
Pentium II Address Translation
Mechanism
Page Replacement



When a new page is loaded into main memory
and there is no free memory frame, an existing
page has to be replaced
The decision on which page to replace is
based on the same speculations like those for
replacement of blocks in cache memory
LRU strategy is often used to decide on which
page to replace.
Page Replacement


When the content of a page, which is loaded
into main memory, has been modified as result
of a write, it has to be written back on the disk
after its replacement.
One of the control bits in the page table is used
in order to signal that the page has been
modified.
Summary



Objective and functions
OS Scheduling
Memory management


virtual memory
page replacement
Download