Tiny Star

📚 CS [ComputerScience]

Computer Science - 페이징과 세그멘테이션

청크 2023. 11. 7. 14:59

페이징과 세그멘테이션

두 가지 모두 메모리 관리 기법으로 컴퓨터 시스템에서 프로세스의 가상 주소 공간을 물리적 메모리에 매핑하는 방법

 

페이징은 내부 단편화 문제를 해결하고 페이지 교체 알고리즘을 사용하여 페이지 부재를 처리하는데 유용하고

세그멘테이션 논리적인 세그먼트를 사용하여 가상 메모리보다 직관적으로 관리할 수 있으며 동적 크기 세그멘트를 지원하는데 적합

 

 

페이징의 동작

가상 메모리 공간과 물리 메모리 공간을 일정한 크기의 고정 크기 페이지로 나누고

물리 메모리를 동일한 크기의 페이지 프레임으로 분할

 

-> 프로세스의 가상 주소를 페이지 번호와 오프셋(offset)으로 나누어 관리하며, 

     가상 메모리와 물리 메모리 사이에서 페이지 테이블을 사용하여 주소 변환이 가능

 

페이징의 특징

1. 고정 크기 페이지를 사용하기 때문에 내부 단편화 발생이 안됨

2. 페이지 교체 알고리즘을 통해 페이지 부재 시 어떤 페이지를 교체할지 결정

3. 효율적인 메모리 관리와 가상 메모리의 단편화 문제 해결을 지원

 

세그멘테이션

가상 메모리를 논리적 세그먼트로 나누어 관리
각 세그먼트는 논리적인 의미를 가지며, 프로세스의 가상 주소는 세그먼트 번호와 오프셋으로 구성
물리 메모리는 세그먼트 단위로 할당되며, 각 세그먼트는 동적 크기를 가짐

 

세그멘테이션 특징
1. 논리적 세그먼트의 크기가 동적이므로 내부 단편화가 발생하지 않지만
2. 외부 단편화가 발생할 수 있으며, 이를 해결하기 위해 페이징과 함께 사용함

세그멘트 테이블을 사용하여 논리 주소를 물리 주소로 변환