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

= 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

 * s1
 * s2
 * s3

= 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"