Post

크래프톤 정글 주제별 탐구 - 페이징

정의

페이징 기법(Paging)이란, 메인 메모리에서 보조 기억 장치로부터 데이터를 저장하고 검색하는 메모리 관리 기법이다.

가상 메모리를 특정 단위(일반적으로 윈도우에서는 4KB)를 기준으로 모두 같은 크기의 페이지(블럭)로 나누어 운용하는 방식을 뜻한다.

물리 메모리의 경우에는 페이지 크기와 같은 프레임으로 나누어 사용한다.

일반적으로 페이징 기법을 사용하는 경우, 가상주소는 순서쌍 $(p, d)$ 로 나타낼 수 있다.

$p$의 경우, 이는 가상 메모리에서 참조될 항목이 속한 페이지 번호이고, $d$는 페이지 $p$의 내부에서 참조될 항목이 위치하는 곳을 나타낸다.

만약, 읽고자 하는 페이지가 메인 메모리에 캐시되어 있지 않다면, page fault 오류가 발생하고 이는 시스템 콜의 오류 핸들러 중 page fault 오류 핸들러에게 넘어간다. 이를 해결하기 위해 보조 기억 장치에서 해당하는 페이지를 가져오게 된다. 이 때 교체가 필요하다면, 희생자 페이지를 선별하고, 이와 교체하는 작업을 진행한다. 이후, 다시 읽고자 하는 페이지를 찾는 작업을 재시작하여, 원하는 페이지를 메인 메모리에서 찾아 이를 반환한다.

장단점

페이징 기법을 사용하는 주된 목적은 외부 단편화 문제를 해결하는 것이다. 페이지를 기반으로

프레임과 페이지

프레임과

This post is licensed under CC BY 4.0 by the author.