Address in Computers
- 메모리의 위치
- 다양한 형태로 address를 나타낸다.
- Physical address vs Logical address
- Absolute address vs Relative address
- Physical address : 어디 위치에 딱 찍어서
- Logical address(LA) or virtual address(VA) : CPU는 VA만 가지고 돌다가 메모리가 필요하면 Memory Management Unit(MMU)을 통해 LA to VA로 translate한다.
- Processors see logical address.
Fixed Partitions
LA->PA
- Physcial memory를 chunk로 쪼개고 각각의 chunk를 프로세스에게 할당하고 relative address
- physical address = base address + virtual address
![](https://velog.velcdn.com/images%2Fjieuni%2Fpost%2Fd8abd249-28f9-4a68-b217-0cbc9c568c47%2Fimage.png)
- 장점
- 구현하기 쉽다.
- access를 validate하기 쉽다.
- 빠른 context switch
- 단점
- Partition size
- Internal Fragmentation
load되는 데이터가 파티션보다 작을 때, 파티션의 내부 공간의 낭비가 발생하는 현상
Variable Partition
쪼갤 필요없이 운영체제에게 얼마나 필요한지 정해주고
- 장점
- no internal fragmentation
- 단점
- External fragmentation : 어떤 resource를 variable size로 쪼개서 할당해주고 반납하는 것을 반복하다 보면 free resource가 작은 chunk가 되어 뿌려지기 때문에 큰 것을 allocate할 때는 비어있는 chunk를 allocate해야하는데 그것들이 contiguous 하여 allocate가 불가능하다.
solution
Contiguous : Compaction(메모리 공간들 재배치)
![](https://velog.velcdn.com/images%2Fjieuni%2Fpost%2Fd1b7d549-ef12-46d1-9939-a6e4367becb2%2Fimage.png)
Non-contiguous : Paging and segmentation
![](https://velog.velcdn.com/images%2Fjieuni%2Fpost%2F538052ee-0d74-4713-8e68-9efdcd20027a%2Fimage.png)
Segmentation