1. 개요[편집]
Microsoft Windows에서 사용하는 시스템 파일이다.
2. 역사[편집]
운영체제 종류 및 버전, 시스템 비트 수에 따라 그 위치가 달라진다. 다음은 Windows의 변천사에 따른 시스템 폴더 위치이다.
Windows 시스템 폴더 | |
MS-DOS(16비트) 기반 | \Windows[1] |
9x(16/32비트) 기반 | \Windows\System[2] |
NT 커널(32비트) 기반 | |
NT 커널(64비트) 기반 |
Windows Vista 이후부터 윈도우 설치 폴더 아래에 WinSxS 디렉터리가 존재하기 시작했다.. 윈도우 업데이트 등으로 대체된 기존 파일이 필요한 경우에 대비해서 쌓아두는 공간이다.[7]
[1] 3.x까지만 해도 시스템 구조가 단순해서 대부분이 이 위치에 존재했다. 이것의 잔재로 notepad.exe이나 write.exe와 같은 일부 파일들은 Windows 폴더와 System32 폴더, SysWOW64 폴더에 모두 존재한다.[2] System32도 있지만 일부 드라이버 파일만 보관되며 기타 시스템 운영에 필요한 파일에는 거의 이용되지 않는다.[3] Windows NT 3.x 부터 Windows 2000까지는 WINNT였다.[4] System도 남아 있는데 여기에는 16비트 프로그램의 하위 호환에 사용되는 시스템 파일 및 드라이버 파일이 들어 있다. 현재는 16비트 프로그램이 고사했기 때문에 그다지 의미가 없어졌다. 64비트에서는 아예 비어있다.[5] System32는 64비트용 시스템 파일 보관, SysWOW64는 에뮬레이트된 32비트용 시스템 파일을 보관한다. 이렇게 된 이유는 System32라는 폴더 이름이 너무 오랫동안 쓰여서 괜히 바꿨다가 호환성 문제가 생길 수 있기 때문이다. 그렇게 바뀐 사실을 미처 파악하지 못한 프로그래머들 사이에서 혼선을 빚다가 대응이 안 되는 수도 있을 것이고.[6] 64비트 윈도우에서는 일반적인 32비트 프로그램이 System32 경로의 파일에 접근하려 하면 실제로는 SysWOW64에 있는 파일로 접근하게 되어 있다. 만약 32비트 프로그램이 System32(64비트) 폴더에 접근해야 한다면 프로그래밍 시 특정한 선언을 정의해야 한다. 참고로 WOW64는 'Windows 32-Bit On Windows 64-Bit'에서 나왔는데, '64비트 Windows 위의 32비트 Windows'를 의미한다.[7] Windows XP에도 WinSxS 폴더가 존재하기는 하지만 용도가 달랐다.