Skip to content

Paging

페이징 기법(paging)은 가상기억장치 (Virtual memory)를 모두 같은 크기의 블록으로 편성하여 운용하는 기법이다. 이때의 일정한 크기를 가진 블록을 페이지(page)라고 한다. 주소공간을 페이지 단위로 나누고 실제기억공간은 페이지 크기와 같은 프레임으로 나누어 사용한다.

페이징 기법이 적용된 시스템에서 가상주소는 순서쌍 (p, d)로 나타낼 수 있다. p는 가상기억장치 내에서 참조될 항목이 속해 있는 페이지 번호이고, d는 페이지 p 내에서 참조될 항목이 위치하고 있는 곳의 변위이다.

어떤 프로세스가 현재 참조하고 있는 페이지가 주기억장치 내에 있다면 그 프로세스는 수행될 수 있다. 반대로 주기억장치 내에 없다면 그 해당 페이지를 보조기억장치로부터 읽어와서 페이지 프레임의 한 블록에 저장한다.

C API

C프로그래밍에서 OS에 할당된 기본 PAGE 크기를 획득하는 방법은 아래와 같다.

Portable applications should employ sysconf(_SC_PAGESIZE) instead of getpagesize():

#include <unistd.h>
long sz = sysconf (_SC_PAGESIZE);

See also

Favorite site