OPERATING SYSTEMS MEMORY MANAGEMENT
[Pages:35]OPERATING SYSTEMS MEMORY MANAGEMENT
Jerry Breecher
8: Memory Management
1
OPERATING SYSTEM Memory Management
What Is In This Chapter?
Just as processes share the CPU, they also share physical memory. This chapter is about mechanisms for doing that sharing.
8: Memory Management
2
MEMORY MANAGEMENT
Just as processes share the CPU, they also share physical memory. This section is about mechanisms for doing that sharing.
EXAMPLE OF MEMORY USAGE:
Calculation of an effective address
Fetch from instruction Use index offset
Example: ( Here index is a pointer to an address )
loop: load add store inc skip_equal branch loop ... continue ....
register, index 42, register register, index index index, final_address
8: Memory Management
3
MEMORY MANAGEMENT
Definitions
? The concept of a logical address space that is bound to a separate physical address space is central to proper memory management.
? Logical address ? generated by the CPU; also referred to as virtual address
? Physical address ? address seen by the memory unit
? Logical and physical addresses are the same in compile-time and loadtime address-binding schemes; logical (virtual) and physical addresses differ in execution-time address-binding scheme
8: Memory Management
4
MEMORY MANAGEMENT
Definitions
Relocatable Means that the program image can reside anywhere in physical memory.
Binding
Programs need real memory in which to reside. When is the location of that real memory determined?
? This is called mapping logical to physical addresses.
? This binding can be done at compile/link time. Converts symbolic to relocatable. Data used within compiled source is offset within object module.
Compiler:
If it's known where the program will reside, then absolute code is generated. Otherwise compiler produces relocatable code.
Load:
Binds relocatable to physical. Can find best physical location.
Execution:
The code can be moved around during execution. Means flexible virtual mapping.
8: Memory Management
5
MEMORY
Binding Logical To Physical
MANAGEMENT
This binding can be done at compile/link time. Converts symbolic to relocatable. Data used within compiled source is offset within object module.
Can be done at load time. Binds relocatable to physical.
Can be done at run time.
Implies that the code can be
moved
around
during
execution.
Source
Compiler
Object Linker
Other Objects
Executable
The next example shows how a compiler and linker actually determine the locations of these effective addresses.
Loader In-memory Image
Libraries
8: Memory Management
6
MEMORY
Binding Logical To Physical
MANAGEMENT
4 void main() 5 { 6 printf( "Hello, from main\n" ); 7 b(); 8 } 9 10 11 voidb() 12 { 13 printf( "Hello, from 'b'\n" ); 14 }
8: Memory Management
7
MEMORY
Binding Logical To Physical
MANAGEMENT
ASSEMBLY LANGUAGE LISTING
000000B0: 6BC23FD9 000000B4 37DE0080 000000B8 E8200000 000000BC D4201C1E 000000C0 34213E81 000000C4 E8400028 000000C8 B43A0040 000000CC E8400040 000000D0 6BC23FD9 000000D4 4BC23F59 000000D8 E840C000 000000DC 37DE3F81
stw ldo bl
depi ldo bl
addi bl
stw ldw bv
ldo
000000E0: E8200000 bl 000000E4 28200000 addil 000000E8: E020E002 be,n
%r2,-20(%sp
; main()
64(%sp),%sp
0x000000C0,%r1 ; get current addr=BC
0,31,2,%r1
-192(%r1),%r1
; get code start area
0x000000E0,%r2 ; call printf
32,%r1,%r26
; calc. String loc.
0x000000F4,%r2 ; call b
%r2,-20(%sp)
; store return addr
-84(%sp),%r2
%r0(%r2)
; return from main
-64(%sp),%sp
STUB(S) FROM LINE 6
0x000000E8,%r1
L%0,%r1
0x00000000(%sr7,%r1)
000000EC 08000240 000000F0: 6BC23FD9 000000F4: 37DE0080 000000F8 E8200000 000000FC D4201C1E 00000100 34213E01 00000104 E85F1FAD 00000108 B43A0010 0000010C 4BC23F59 00000110 E840C000 00000114 37DE3F81
nop stw ldo bl
depi ldo bl
addi ldw bv
ldo
void b()
%r2,-20(%sp)
64(%sp),%sp
0x00000100,%r1
; get current addr=F8
0,31,2,%r1
-256(%r1),%r1
; get code start area
0x000000E0,%r2 ; call printf
8,%r1,%r26
-84(%sp),%r2
%r0(%r2)
; return from b
-64(%sp),%sp
8: 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
- operating system memory management
- memory management in operating system
- memory management operating system ppt
- operating system memory management pdf
- computer operating systems ppt
- memory management techniques operating system
- operating systems william stallings pdf
- free operating systems for computers
- evolution of operating systems pdf
- memory management operating system
- free operating systems 32 bit
- operating systems downloads