컴퓨터 최적화에서 Superfetch가 무엇이길래 끄라고 할까?



SuperfetchSuperfetch




SuperFetch는 윈도 비스타의 응용 프로그램 로딩속도를 빠르게 해 주는 

메모리 관리 기능이라고 할 수 있습니다. 윈도 XP에도 비슷한 기능이 있는데

, PreFetch라는 것이었습니다. PreFetch란 사용자가 실행한 프로그램정보를

하드디스크(C:\Windows\Prefetch)에 저장해 놓은 후 부팅시 이 정보를 

메모리(RAM)에 올려놓는 기능입니다.









보통 윈도에서 프로그램을 실행하면 하드디스크에서 연관된파일과 동적 라이브러리(DLL)

 찾아 이를 메모리에 올려놓으면서 실행이 됩니다. PreFetch기능은 자주 쓰는 프로그램 실행과

 관련된 파일 정보를 미리 메모리에 올려놓아 하드 디스크에서 정보를 찾을 필요없이 바로 

메모리로부터 로딩할 수 있게 함으로써 프로그램 로딩 속도를 빠르게 해 주는 기능입니다. 

이론적으로는 그럴듯한데 실상 PreFetch는 그다지 눈에 띄는 로딩속도의 변화를 주지는 

못했습니다. 여러가지 이유가 있는데 그중에 하나는 단 한번 실행된 프로그램이라도 PreFetch

 폴더에 그 내용이 저장되고 이와같은 일이 누적되면 사용자가 실제로 어느 프로그램을 자주 

실행하는 지를 구분하지 못하기 때문이었습니다.







 이 문제 때문에 컴퓨터를 오래 사용하다 보면 PreFetch의 메모리점유량이 

늘어나게 되고 따라서 원래의 기대되었던 기능과는 반대로 오히려 

응용 프로그램 로딩속도를 저하 시키는 부작용을 갖고 있었습니다.

윈도 비스타의 SuperFetch는 PreFetch가 갖고 있는 문제를 해결한 것으로

 알려지고 있습니다.





구체적으로 살펴보면,

  • Superfetch Prefetch가 저장하는 정보에 더해서 사용자가 얼마나 자주 해당 프로그램을 이용하는지 또 언제 주로 이용하는지(예를들어 주말에 주로 이용하는지 등)에 관한 정보도 저장한다고 합니다. 따라서 사용자의 이용패턴에 맞추어 우선순위로 메모리영역으로 옮겨져야 하는 프로그램을 PreFetch보다 훨씬 더 정확하게 알게될 것입니다.
  • 메모리(RAM)이 충분히 크지 않은 경우 여러 프로그램을 실행하다 보면 일부는 메모리(RAM)영역에서 가상메모리(Virtual Memory)로 옮겨지게 됩니다. 가상 메모리는 기본적으로는 하드 디스크에 존재하는 것이기 때문에 메모리보다는 속도가 느립니다. 그런데 SuperFetch는 어떤 프로그램이 메모리에 있던 다른 프로그램정보를 가상메모리(Virtual Memory) 영역으로 옮겨가게 했는지를 모니터링해서 이 프로그램의 이용이 끝나자마자 가상메모리로 옮겨졌던 정보를 다시 메모리(RAM)로옮길 수 있는 능력도 있다고 합니다. 
  •  뿐만 아니라 사용자의 컴퓨터 작업 행태를 기억해 둠으로써 어떤 작업을 우선으로처리해야 하는지도 알 수 있다고 합니다






윈도우 XP 환경과 윈도우 비스타 환경을 비교하여 후자의 경우에 프로그램 로딩속도와 반응속도가 더 빠르다면 그 이유중의 하나는 바로 수퍼패치(SuperFetch) 때문일 것입니다. 이론적으로는 윈도우 비스타를 설치한 직후보다 윈도우 비스타를 설치하고 일정 시일이 지난 후의 프로그램 속도가 더 빨라야 하지만 RC2까지는 체감할 정도의 차이를 보이지는 않는 것 같습니다. 그러나 최종버전이 출시될때쯤, 즉 다른 이슈들(버그, 드라이버문제등)이 해결될 때 쯤이면 수퍼패치(SupelFetch)가 제대로 작동할 것으로 기대됩니다.