Memory Management - University of California, Davis
[Pages:113]Memory Management
Raju Pandey Department of Computer Sciences
University of California, Davis Spring 2011
Overview
? Goals of memory management:
Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable supply of
ready processes to consume available processor time
? Preparing a Program for Execution
Program Transformations Logical-to-Physical Address Binding
? Memory Partitioning Schemes
Fixed Partitions Variable Partitions
? Allocation Strategies for Variable Partitions ? Dealing with Insufficient Memory
ECS 150 (Operating Systems)
Memory Management, 2
The External View of the Memory Manager
Application Program
exec()
shmalloc()
sbrk()
getrlimit()
VirtualAlloc() VMQuery()
VirtualLock() VirtualFree()
ZeroMemory()
File Mgr Device Mgr Memory Mgr Process Mgr
File Mgr Device Mgr Memory Mgr Process Mgr
UNIX
ECS 150 (Operating Systems)
Windows
Hardware
Memory Management, 3
Memory Management Requirements
? Relocation
Programmer does not know where the program will be placed in memory when it is executed
While the program is executing, it may be swapped to disk and returned to main memory at a different location (relocated)
Memory references must be translated in the code to actual physical memory address
ECS 150 (Operating Systems)
Memory Management, 4
Memory Management Requirements
? Protection
Processes should not be able to reference memory locations in another process without permission
Impossible to check absolute addresses at compile time Must be checked at run time Memory protection requirement must be satisfied by the processor
(hardware) rather than the operating system (software)
o Operating system cannot anticipate all of the memory references a program will make
? Sharing
Allow several processes to access the same portion of memory Better to allow each process access to the same copy of the program
rather than have their own separate copy
ECS 150 (Operating Systems)
Memory Management, 5
Memory Management Requirements
? Logical Organization
Programs are written in modules Modules can be written and compiled independently Different degrees of protection given to modules (read-only,
execute-only) Share modules among processes
? Physical Organization
Memory available for a program plus its data may be insufficient
o Overlaying allows various modules to be assigned the same region of memory
Programmer does not know how much space will be available
ECS 150 (Operating Systems)
Memory Management, 6
Preparing Program for Execution
? Program Transformations
Translation (Compilation) Linking Loading
ECS 150 (Operating Systems)
Memory Management, 7
A Sample Code Segment
... static int gVar; ... int proc_a(int arg){
... gVar = 7; put_record(gVar); ... }
ECS 150 (Operating Systems)
Memory Management, 8
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- memory management in the java hotspot virtual machine
- memory management university of california davis
- virtual memory memory management
- memory management mit opencourseware
- lecture 7 memory management
- operating systems memory management wpi
- 6 096 lecture 8 memory management mit opencourseware
- operating systems memory management
- lecture 10 memory management
- memory management
Related searches
- university of california essay prompts
- university of california supplemental essays
- university of california free tuition
- university of california campuses
- university of california online certificates
- address university of california irvine
- university of california at irvine ca
- university of california irvine related people
- university of california irvine staff
- university of california irvine employment
- university of california irvine address
- university of california irvine online