CH9
CH9
Operating System Concepts – 10th Edition Silberschatz, Galvin and Gagne ©2018
Objectives
Operating System Concepts – 10th Edition 9.2 Silberschatz, Galvin and Gagne ©2018
Background
Operating System Concepts – 10th Edition 9.3 Silberschatz, Galvin and Gagne ©2018
Base and Limit Registers
A pair of base and limit registers define the logical address space
Operating System Concepts – 10th Edition 9.4 Silberschatz, Galvin and Gagne ©2018
Hardware Address Protection
Operating System Concepts – 10th Edition 9.5 Silberschatz, Galvin and Gagne ©2018
Binding of Instructions and Data to Memory
Execution time: Binding delayed until run time if the process can
be moved during its execution from one memory segment to
another
Need hardware support (e.g., base and limit registers)
Operating System Concepts – 10th Edition 9.6 Silberschatz, Galvin and Gagne ©2018
Multi-step Processing of a User Program
Operating System Concepts – 10th Edition 9.7 Silberschatz, Galvin and Gagne ©2018
Logical vs. Physical Address Space
Logical and physical addresses are the same in compile-time and load-
time address-binding schemes; logical (virtual) and physical addresses
differ in execution-time address-binding scheme
Operating System Concepts – 10th Edition 9.8 Silberschatz, Galvin and Gagne ©2018
Memory-Management Unit (MMU)
Hardware device that at run time maps virtual to physical address
The user program deals with logical addresses; it never sees the real
physical addresses
Execution-time binding occurs when reference is made to location in
memory
Logical address bound to physical addresses
Operating System Concepts – 10th Edition 9.9 Silberschatz, Galvin and Gagne ©2018
Swapping
Operating System Concepts – 10th Edition 9.10 Silberschatz, Galvin and Gagne ©2018
Swapping
A process can be swapped temporarily out of memory to a backing
store, and then brought back into memory for continued execution
Total physical memory space of processes can exceed physical
memory
Major part of swap time is transfer time; total transfer time is directly
proportional to the amount of memory swapped
Operating System Concepts – 10th Edition 9.11 Silberschatz, Galvin and Gagne ©2018
Schematic View of Swapping
Operating System Concepts – 10th Edition 9.12 Silberschatz, Galvin and Gagne ©2018
Context Switch Time including Swapping
Operating System Concepts – 10th Edition 9.13 Silberschatz, Galvin and Gagne ©2018
Contiguous Memory Allocation
Operating System Concepts – 10th Edition 9.14 Silberschatz, Galvin and Gagne ©2018
Contiguous Allocation
Main memory must support both OS and user processes
Operating System Concepts – 10th Edition 9.15 Silberschatz, Galvin and Gagne ©2018
Contiguous Allocation (Cont.)
Relocation registers used to protect user processes from each
other, and from changing operating-system code and data
Operating System Concepts – 10th Edition 9.16 Silberschatz, Galvin and Gagne ©2018
Hardware Support for Relocation and Limit Registers
Operating System Concepts – 10th Edition 9.17 Silberschatz, Galvin and Gagne ©2018
Multiple-partition allocation
Multiple-partition allocation
Degree of multiprogramming limited by number of partitions
Variable-partition sizes for efficiency (sized to a given process’ needs)
Hole – block of available memory; holes of various size are scattered
throughout memory
When a process arrives, it is allocated memory from a hole large enough to
accommodate it
Process exiting frees its partition, adjacent free partitions combined
Operating system maintains information about:
a) allocated partitions b) free partitions (hole)
Operating System Concepts – 10th Edition 9.18 Silberschatz, Galvin and Gagne ©2018
Dynamic Storage-Allocation Problem
How to satisfy a request of size n from a list of free holes?
Worst-fit: Allocate the largest hole; must also search entire list
Produces the largest leftover hole
First-fit and best-fit better than worst-fit in terms of speed and storage
utilization
Operating System Concepts – 10th Edition 9.19 Silberschatz, Galvin and Gagne ©2018
Fragmentation
Operating System Concepts – 10th Edition 9.20 Silberschatz, Galvin and Gagne ©2018
Fragmentation
External Fragmentation – total memory space exists to satisfy a
request, but it is not contiguous
First-fit analysis reveals that given N blocks allocated, 0.5 N blocks lost
due to fragmentation
1/3 may be unusable 50-percent rule
Operating System Concepts – 10th Edition 9.21 Silberschatz, Galvin and Gagne ©2018
Fragmentation (Cont.)
Operating System Concepts – 10th Edition 9.22 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition 9.23 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition 9.24 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition 9.25 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition 9.26 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition 9.27 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition 9.28 Silberschatz, Galvin and Gagne ©2018
First Fit
Operating System Concepts – 10th Edition 9.29 Silberschatz, Galvin and Gagne ©2018
Best Fit
Operating System Concepts – 10th Edition 9.30 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition 9.31 Silberschatz, Galvin and Gagne ©2018
Non-contiguous Memory Allocation
Operating System Concepts – 10th Edition 9.32 Silberschatz, Galvin and Gagne ©2018
Segmentation
Operating System Concepts – 10th Edition 9.33 Silberschatz, Galvin and Gagne ©2018
Segmentation
Memory-management scheme that supports user view of memory
Operating System Concepts – 10th Edition 9.34 Silberschatz, Galvin and Gagne ©2018
User’s View of a Program
Operating System Concepts – 10th Edition 9.35 Silberschatz, Galvin and Gagne ©2018
Logical View of Segmentation
4
1
3 2
4
Operating System Concepts – 10th Edition 9.36 Silberschatz, Galvin and Gagne ©2018
Segmentation Architecture
Logical address consists of a tuple:
<segment-number, offset>,
Operating System Concepts – 10th Edition 9.37 Silberschatz, Galvin and Gagne ©2018
Segmentation Architecture (Cont.)
Protection
With each entry in segment table associate:
validation bit = 0 illegal segment
read/write/execute privileges
Operating System Concepts – 10th Edition 9.38 Silberschatz, Galvin and Gagne ©2018
Segmentation Hardware
Operating System Concepts – 10th Edition 9.39 Silberschatz, Galvin and Gagne ©2018
Segment Table
Base Limit
Address
Operating System Concepts – 10th Edition 9.40 Silberschatz, Galvin and Gagne ©2018
Paging
Operating System Concepts – 10th Edition 9.41 Silberschatz, Galvin and Gagne ©2018
Paging
Physical address space of a process can be noncontiguous; process is
allocated physical memory whenever the latter is available
Avoids external fragmentation
Avoids problem of varying sized memory chunks
Operating System Concepts – 10th Edition 9.42 Silberschatz, Galvin and Gagne ©2018
Paging (Cont.)
To run a program of size N pages, need to find N free frames and load
program
Operating System Concepts – 10th Edition 9.43 Silberschatz, Galvin and Gagne ©2018
Address Translation Scheme
PA = 14 = (1110)
Address generated by CPU is divided into:
p = (11) = 3
Operating System Concepts – 10th Edition 9.44 Silberschatz, Galvin and Gagne ©2018
Paging Hardware
Operating System Concepts – 10th Edition 9.45 Silberschatz, Galvin and Gagne ©2018
Paging Model of Logical and Physical Memory
Operating System Concepts – 10th Edition 9.46 Silberschatz, Galvin and Gagne ©2018
Paging Example
Operating System Concepts – 10th Edition 9.47 Silberschatz, Galvin and Gagne ©2018
4 = page size
Operating System Concepts – 10th Edition 9.48 Silberschatz, Galvin and Gagne ©2018
Paging (Cont.)
Operating System Concepts – 10th Edition 9.49 Silberschatz, Galvin and Gagne ©2018
• PT?
• LA 136 PA?
• Fragmentation? = 50
• (FRAME #11)
Operating System Concepts – 10th Edition 9.50 Silberschatz, Galvin and Gagne ©2018
• Job 1 contains 900 lines
• LA 518 PA?
• Fragmentation?
Operating System Concepts – 10th Edition 9.51 Silberschatz, Galvin and Gagne ©2018
Free Frames
Operating System Concepts – 10th Edition 9.52 Silberschatz, Galvin and Gagne ©2018
Implementation of Page Table
Page table is kept in main memory
The two memory access problems can be solved by the use of a special
fast-lookup hardware cache called associative memory or translation
look-aside buffers (TLBs)
Operating System Concepts – 10th Edition 9.53 Silberschatz, Galvin and Gagne ©2018
Implementation of Page Table (Cont.)
Some TLBs store address-space identifiers (ASIDs) in each TLB
entry – uniquely identifies each process to provide address-space
protection for that process
Otherwise need to flush at every context switch
On a TLB miss, value is loaded into the TLB for faster access next time
Replacement policies must be considered
Some entries can be wired down for permanent fast access
Operating System Concepts – 10th Edition 9.54 Silberschatz, Galvin and Gagne ©2018
Associative Memory
Operating System Concepts – 10th Edition 9.55 Silberschatz, Galvin and Gagne ©2018
Paging Hardware With TLB
Operating System Concepts – 10th Edition 9.56 Silberschatz, Galvin and Gagne ©2018
Effective Access Time
Associative Lookup = time unit
Can be < 10% of memory access time
Hit ratio =
Hit ratio – percentage of times that a page number is found in the
associative registers; ratio related to number of associative
registers
Consider = 80%, = 20ns for TLB search, 100ns for memory access
Effective Access Time (EAT)
EAT = (1 + ) + (2 + )(1 – )
=2+–
Consider = 80%, = 20ns for TLB search, 100ns for memory access
EAT = 0.80 x 100 + 0.20 x 200 = 120ns
Consider more realistic hit ratio -> = 99%, = 20ns for TLB search,
100ns for memory access
EAT = 0.99 x 100 + 0.01 x 200 = 101ns
Operating System Concepts – 10th Edition 9.57 Silberschatz, Galvin and Gagne ©2018
Memory Protection
Memory protection implemented by associating protection bit with each
frame to indicate if read-only or read-write access is allowed
Can also add more bits to indicate page execute-only, and so on
Operating System Concepts – 10th Edition 9.58 Silberschatz, Galvin and Gagne ©2018
Valid (v) or Invalid (i) Bit In A Page Table
Operating System Concepts – 10th Edition 9.59 Silberschatz, Galvin and Gagne ©2018
End of Chapter 9
Operating System Concepts – 10th Edition Silberschatz, Galvin and Gagne ©2018