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

From wiki.ucalgary.ca
< Courses‎ | Computer Science‎ | CPSC 457.F2013‎ | Lecture Notes
Revision as of 21:22, 13 October 2013 by Vrvardeleon (talk | contribs) (Scribe Notes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Virtual Memory

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

Notes

slides: http://pages.cpsc.ucalgary.ca/~locasto/teaching/2013/CPSC457-Fall/talks/vmem.pdf

It is worthwhile contemplating the meaning of the term "virtual" for a while.

(recall memory addressing)

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"