{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Memory Management -1

Memory Management -1 - Operating Systems Real Memory...

Info icon This preview shows pages 1–12. Sign up to view the full content.

View Full Document Right Arrow Icon
Operating Systems Real Memory Management
Image of page 1

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

View Full Document Right Arrow Icon
2 Real Memory Management Background Memory Management Requirements Fixed/Static Partitioning Variable/Dynamic Partitioning Simple/Basic Paging Simple/Basic Segmentation Segmentation with Paging
Image of page 2
3 Background Program must be brought into main memory and placed within a process representing it, in order for it to be run. Memory management is the task carried out by the OS and hardware to accommodate multiple processes in main memory. User programs go through several steps before being able to run. This multi-step processing of the program invokes the appropriate utility and generates the required module at each step (see next slides).
Image of page 3

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

View Full Document Right Arrow Icon
4 Multi-step Processing of a User Program
Image of page 4
5 Steps for loading a process in memory
Image of page 5

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

View Full Document Right Arrow Icon
6 Object Module Public names are usable by other object modules. External names are defined in other object modules: Includes the list of instructions having these names as operands. Relocation dictionary: Has the list of instructions who’s operands are addresses (since they are relocatable). Only code and data will be loaded in physical memory: The rest is used by the linker and then removed. The stack is allocated only at load time. End of module Relocation dictionary Data Machine code External names table Public names table Module identification
Image of page 6
7 Object Modules Initially, each object module has its own address space. All addresses are relative to the beginning of the module.
Image of page 7

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

View Full Document Right Arrow Icon
8 Linking Static The linker uses tables in object modules to link modules into a single linear addressable space. The new addresses are addresses relative to the beginning of the load module.
Image of page 8
9 Dynamic Linking The linking of some external modules is done after the creation of the load module (executable file). Load-time dynamic linking: The load module contains references to external modules which are resolved at load time. Run-time dynamic linking: references to external modules are resolved when a call is made to a procedure defined in the external module. unused procedure is never loaded. Process starts faster.
Image of page 9

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

View Full Document Right Arrow Icon
10 Static vs. Load-time Dynamic Linking
Image of page 10
11 Program vs. Memory sizes What to do when program size is larger than the amount of memory/partition (that exists or can be) allocated to it?
Image of page 11

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

View Full Document Right Arrow Icon
Image of page 12
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern