MMU는 메모리를 관리하는 하드웨어입니다. MMU는 상대 주소를 절대 주소로 변환하고, 메모리 내 프로세스에 대해 가져오기, 배치, 재배치를 책임집니다.

MMU의 역할
- 가져오기 : 프로그램을 메모리로 가져옴
- 배치 : 프로그램을 메모리에 어떻게 올려 놓을지 결정함
- 재배치 : 메모리가 꽉 찬 경우, 특정 프로세스를 스왑 아웃
단편화
내부 단편화는 메모리 할당 영역과 프로세스의 크기가 같지 않아 공간이 남는 현상입니다. 외부 단편화는 메모리에 프로세스의 크기만큼의 공간이 남아 있지만, 조각 공간으로 나누어져 프로세스에 할당할 수 없는 현상입니다.
- 저장장치의 빈 공간이 여러개의 조각으로 나누어진 현상
- 시스템에 유발할 수 있는 문제
가변 분할 방식
- 연속 할당 기술
- 프로세스의 크기만큼 메모리 분할 및 할당
- 외부 단편화 발생
- 빈 공간의 관리가 어려움
➡️ 작은 조각들이 큰 프로세스 덩어리 사이에 위치해 프로세스 덩어리를 옮겨야 함

고정 분할 방식
- 비연속 할당 기술
- 정해진 크기만큼 메모리 분할 및 할당
- 내부 단편화 발생

버디 시스템
- 프로세스의 크기를 수용할 수 있는 최소의 영역을 찾는 방식
- 프로세스의 크기에 비례해 메모리 분할 및 할당
- 내부 단편화에 취약
- 외부 단편화 완화
- 비슷한 크기의 조각끼리 모여 있어 큰 조각으로 만들 수 있음
