Operating System Concepts Ku-Yaw Chang canseco_at_mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University – PowerPoint PPT presentation
Assistant Professor, Department of Computer Science and Information Engineering
Da-Yeh University
2 Chapter 9 Memory Management
Keep several processes in memory to increase CPU utilization
Memory management algorithms
Require hardware support
Common strategies
Paging
Segmentation
3 Chapter 9 Memory Management
Background
Swapping
Contiguous Memory Allocation
Paging
Segmentation
Segmentation with Paging
Summary
Exercises
4 9.1 Background
Program must be brought (loaded) into memory and placed within a process for it to be run.
Address binding
A mapping from one address space to another
A typical instruction-execution cycle
Fetch an instruction from memory
Decode the instruction
May cause operands to be fetched from memory
Execute the instruction
Store results back into memory
5 9.1.1 Address Binding
Input queue
A collection of processes on the disk that are waiting to be brought into memory to run the program.
A user program will go through several steps before being executed
Addresses in source program are symbolic
A compiler binds these symbolic addresses to relocatable addresses
A loader binds these relocatable addresses to absolute addresses
6 9.1.1 Address Binding
Compile time
Absolute code can be generated
Know at compile time where the process will reside in memory
MS-DOS .COM-format programs are absolute code
7 9.1.1 Address Binding
Load time
Relocatable code can be generated
Not known at compile time where the process will reside in memory
Final binding is delayed until load time
8 9.1.1 Address Binding
Execution time
The process can be moved from one memory segment to another
Binding must be delayed until run time
Special hardware must be available
9 9.1.2 Logical- Versus Physical-Address Space
Logical address
An address generated by the CPU
Compile-time and load-time
Also called virtual address
Logical-address space
The set of all logical addresses
Physical address
An address seen by the memory unit
The one loaded into the memory-address unit
Execution time
Logical and physical address spaces differ
Physical-address space
10 9.1.2 Logical- Versus Physical-Address Space
Memory-Management Unit (MMU)
A hardware device
Run-time mapping from virtual to physical addresses
Different methods to accomplish such a mapping
Logical addresses
0 to max
Physical addresses
R 0 to R max
11 Dynamic RelocationUsing a Relocation Register 12 9.1.3 Dynamic Loading
The entire program and data must be in memory for its execution
The size of a process is limited to the size pf physical memory.
Dynamic Loading
All routines are kept on disk in a relocatable load format
The main program is loaded into memory and is executed
A routine is not loaded until it is called
Advantage
An unused routine is never loaded
13 9.1.4 Dynamic Linking andShared Libraries
Dynamic Linking
Linking is postponed until execution time
Small piece of code, called stub, used to locate the appropriate memory-resident library routine
OS checks if routine is in processes memory address
If yes, load the routine into memory
Stub replaces itself with the address of the routine, and executes the routine.
Dynamic linking is particularly useful for libraries.
14 9.1.5 Overlays
Keep in memory only those instructions and data that are needed at any given time
Needed when process is larger than amount of memory allocated to it
Features
Implemented by user
No special support needed from operating system
Programming design is complex
15 9.1.5 Overlays 16 Chapter 9 Memory Management
Background
Swapping
Contiguous Memory Allocation
Paging
Segmentation
Segmentation with Paging
Summary
Exercises
17 Swapping
A process can be
Swapped temporarily out of memory to a backing store
Commonly a fast disk
Brought back into memory for continued execution
A process swapped back into
The same memory space
Binding is done at assembly or load time
A different memory space
Execution-time binding
18 Swapping of two processes 19 Swapping
Context-switch time is fairly high
User process size 1MB
Transfer rate 5MB per second
Actual transfer
1000KB / 5000 KB per second 200 milliseconds
An average latency 8 ms
Total swap time
208 208 416 ms
Time quantum should be substantially larger than 0.416 seconds.
20 Swapping
Major part of the swap time is transfer time
Directly proportional to the amount of memory swapped
Factors
How much memory is actually used
To reduce swap time
Be sure the process is completely idle
Pending I/O
21 Chapter 9 Memory Management
Background
Swapping
Contiguous Memory Allocation
Paging
Segmentation
Segmentation with Paging
Summary
Exercises
22 Contiguous Memory Allocation
Memory
One for the resident operating system
In either low or high memory
Location of the interrupt vector
One for the user processes
Contiguous memory allocation
Each process is contained in a single contiguous section of memory
23 Memory Protection
A relocation register with a limit register
24 Memory Allocation
Fixed-sized partitions
Simplest
Each partition contain exactly one process
Degree of multiprogramming is bounded
Strategies
First fit
Best fit
Worst fit
Problem
External fragmentation
Internal fragmentation
50-percent rule
Given N allocated blocks
Another 0.5 N blocks will be lost
25 Memory Allocation
Possible solutions to the external fragmentation
Compaction
Permit the logical address space of a process to be noncontiguous
OS OS OS OS process 5 process 5 process 5 process 5 process 9 process 9 process 8 process 10 process 2 process 2 process 2 process 2 26 Chapter 9 Memory Management
Background
Swapping
Contiguous Memory Allocation
Paging
Segmentation
Segmentation with Paging
Summary
Exercises
27 Paging
A memory-management scheme that permits the physical-address space of a process to be noncontiguous
Frames (physical memory)
Fixed-sized blocks
Pages (logical memory)
Blocks of the same size
Every address is divided into
A page number (p)
An index to a page table
A page offset (d)
page number page offset p d m-n n 28 Paging hardware 29 Paging Model 30 Paging Example 31 Free Frames After Allocation Before Allocation 32 Chapter 9 Memory Management
PowerShow.com is a leading presentation sharing website. It has millions of presentations already uploaded and available with 1,000s more being uploaded by its users every day. Whatever your area of interest, here you’ll be able to find and view presentations you’ll love and possibly download. And, best of all, it is completely free and easy to use.
You might even have a presentation you’d like to share with others. If so, just upload it to PowerShow.com. We’ll convert it to an HTML5 slideshow that includes all the media types you’ve already added: audio, video, music, pictures, animations and transition effects. Then you can share it with your target audience as well as PowerShow.com’s millions of monthly visitors. And, again, it’s all free.
About the Developers
PowerShow.com is brought to you by CrystalGraphics, the award-winning developer and market-leading publisher of rich-media enhancement products for presentations. Our product offerings include millions of PowerPoint templates, diagrams, animated 3D characters and more.