파일의 이미지는 "시스템이 파일 이미지를 저장하기에 충분한 저장 공간을 페이징 파일에서 할당"하는 것과 같은 것을 의미합니까?이미지 파일
이미지 파일
답변
만약 내가 이것이 무엇이라고 생각한다면, 당신은 DLL
s와 비슷한 짐승들에 대해 이야기하고 있습니다 : 실행중인 프로세스에로드되는 코드.
이 경우 전체 DLL이 (가상) 메모리에 매핑되고이 memeory가 실행 가능으로 표시됩니다. 이를 수행해야 할 필요성은 일반적으로 코드를 디스크에서 실행할 수는 없지만 메모리에서 실행해야한다는 사실에 기인합니다.
파일 이미지는 일반적으로 실행 파일의 내용입니다. 로더는 응용 프로그램 (EXE, ... DLL, SYS ..)을 실행할 수 있기 전에 매체 (파일의 내용에 포함 된)의 적절한 실행 부분을 메모리 (매핑)에 복사합니다. 성공적으로 완료되면 로더가 엔트리 포인트 (메모리에 있음)로 점프하고 프로그램을 실행합니다.
이것은"표준 "방식입니다 (실행 파일의 99 %는 파일에서 시작됩니다.) 실행 파일이 파일에 있지 않지만 메모리에서 직접 시작되는 경우가 있습니다. 다른 이야기입니다. – mox
매핑이란 파일의 내용을 디스크에서 메모리로 간단히 복사하는 것을 의미합니까? – user1232138
매핑은 가상 메모리 영역을 표시하기 위해 메모리 관리자가 사용하는 메커니즘입니다. 매핑이 수행되면 파일의 내용이 이미 메모리에 있습니다 (MapViewOfFile - http://stackoverflow.com/questions/9718616/what). - 지도보기 오팔 반환) – mox
나는 두 가지 대답이 너무 좁게 실행 파일에 집중한다고 생각합니다. 파일의 유형은 부적합합니다. "파일의 이미지"는 단순히 해당 파일의 복사본입니다. 메모리 또는 페이지 파일에있을 수 있지만 위치에 상관없이 파일의 복사본입니다. –