Main Memory

Linking

  • Static linking –system libraries and program code are combined by the loader into the binary image

  • Dynamic linking –linking is postponed until execution/run time

Binding

Memory-Management Unit (MMU)

Fragmentation

Memory Allocation

Continuous Partition

Size of each partition is fixed

Size of each partition is variable

Non-continuous Partition

Page Table

TLB

  1. What is memory management?

Memory management is to bind a logical address space to a separate physical address space.

  1. When does the address binding happen?

Binding is delayed until run time.

  1. What is physical memory address?

Logical address

  • generated by the Program/CPU
  • also referred to as virtual address
  • all the addresses used by the CPU
  • Addressed in bytes
  • Size of space depends on the CPU bits
  1. What is logical memory address?

Physical address

  • All the addresses used by the memory hardware
  • Addressed in bytes
  • Size of space depends on real size of physical memory
  1. In which situation, the above two addresses are same? In which situation, the above two addresses are different?

Logical and physical addresses are the same in

  • compile-time address binding
  • load-time address-binding schemes

logical (virtual) and physical addresses differ in

  • execution-time address-binding scheme
  1. What memory allocation methods are there? Advantages? Disadvantages?

Memory for each process can be

  • Contiguous (early method)
  • Not contiguous (modern method)

• How to map the logical address to physical address?

• How to reduce time to find physical address?

• What methods are used to solve the big page table problem?