공부/OS

페이징(Paging)이란?

셩잇님 2023. 3. 4. 22:25
반응형

 

 

1. 페이징이란?

페이징은 운영 체제에서 컴퓨터 시스템의 메모리를 관리하고 구성하는 데 사용하는 메모리 관리 기법입니다. 페이징은 이전 메모리 관리 기법에서 사용된 가변 크기 파티션으로 인한 메모리 조각화 문제를 해결하는 데 사용됩니다. 페이징에서 메모리는 일반적으로 4KB에서 64KB 범위의 특정 크기의 "페이지"라고 하는 고정 크기 청크로 나뉩니다. 그런 다음 페이지는 시스템에 데이터와 프로그램을 저장하는 데 사용됩니다.

운영 체제는 페이지 테이블을 유지 관리하여 사용 가능한 메모리 페이지와 현재 사용 중인 페이지를 추적합니다. 페이지 테이블은 프로세스에서 사용하는 가상 주소를 메모리에 있는 페이지의 실제 주소에 매핑하는 데이터 구조입니다. 페이지 테이블의 각 항목에는 페이지의 물리적 주소, 상태(예: 사용 중인지 사용 중인지 여부) 및 기타 제어 비트 등 페이지에 대한 정보가 포함됩니다.

프로세스가 메모리를 요청하면 운영 체제는 여유 풀에서 하나 이상의 페이지를 할당하여 프로세스의 가상 주소 공간에 매핑합니다. 이 프로세스를 "페이지 매핑"이라고 합니다. 사용 가능한 페이지가 없는 경우 운영 체제는 일부 페이지를 메모리에서 디스크로 교체하여 공간을 확보할 수 있습니다.

페이징은 메모리의 효율적인 사용, 시스템 안정성 향상, 가상 메모리의 손쉬운 구현 등 다른 메모리 관리 기술에 비해 여러 가지 이점을 제공합니다. 그러나 페이지 테이블을 유지 관리해야 하므로 오버헤드가 추가되고 페이지 스왑으로 인한 성능 문제가 발생할 수 있다는 단점도 있습니다.

 

 

 

반응형

'공부 > OS' 카테고리의 다른 글

단편화(Fragmentation)란?  (0) 2023.03.04
세그멘테이션(Segmentation)이란?  (0) 2023.03.04
데드락(Deadlock)이란?  (0) 2023.03.02
멀티 쓰레드(multi-threading)란 무엇인가?  (0) 2023.03.01
멀티 프로세스(multi-process)란?  (0) 2023.02.27