추천, 2024

에디터의 선택

운영 체제에서의 페이징과 분할의 차이점

운영 체제의 메모리 관리는 필수 기능으로 프로세스를 실행하기 위해 메모리를 할당하고 프로세스가 더 이상 필요하지 않을 때 메모리를 할당 해제합니다. 이 기사에서는 페이징 및 세그멘테이션이라는 두 가지 메모리 관리 방식에 대해 설명합니다. 페이징과 세그먼트 화의 기본적인 차이점은 "페이지"는 고정 크기 블록이고 "세그먼트"는 가변 크기 블록이라는 것입니다.

아래 비교 차트를 사용하여 페이징과 세분화의 차이점에 대해 설명합니다.

비교 차트

비교의 근거페이징분할
기본페이지는 고정 블록 크기입니다.세그먼트는 가변 크기입니다.
분열페이징은 내부 단편화로 이어질 수 있습니다.세분화는 외부 분열로 이어질 수 있습니다.
주소사용자 지정 주소는 CPU로 페이지 번호와 오프셋으로 나뉩니다.사용자는 각 주소를 세그먼트 수와 오프셋 (세그먼트 제한)의 두 가지 양으로 지정합니다.
크기하드웨어가 페이지 크기를 결정합니다.세그먼트 크기는 사용자가 지정합니다.
페이징은 각 페이지의 기본 주소를 포함하는 페이지 테이블을 포함합니다.분할에는 세그먼트 수와 오프셋 (세그먼트 길이)을 포함하는 세그먼트 테이블이 포함됩니다.

호출의 정의

페이징메모리 관리 체계 입니다. 페이징은 프로세스가 비 연속적인 방식으로 메모리에 저장되도록합니다. 프로세스를 불연속 방식으로 저장하면 외부 조각화 문제가 해결됩니다.

페이징을 구현하기 위해 물리적 메모리 공간과 논리적 메모리 공간 은 동일한 고정 크기 블록으로 분할됩니다. 이러한 고정 크기의 실제 메모리 블록을 프레임 이라고하며 고정 크기의 논리 메모리 블록을 페이지 라고 합니다 .

프로세스를 실행해야 할 때 논리 메모리 공간의 프로세스 페이지가 실제 메모리 주소 공간의 프레임에로드됩니다. 이제 프레임에 액세스하기 위해 CPU 에서 생성 된 주소는 페이지 번호페이지 오프셋의 두 부분으로 나뉩니다.

페이지 테이블 은 페이지 번호를 인덱스로 사용합니다. 각 프로세스는 논리적 주소를 물리적 주소에 매핑하는 별도의 페이지 테이블을 가지고 있습니다. 페이지 테이블은 물리적 메모리 공간의 프레임에 저장된 페이지의 기본 주소를 포함합니다. 페이지 테이블에 의해 정의 된 기본 주소는 페이지가 저장된 실제 메모리에서 프레임 번호를 정의하기 위해 페이지 오프셋과 결합됩니다.

분할의 정의

페이징과 마찬가지로 세그먼테이션 또한 메모리 관리 체계 입니다. 사용자의 메모리보기를 지원합니다. 프로세스는 가변 크기 세그먼트 로 나누어 져 논리 메모리 주소 공간에로드됩니다.

논리 주소 공간은 가변 크기 세그먼트의 모음입니다. 각 세그먼트에는 이름길이가 있습니다. 실행을 위해 논리 메모리 공간의 세그먼트가 실제 메모리 공간에로드됩니다.

사용자가 지정한 주소에는 세그먼트 이름오프셋의 두 가지 수량이 포함됩니다. 세그먼트는 세그먼트 이름 대신 세그먼트 번호로 참조되고 참조됩니다. 이 세그먼트 번호는 세그먼트 테이블 의 인덱스로 사용되며 오프셋 값은 세그먼트의 길이 또는 한도 를 결정합니다. 세그먼트 번호와 오프셋은 함께 물리 메모리 공간에서 세그먼트의 주소를 생성합니다.

페이징과 세분화의 주요 차이점

  1. 페이징과 세그먼트 화의 기본적인 차이점은 페이지가 항상 고정 블록 크기 인 반면 세그먼트는 가변 크기 인 점 입니다.
  2. 페이징은 페이지가 고정 블록 크기이기 때문에 내부 단편화 로 이어질 수 있지만 프로세스가 메모리에서 내부 단편을 생성 할 전체 블록 크기를 확보하지 못할 수도 있습니다. 메모리가 가변 크기 블록으로 채워지면 세분화 로 인해 외부 조각화 가 발생할 수 있습니다.
  3. 페이징에서 사용자는 하드웨어로 페이지 번호와 오프셋 으로 나눈 주소로만 하나의 정수 를 제공합니다. 다른 한편, 세분화에서 사용자는 세그먼트 수와 오프셋의 두 가지 수량으로 주소를 지정합니다.
  4. 페이지 크기는 하드웨어에 의해 결정되거나 지정됩니다. 반면 세그먼트의 크기는 사용자 가 지정합니다.
  5. 페이징에서 페이지 테이블논리 주소를 실제 주소에 매핑하고 실제 메모리 공간의 프레임에 저장된 각 페이지의 기본 주소를 포함합니다. 그러나 세그먼트 화에서 세그먼트 테이블논리 주소를 실제 주소로 매핑하며 세그먼트 번호와 오프셋 (세그먼트 제한)을 포함합니다.

결론:

페이징 및 분할은 모두 메모리 관리 체계 입니다. 페이징은 메모리를 고정 크기 블록 으로 분할하는 반면 세그먼트 화는 메모리 공간을 가변 블록 크기의 세그먼트 로 나눕니다. 페이징이 내부 단편화로 이어지는 경우 세분화는 외부 단편화로 연결됩니다.

Top