Paging vs. Segmentation
Paging과 Segmentation은 운영체제의 메모리 관리 기법이다.
Paging:
- 프로세스의 주소 공간을 고정 크기의 페이지로 나누어 관리한다.
- 물리적 메모리를 같은 크기의 프레임으로 나눈다.
- 외부 단편화 문제를 해결하고 메모리 할당을 단순화한다.
Segmentation:
- 프로세스를 논리적 단위인 세그먼트로 나누어 관리한다.
- 각 세그먼트의 크기는 가변적이다.
- 프로그램의 논리적 구조를 반영하여 메모리를 관리한다.
Paging과 Segmentation 비교
특성 | Paging | Segmentation |
---|---|---|
분할 단위 | 고정 크기 페이지 | 가변 크기 세그먼트 |
주소 변환 | 페이지 테이블 사용 | 세그먼트 테이블 사용 |
외부 단편화 | 없음 | 발생 가능 |
내부 단편화 | 발생 가능 | 거의 없음 |
메모리 활용 | 효율적 | 유연함 |
구현 복잡도 | 상대적으로 간단 | 복잡함 |
공유와 보호 | 페이지 단위 | 세그먼트 단위 |
사용자 관점 | 투명함 | 프로그램 구조 반영 |
할당/해제 속도 | 빠름 | 상대적으로 느림 |
테이블 크기 | 큼 | 작음 |