관련 용어
- Page(페이지)
- 논리/보조 메모리의 고정 크기 블록
- 페이지는 주 메모리와 보조 저장소 사이의 정보 전송 단위를 나타낸다
- 페이지 세트는 프로세스 작업 세트이며, 작업 세트는 프로세스가 메모리의 다른 부분에 액세스함에 따라 지속적으로 변경된다.
- Memory Management Unit(MMU)
- 논리적 주소를 물리적 주소로 변환하는 하드웨어 구성 요소
- 메모리의 페이지 할당 및 할당 해제도 관리한다.
- Page Table(페이지 테이블)
- MMU가 논리주소를 물리 주소로 변환할 수 있도록 하는 데이터 구조
- Physical memory(물리 메모리)
- 일반적으로 RAM 형태로 컴퓨터에서 사용할 수 있는 실제 메모리.
- 페이징에서 물리적 또는 기본 메모리는 각각 고유한 주소를 갖는 고정 크기 블록 또는 페이지 프레임으로 분할된다.
- 프레임은 프로세스에서 사용되는 페이지와 동일한 크기다.
- Virtual memory(가상 메모리)
- 주 메모리의 확장 역할을 하는 하드 디스크 또는 SSD.
- RAM에서 일시적으로 데이터를 가져와 물리적 메모리 부족을 보완한다.
- 논리적 메모리는 페이지라고 불리는 동일한 크기의 블록으로 나뉜다.
- 각 페이지에는 가상 메모리 내에 논리 주소가 있다.
- Logical address(논리 주소)
- 프로그램이 실행되면 CPU는 각 페이지에 대한 논리 주소를 생성한다.
- MMU는 논리적 주소를 물리적 주소로 변환한다.
- Logical address space(논리 주소 공간)
- 실행 중인 프로그램에 의해 생성된 논리 주소 집합
- Physical address(물리 주소)
- 물리적 메모리 내의 각 프레임에는 고유한 물리적 주소가 있다.
- 주소는 실제 메모리에서 프로세스의 특정 위치를 나타낸다.
- Physical address space(물리 주소 공간)
- 시스템이 참조할 수 있는 모든 가능한 물리적 주소의 범위
정의
- 페이징은 물리적 메모리를 연속적으로 할당할 필요가 없는 메모리 관리 체계다.
- 보조 저장소에서 주 메모리로 페이지 형태의 프로세스를 검색하는 프로세스를 페이징이라고 한다.
- 페이징을 통해 프로세스는 페이지가 물리적 메모리에 로드될 때까지 기다리지 않고 필요한 페이지에 액세스할 수 있다.
- 컴퓨터의 보조 또는 가상 저장소의 데이터를 기본 저장소(RAM)에 저장하고 검색한다
- 프로세스가 RAM에 없는 페이지에 액세스하려고 할 때 OS는 가상 메모리에서 페이지를 가져온다.
- 페이징을 사용하면 프로세스의 물리적 주소 공간이 연속적이지 않게 된다.
- 고정 크기 파티셔닝 방식이다.
- 페이징 기술에서는 보조 메모리와 주 메모리를 동일한 고정 크기 파티션으로 나눈다.
- 페이징은 프로세스가 가상 저장소를 사용할 수 있도록 하는 메모리 관리 방법이다.
- 페이징의 기본 목적은 각 프로시저를 페이지로 분리하는 것이다. 또한, 프레임은 주 메모리를 분할하는 데 사용된다. 이 체계는 프로세스의 물리적 주소 공간이 연속되지 않도록 허용한다.
- 이를 통해 페이징은 메모리 관리의 효율성을 향상시킨다. 운영 체제는 메모리를 페이지로 나누어 필요에 따라 페이지를 메모리 안팎으로 이동한다. (보조(가상) 메모리 ↔ 기본(물리적) 메모리)
- 보조와 기본 메모리 모두 고정 크기 블록으로 나뉘며, 기본 메모리의 블록은 프레임, 보조 메모리의 블록은 페이지
- 페이징에서 물리적 메모리는 프로세스에서 사용하는 페이지와 동일한 크기인 페이지 프레임이라는 고정 크기 블록으로 나뉜다.
- 프로세스의 논리 주소 공간은 페이지 프레임과 동일한 크기인 페이지라고 하는 고정 크기 블록으로 나뉜다.
- 프로세스가 메모리를 요청하면 운영 체제는 하나 이상의 페이지 프레임을 프로세스에 할당하고 프로세스의 논리적 페이지를 물리적 페이지 프레임에 매핑한다.
- 자주 사용하는 페이지만 유지하면 페이지 오류(Page Fault) 수가 줄어들어 시스템 성능과 응답성이 향상된다.
- 프로그램이 실행될 때마다 페이지로 분할되고 OS는 이를 자동으로 보조 메모리에 저장한다.
- 프로세스가 메모리를 요청하면 OS는 기본 메모리의 페이지 프레임을 프로세스에 할당한다. 그 뒤 OS는 프로그램 페이지를 보조 메모리에서 기본 메모리 프레임으로 이동한다.
<aside>
💡 프레임(Frame) : 물리 메모리를 일정한 크기로 나눈 블록
페이지(Page) : 가상 메모리를 일정한 크기로 나눈 블록
</aside>
<aside>
💡 메모리 제어와 관련된 용어
Logical Address or Virtual Address : CPU를 통해 생성되어 메모리에 대한 입장 권한을 얻기 위한 기술에 사용
Logical Address Space or Virtual Address Space : 소프트웨어 프로그램을 통해 생성된 모든 논리 주소 집합
Physical Address : 메모리 장치에서 사용할 수 있고 reminiscence에 대한 승인을 얻기 위해 메모리 컨트롤러에서 사용됨
Physical Address Space : 논리적 주소에 해당하는 모든 물리적 주소의 집합
</aside>