페이징(Paging)과 세그멘테이션(Segmentation)은 메모리의 빈 공간(hole)을 찾아 할당하는 방식은 서로 비슷하다.
하지만 메모리의 효율성만을 놓고 봤을 때는 페이징 기법이 더 효율적이다.
페이징은 프로세스와 메모리를 일정한 크기로 나눠 메모리에 적재하기 때문에 빈공간의 크기가 작지만, 세그멘테이션 기법은 프로세스를 일정하지 않은 크기로 나누기 때문에 크고 작은 빈 공간이 발생한다. (세그멘테이션은 가변 분할 방법처럼 후속 처리가 필요하다)
보안과 공유만을 놓고 봤을 때는 세그멘테이션 기법이 더 효율적이다.
세그멘테이션은 프로세스를 논리적인 내용을 기반으로 나누기 때문에 페이징보다 보안성과 공유성이 좋다.
설계 목적
이러한 이유로 현실에서는 세그멘테이션을 페이징화 하여 사용한다. (intel 386 이후 ver, Window 10등에서 사용)
해당 기법은 각각의 장점만을 취합하여 만든 방법으로 CPU는 논리적인 주솟값으로 MMU에 접근하지만, MMU에서 논리적인 주솟값을 물리적인 주솟값으로 전환하여 메모리에 접근하는 방식이다. (메모리에는 각각의 크기가 같은 페이지 상태로 저장한다.)