본문 바로가기
Q & A 게시판

파일 매핑

by 이덕휴-dhleepaul 2023. 7. 31.

https://learn.microsoft.com/ko-kr/windows/win32/memory/file-mapping

 

파일 매핑 - Win32 apps

파일 매핑은 파일 내용과 프로세스의 가상 주소 공간 일부를 연결합니다.

learn.microsoft.com

파일 매핑

파일 매핑 은 파일 내용과 프로세스의 가상 주소 공간 일부를 연결합니다. 시스템은 이 연결을 유지하기 위해 파일 매핑 개체 ( 섹션 개체라고도 함)를 만듭니다. 파일 보기는 프로세스에서 파일 내용에 액세스하는 데 사용하는 가상 주소 공간의 부분입니다. 파일 매핑을 사용하면 프로세스에서 임의 입력 및 출력(I/O) 및 순차 I/O를 모두 사용할 수 있습니다. 또한 프로세스는 전체 파일을 메모리에 매핑하지 않고도 데이터베이스와 같은 대용량 데이터 파일에서 효율적으로 작동할 수 있습니다. 여러 프로세스는 메모리 매핑 파일을 사용하여 데이터를 공유할 수도 있습니다.

동적으로 할당된 메모리와 마찬가지로 포인터를 사용하여 파일 뷰에서 읽고 쓰는 프로세스입니다. 파일 매핑을 사용하면 파일이 디스크에 있지만 파일 뷰가 메모리에 있기 때문에 효율성이 향상됩니다. 프로세스는 VirtualProtect 함수를 사용하여 파일 보기를 조작할 수도 있습니다.

다음 그림에서는 디스크의 파일, 파일 매핑 개체 및 파일 뷰 간의 관계를 보여 줍니다.

디스크의 파일은 메모리에 매핑하려는 파일이거나 시스템 페이지 파일일 수 있습니다. 파일 매핑 개체는 파일의 전체 또는 일부만 구성할 수 있습니다. 디스크의 파일에서 지원됩니다. 즉, 시스템에서 파일 매핑 개체의 페이지를 교환할 때 파일 매핑 개체에 대한 모든 변경 내용이 파일에 기록됩니다. 파일 매핑 개체의 페이지가 다시 교환되면 파일에서 복원됩니다.

파일 뷰는 파일 매핑 개체의 전체 또는 일부만 구성할 수 있습니다. 프로세스는 파일 뷰를 통해 파일을 조작합니다. 프로세스는 파일 매핑 개체에 대한 여러 보기를 만들 수 있습니다. 각 프로세스에서 만든 파일 뷰는 해당 프로세스의 가상 주소 공간에 있습니다. 프로세스에 현재 파일 뷰가 아닌 파일 부분의 데이터가 필요한 경우 현재 파일 뷰의 매핑을 해제한 다음 새 파일 뷰를 만들 수 있습니다.

여러 프로세스가 동일한 파일 매핑 개체를 사용하여 로컬 파일에 대한 뷰를 만드는 경우 데이터는 일관됩니다. 즉, 뷰에는 디스크에 있는 파일의 동일한 복사본이 포함됩니다. 여러 프로세스 간에 메모리를 공유하려는 경우 파일이 원격 컴퓨터에 있을 수 없습니다.

자세한 내용은 아래 항목을 참조하세요.

 

 


 

'Q & A 게시판' 카테고리의 다른 글

항공기용어 모음  (0) 2023.08.23
파일 매핑 개체 만들기  (0) 2023.07.31
이란어와 비슷한 Bhojpuri語  (0) 2023.07.11
Is Jesus God?  (0) 2023.07.05
비밀 묘지 복구  (0) 2023.06.18