Introduction
Warning
This portion of the book is under construction, not ready to be read
Outline
intro OS-MM-L01 2-6
Overview - Why do we need a memory manager
overview of all the chapters
Combine physmem and virt-seg into “Towards paged virtual memory” Reduce the materials for both these sections, get through segmentation faster, and start on paged virtual memory in L01
physmem OS-MM-L01 7-14
how program laid out - peter - address space and program loading
relocation
compaction
challenges
virt-seg OS-MM-L01 15-64
picture of MMU - sends physical address over bus
segmentation hardware - translation
what is virtual memory
physical mem management
swapping
compaction
keeping track of free memory
challenges
add section at the beginning on interface virtual memory try to get through this in L01
virt-paging OS-MM-L02 0-21
MMU with some mapping hardware - same picture, but now table
page frames and virtual pages - keeping track of which memory used
mapping & notion of faults
page table entry
contrast to segmentation, paging of blocks… rather than swapping entire program
what we use for: - anonymous - program, - file backed - mention file caching - page fault
concluding remarks - once you have multi-level, massive address space. - until now, described HW, and the benefits of having paged virtual memory, next chapters describe some of the key policies, mechanisms
L03 is very short, we should start on L04 in L03
page table organizations: OS-MM-L02 21-end + L03 0-18 - single level. - multi-level page table. - inverted
TLB - global, local, tagged TLB - software managed TLB
we are covering way too much in L04
reclamation OS-MM-L04 1-37
describe how we got here … we run out of memory, … using
describe all the policies
FIFO
CLOCK
belady anomaly
… all from peter
page-sizes OS-MM-L04 38-44
why big, why small, supporting multiple
misc OS-MM-L04 46-47
sharing-memory
sharing page frames
sharing page table pages
pinning memory
anonymous memory
file backed memory
buffer-cache OS-MM-L04 52- 62
most memory used.
MM dynamics OS-MM-L04 63- 68
anonymous - zero filled first access..
file backed
COW
realworld OS-MM-L05
Linux implementation
concl
Review of MM
20. Introduction#
To paraphrase Parkinson’s law programs expand to fill the memory available to hold them, and home computers have millions times more memory than they had when Larry was young. As discussed in the introduction memory is fast but small and expensive compared to storage, but it is volatile, all changes are lost after a reboot. Memory management is the part of the operating system that allocates, frees and tracks the usage of memory. It manages the virtual memory of each process, and all the physical memory of the system; making it available to different processes through virtual memory depending on their demand.
Today, most machines support paged virtual memory, but before we get into that, we motivate today’s memory management by discussing systems without virtual memory and with segmented virtual memory. The next chapter describes…