Basic Idea | Divide memory into fixed-size chunks (pages) | Divide memory into variable-size logical units (segments) |
Unit of Memory | Pages | Segments |
Unit of Address | Page numbers | Segment numbers or offsets within segments |
Hardware | Requires hardware support (page table, TLB) | Requires hardware support (segment table, segment registers) |
Memory Mapping | Pages are mapped linearly to physical memory addresses | Segments are mapped non-linearly to physical memory addresses |
Fragmentation | May result in internal fragmentation | May result in external fragmentation |
Access Control | Can control access to individual pages | Can control access to entire segments or portions of segments |
Memory Sharing | Allows for memory sharing at the page level | Allows for memory sharing at the segment level |