Add the rest of university notes

This commit is contained in:
John Gatward committed 2026-10-04 14:02:35 +01:00
1 parent c1b84c7f7d
commit d0f27f276b
366 files changed
+9844 -110

No files matched your search

+5 -5
View File
@@ -40,7 +40,7 @@ When a program is run, it does not know in advance which partition it will occup
**Protection**: Once you can have two programs in memory at the same time, protection must be enforced.
![relative_mmu](/lectures/osc/assets/F.png)
![relative_mmu](assets/f.png)
**Logical Address**: is a memory address seen by the process
@@ -76,7 +76,7 @@ Two special purpose registers are maintained in the CPU (the **MMU**) containing
>
> NOTE: This requires **hardware support** (which didn't exist in the early days).
<img src="/lectures/osc/assets/G.png" alt="registers" style="zoom:80%;" />
<img src="assets/G.png" alt="registers" style="zoom:80%;" />
#### Dynamic Partitioning
@@ -91,7 +91,7 @@ Two special purpose registers are maintained in the CPU (the **MMU**) containing
> * A **variable number of partitions** of which the **size** and **starting address** can **change over time**.
> * A process is allocated the **exact amount** of **contiguous memory it requires**, thereby preventing internal fragmentation.
![dynamic_partitioning](/lectures/osc/assets/H.png)
![dynamic_partitioning](assets/h.png)
**Swapping** holds some of the **processes** on the drive and **shuttles processes** between the drive and main memory as necessary
@@ -147,6 +147,6 @@ A more **sophisticated data structure** is required to deal with a **variable nu
> * Each link **contains data items** e.g. **start of memory block**, **size** and a flag for free and allocated
> * It also contains a pointer to the next link.
![Memory Management with linked lists](/lectures/osc/assets/J.png)
![Memory Management with linked lists](assets/j.png)
![Linked lists for finding free memory](/lectures/osc/assets/K.png)
![Linked lists for finding free memory](assets/k.png)