Download presentation
Presentation is loading. Please wait.
1
Operating System Concepts
Ku-Yaw Chang 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 Ku-Yaw Chang Chapter 9 Memory Management
3
Chapter 9 Memory Management
Background Swapping Contiguous Memory Allocation Paging Segmentation Segmentation with Paging Summary Exercises Ku-Yaw Chang Chapter 9 Memory Management
4
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
5
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
6
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
7
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
8
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
11
Dynamic Relocation Using a Relocation Register
Ku-Yaw Chang Chapter 9 Memory Management
12
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
13
9.1.4 Dynamic Linking and Shared Libraries
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. Ku-Yaw Chang Chapter 9 Memory Management
14
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
15
Chapter 9 Memory Management
9.1.5 Overlays Ku-Yaw Chang Chapter 9 Memory Management
16
Chapter 9 Memory Management
Background Swapping Contiguous Memory Allocation Paging Segmentation Segmentation with Paging Summary Exercises Ku-Yaw Chang Chapter 9 Memory Management
17
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
18
Swapping of two processes
Ku-Yaw Chang Chapter 9 Memory Management
19
Chapter 9 Memory Management
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 = 416 ms Time quantum should be substantially larger than seconds. Ku-Yaw Chang Chapter 9 Memory Management
20
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
21
Chapter 9 Memory Management
Background Swapping Contiguous Memory Allocation Paging Segmentation Segmentation with Paging Summary Exercises Ku-Yaw Chang Chapter 9 Memory Management
22
Contiguous Memory Allocation
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 Ku-Yaw Chang Chapter 9 Memory Management
23
Chapter 9 Memory Management
Memory Protection A relocation register with a limit register Ku-Yaw Chang Chapter 9 Memory Management
24
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
25
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
26
Chapter 9 Memory Management
Background Swapping Contiguous Memory Allocation Paging Segmentation Segmentation with Paging Summary Exercises Ku-Yaw Chang Chapter 9 Memory Management
27
Chapter 9 Memory Management
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 Ku-Yaw Chang Chapter 9 Memory Management
28
Chapter 9 Memory Management
Paging hardware Ku-Yaw Chang Chapter 9 Memory Management
29
Chapter 9 Memory Management
Paging Model Ku-Yaw Chang Chapter 9 Memory Management
30
Chapter 9 Memory Management
Paging Example Ku-Yaw Chang Chapter 9 Memory Management
31
Chapter 9 Memory Management
Free Frames Before Allocation After Allocation Ku-Yaw Chang Chapter 9 Memory Management
32
Chapter 9 Memory Management
Background Swapping Contiguous Memory Allocation Paging Segmentation Segmentation with Paging Summary Exercises Ku-Yaw Chang Chapter 9 Memory Management
33
Chapter 9 Memory Management
Background Swapping Contiguous Memory Allocation Paging Segmentation Segmentation with Paging Summary Exercises Ku-Yaw Chang Chapter 9 Memory Management
34
Chapter 9 Memory Management
Background Swapping Contiguous Memory Allocation Paging Segmentation Segmentation with Paging Summary Exercises Ku-Yaw Chang Chapter 9 Memory Management
35
Chapter 9 Memory Management
Background Swapping Contiguous Memory Allocation Paging Segmentation Segmentation with Paging Summary Exercises Ku-Yaw Chang Chapter 9 Memory Management
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.