상세 컨텐츠

본문 제목

페이징과 세그멘테이션

카테고리 없음

by 둥근돔 2023. 11. 7. 16:11

본문

페이징 

프로세스를 일정한 크기의 페이지로 분할해서 메모리에 적재하는 방식이다.

  • 페이지: 고정 사이즈의 가상 메모리 내 프로세스 조각
  • 프레임: 페이지 크기와 같은 주 기억 장치의 메모리 조각

하나의 프로세스가 사용하는 메모리 공간이 연속적이어야 한다는 제약을 없애는 메모리 관리 방법이다.

 

장점

  • 논리 메모리는 물리 메모리에 저장될 때 연속되어 저장될 필요가 없고, 물리 메모리의 남는 프레임에 적절히 배치되기 때문에 외부 단편화가 생기지 않는다.

단점

  • 내부 단편화 문제가 발생할 수 있다. 페이지 단위를 작게하면 해결할 수 있지만, 페이지 매핑 과정이 복잡해져 오히려 비효율적이다.

세그멘테이션

세그먼트는 가상 메모리를 서로 크기가 다른 논리적 단위로 분할한 것을 의미한다. 세그멘테이션은 프로세스를 물리적 단위인 페이지가 아닌 논리적 단위인 세그먼트로 분할해서 메모리에 적재하는 방식이다.

돼지를 도축할 때, 페이징은 돼지를 같은 크기로 잘라서 보관하는 것이라면 세그멘테이션은 부위 별로 잘라서 보관한다고 이해하면 된다. 이렇듯 세그먼트는 의미가 같지 않는 논리적 내용을 기준으로 프로그램을 분할하기 때문에 크기가 같지 않다.

 

장점

  • 내부 단편화 문제가 해소된다.
  • 보호와 공유 기능을 수행할 수 있다. 프로그램의 중요한 부분과 중요하지 않은 부분을 분리하여 저장할 수 있고, 같은 코드 영역은 한 번에 저장할 수 있다.

 

단점

  • 외부 단편화 문제가 생길 수 있다.