1. Memory Allocation
1.1. contiguous memory allocation
1.1.1. Fixed size Partitioning (MFT)
1.1.2. Variable Size Partitioning ( MVT)
1.1.2.1. First Fit
1.1.2.2. worst Fit
1.1.3. Fragmentation
1.1.3.1. Interanal Fragmentation
1.1.3.2. external fragmentation
1.2. Non contiguous memory allocation
1.2.1. Paging, LA=Pageno+Displacement
1.2.1.1. Pagetable
1.2.1.1.1. PageTable Base Register ( FrameNo)
1.2.1.1.2. address to space translation
1.2.1.1.3. space to address translation
1.2.1.1.4. PTLR
1.2.1.2. Memory Protection
1.2.1.2.1. Valid bit
1.2.1.2.2. invalid bit
1.2.2. segmentation with paging LA=segno+pagesize+displacement
1.2.2.1. segment table
1.2.2.2. pageable
1.2.3. segmentation LA=SegmentNo+Displacement
1.2.3.1. segment Table
1.2.3.2. segment base and segment limit
2. Virtual Memory
2.1. Demand Paging ( Swap Space: hard disk space) Locality of reference
2.2. Page fault: Present bit
2.3. dirty bit ( modifications done: rewriting on the disk)
2.4. Page Replacement Algorithms: Reference string
2.4.1. First in First Out
2.4.1.1. Suffers from Belady's Anomaly
2.4.2. Least Frequently Used: OPT
2.4.3. Least Recently Used
2.4.3.1. Counters & Stack
3. Thrashing
3.1. locality model approach
4. Address Binding
4.1. logical address space vs physical address space
4.2. Dynamic Loading
4.3. Dynamic linking & Shared Libraries
5. Swapping
5.1. context switch time
5.1.1. swapping (new process) & Swapout ( from memory to backing store)