운영 체제(OS)에서의 "파일-백업 페이지(File-backed Page)"는 파일 시스템에 있는 특정 파일에 직접 매핑되는 메모리 페이지를 말합니다. 이러한 페이지들은 프로세스가 파일의 내용을 메모리에 매핑할 때 생성되며, 이는 메모리 매핑된 파일 입출력(I/O)에 사용됩니다. 파일-백업 페이지는 운영 체제의 메모리 관리와 파일 시스템과의 상호작용에서 중요한 역할을 합니다.
정의: 파일-백업 페이지는 파일의 내용을 메모리에 직접 반영하는 메모리 페이지입니다. 이는 파일 내용을 프로세스의 주소 공간으로 매핑하여, 파일 데이터에 대한 빠른 접근과 수정을 가능하게 합니다.
사용 사례: 가장 흔한 예는 메모리 매핑된 파일 입출력입니다. 프로그램이 mmap과 같은 시스템 호출을 사용하여 파일을 메모리에 매핑하면, 운영 체제는 해당 파일의 내용을 메모리 페이지로 매핑합니다.
메모리 매핑: 프로세스가 파일을 메모리에 매핑하면, 운영 체제는 파일의 내용을 메모리 페이지에 매핑합니다. 이 페이지들은 파일의 실제 데이터를 반영합니다.
페이지 폴트 처리: 프로세스가 처음으로 파일-백업 페이지에 접근하면 페이지 폴트가 발생할 수 있습니다. 이 경우, 운영 체제는 해당 파일의 적절한 부분을 읽어 메모리에 로드합니다.
데이터 동기화: 프로세스가 이 페이지들을 변경하면, 변경 사항은 나중에 파일 시스템에 다시 쓰여질 수 있습니다. 이를 통해 파일과 메모리 간의 데이터 동기화가 이루어집니다.
지속성: 파일-백업 페이지는 디스크에 저장된 파일과 직접 연결되어 있으므로, 데이터는 지속성을 가집니다.
효율적인 파일 접근: 이 방식을 사용하면, 파일 입출력을 위한 시스템 호출의 오버헤드 없이 파일 데이터에 접근하고 수정할 수 있습니다.
동기화 옵션: 자동 또는 수동으로 파일과 메모리 간의 동기화를 관리할 수 있습니다.
파일-백업 페이지는 파일 데이터를 효율적으로 메모리에 매핑하고, 프로세스가 파일 데이터에 대해 빠르고 직접적인 접근을 가능하게 함으로써, 성능 향상과 시스템 자원의 효율적 사용에 기여합니다. 이는 특히 대용량 파일 처리와 고성능 파일 시스템에서 중요한 역할을 합니다.