다음을 통해 공유


File-Backed 및 페이지-File-Backed 섹션

모든 메모리 섹션은 일시적으로 또는 영구적으로 공유할 데이터를 포함할 수 있는 디스크 파일로 지원됩니다 ("백업").

섹션을 만들 때 섹션을 백업할 특정 데이터 파일을 식별할 수 있습니다. 이러한 섹션을 파일 뒷받침 섹션이라고 합니다.

백업 파일을 지정하지 않으면, 해당 섹션은 시스템의 페이징 파일을 통해 지원되며, 이러한 섹션을 페이지 파일 지원 섹션이라고 합니다. 파일로 지원된 섹션의 데이터는 디스크에 영구적으로 기록될 수 있습니다. 페이지 파일로 지원되는 섹션의 데이터는 디스크에 영구적으로 기록되지 않습니다.

파일 기반 섹션은 디스크에 있는 실제 파일의 내용을 반영합니다. 다시 말해, 메모리 매핑된 파일입니다. 지정된 파일 지원 섹션 내의 메모리 위치에 대한 액세스는 연결된 파일의 위치에 대한 액세스에 해당합니다.

프로세스가 보기를 읽기 전용으로 매핑하는 경우 보기에서 읽은 모든 데이터는 파일에서 투명하게 읽습니다. 마찬가지로 프로세스가 뷰를 읽기/쓰기로 매핑하는 경우 뷰에서 읽거나 뷰에 쓴 모든 데이터는 파일에서 투명하게 읽거나 파일에 기록됩니다. 두 경우 모두 보기의 가상 메모리는 페이지 파일의 공간을 사용하지 않습니다.

파일 지원 섹션은 쓰기 시 복사로 매핑될 수도 있습니다. 이 경우 뷰의 데이터는 파일에서 읽지만 뷰에 기록된 모든 데이터는 파일에 기록되지 않습니다. 대신 최종 보기가 매핑 해제되고 섹션의 마지막 핸들이 닫힌 후에 삭제됩니다.

페이지 파일로 백업된 섹션은 디스크의 명시적 파일이 아닌 페이지 파일의 백업을 받습니다. 페이지 파일로 지원되는 섹션에 대한 변경 내용은 섹션 개체가 제거된 후 자동으로 삭제됩니다. 페이지 파일로 지원되는 섹션은 두 프로세스 간의 공유 메모리 세그먼트로 사용될 수 있습니다.

파일 지원 여부와 관계없이 모든 섹션을 두 프로세스 간에 공유할 수 있습니다. 동일한 실제 메모리 주소 범위는 각 프로세스 내의 가상 메모리 주소 범위에 매핑됩니다(반드시 동일한 가상 주소는 아님).