Memory Management
[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
- operating systems memory management
- windows 10 optimization test results
- studio manager v2 installation guide english
- windows 10 enterprise 2019 ltsc for dell wyse thin clients
- windows 10 segment heap internals
- instruction manual for windows 10 recovery image download
- memory management
- window s 8 h eap internals
- memory management in vulkan and dx12
Related searches
- memory management pdf
- stop code memory management windows 10
- memory management tool
- fix memory management windows 10
- memory management unit pdf
- memory management error
- memory management in computer architecture
- stop code memory management windows 10 fix
- memory management software windows 10
- windows 10 memory management crash
- microsoft memory management tool
- memory management blue screen windows 10