chapter07 - Memory Management Memory Management Chapter 7...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Memory Management Chapter 7 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated efficiently to pack as many processes into memory as possible Memory Management Requirements Memory management is intended to satisfy the following requirements: Relocation Protection Sharing Logical organization Physical organization Relocation Programmers typically do not know in advance which other programs will be resident in main memory at the time of execution of their program Active processes need to be able to be swapped in and out of main memory in order to maximize processor utilization 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 Protection Processes need to acquire permission to reference memory locations for reading or writing purposes Processes should not be able to reference memory locations in another process without permission Location of a program in main memory is unpredictable Impossible to check absolute addresses in programs since the program could be relocated Memory references generated by a process must be checked at run time Operating system cannot anticipate all of the memory references a program will make Mechanisms that support relocation also support protection
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Sharing Allow several processes to access the same portion of memory Advantageous to allow each process access to the same copy of the program rather than have their own separate copy Memory management must allow controlled access to shared areas of memory without compromising protection Mechanisms used to support relocation support sharing capabilities 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) Modules can be shared among processes Segmentation is the tool that most readily satisfies requirements Physical Organization Cannot leave the programmer with the responsibility to manage memory. Memory available for a program plus its data may be insufficient Overlaying allows various modules to be assigned the same region of memory but is time consuming to program Programmer does not know how much space will be available Moving information between two levels of memory, main memory and secondary memory Memory Partitioning Table 7.2 Memory Management Techniques Memory Partitioning Fixed Partitioning IBM OS/MFT, unknown today Dynamic Partitioning IBM OS/MVT Buddy System modified form used in UNIX kernel
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 7

chapter07 - Memory Management Memory Management Chapter 7...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online