Courses/Computer Science/CPSC 457.F2014/Lecture Notes/VirtualMemory

From wiki.ucalgary.ca
Jump to: navigation, search

Virtual Memory

In this session we will consider the basic definition of and traditional need for virtual memory.

We started with a review/refresh of hardware-level memory address translation.

Notes

slides: http://pages.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC457/talks/vmem2014.pdf

The code that calls sbrk() to expand the heap memory region and write to it via memset() to exhaust available memory. sample run

Sample run for activity 1

x86 page table flags

declaration of the mem_map array (for iterating over page frame meta-data for the purposes of allocation management)

the struct page representing the items in the mem_map array (i.e., meta-data about the physical page frames)

the kernel OOM Killer code

Scribe Notes

Readings

  • MOS: 3.3 "Virtual Memory" (this subsection also contains a review of paging and TLBs)
  • MOS: 3.7.3 "Segmentation with Paging: The Intel Pentium"