No Memory Abstraction
Running multiple programs by static relocation: Modify the second program on the fly as it loaded it into memory.
The lack of memory abstraction is still common in embedded and smart card systems.
A Memory Abstraction: Address Spaces
Address space is the set of addresses that a process can use to address memory.
Dynamic relocation uses base and limit registers to map each process’ address space onto a different part of physical memory in a simple way.
The disadvantage of relocation using base and limit registers is the need to perform an addition and comparison on every memory reference.
Swapping is used to deal with memory overload, bringing in each process in its entirety, running for a while, then putting it back on the disk.
When swapping creates multiple holes in memory, it’s possible to combine them all into one big one, which is called memory compaction. Free memory can be recorded as bitmaps or linked lists.