Exam2 Topics ================================= Memory Virtualization ~~~~~~~~~~~~~~~~~~~~~~ Address spaces Memory allocation (malloc(), free()) Types of memory: stack and heap Address translation (virtual and physical addresses) Base and bounds address translation Segmentation Free space management External fragmentation Internal fragmentation Free space management strategies Paging Virtual page number (VPN) and offset Physical frame number Page tables and page table entries Page sizes Translation-lookaside Buffers (TLBs) Swap space Page-faults Page-replacement policies (e.g., Optimal, FIFO, Random, LRU, Clock) Concurrency ~~~~~~~~~~~~~~~~~~~~~~ Critical section Race condition Indeterminate programs Mutual exclusion Threads Thread creation Thread completion Locks Pthread locks Spin-wait Test-and-set instructions Spin locks