Dynamic Partitioning


- make partition when process input come
- Each process is allocated exactly as much memory as it requires
- Has external fragment (hole is external with no internal)
- Use compaction to shift processes to free memory by external (less use by i/o problem)
> **Compaction is possible only if relocation is dynamic, and is done at execution time**
> I/O problem - Do I/O only into Operating System buffers
<details><summary>

Possible algorithms of placement</summary>

1. Best-fit - The fragment as small as possible
2. First-fit
3. Next-fit: choose first hole from last placement
4. Worst-fit: allocate the largest hole
</details>

> **Overlays** - choose memory layout by program call graph to efficient memory distribute by function module code






