요즘 세상엔 아무래도 상관 없는 이야기, 플로피 디스크의 경우

요즘 세상엔 아무래도 상관 없는 이야기, 플로피 디스크의 경우
Submitted by hyacinth @
윈도우에서 애플리케이션을 실행하면 메모리를 어떻게 잡을까? 시스템은 애플리케이션을 구성하는 .exe 파일을 열어서 애플리케이션을 구성하는 코드와 데이터의 크기를 얻어낸다. 이후 프로세스의 주소 공간에 얻어낸 크기만큼의 영역을 예약하고, 이 영역에 대한 커밋된 물리적 저장소를 .exe 파일 자체라고 설정한다. 이처럼 시스템은 페이징 파일에 공간을 할당하는 대신 프로세스의 주소 공간에 예약된 영역을 활용하여 .exe 파일의 내용이나 데이터 등을 사용한다. (이렇게 하면 애플리케이션은 더 빠르게 로딩될 수 있고, 페이징 파일의 크기를 증가시키지 않고 그대로 유지할 수 있게 된다.)

플로피 디스크의 경우 - 이 때는 조금 다른데, 만약 .exe나 DLL 파일이 플로피 디스크로부터 실행되면 플로피 디스크에 있는 파일 전체를 시스템의 램으로 복사한다. 또한 페이징 파일에 파일 이미지를 저장할 충분한 저장소를 할당한다. 그 이유는, 플로피 디스크에서 애플리케이션을 수행할 경우 종종 다른 플로피 디스크를 삽입하기 위해 기존 플로피 디스크를 제거해야 하는 경우가 생긴다. 마이크로소프트는 애플리케이션이 정상적으로 동작하도록 하기 위해 플로피 디스크로부터 실행 파일을 수행할 때 이러한 방법을 사용할 수 밖에 없었다.

물론 최근에는 플로피 디스크가 거의 사용되고 있지 않지만 그럼에도 시스템은 애플리케이션이 정상적으로 동작할 수 있도록 플로피 디스크에서 파일이 실행되면 램으로 복사한다. 얼마 더 지나면 이건 정말 아무래도 상관없는 이야기가 될 것이다.

CD-ROM이나 네트워크 드라이브 같은 이동식 미디어는 /SWAPRUN:CD나 /SWAPRUN:NET 링크 스위치를 이용하여 이미지가 링크되지 않는 이상, 이미지를 램으로 복사하지 않는다.


» track back

이 글에는 0 개의 댓글이 있습니다.