Windows의 System32폴더와 SysWOW64폴더의 차이점은 무엇입니까?
64 비트 버전의 Windows에서는 두 개의 별도 Program Files 폴더가 있습니다. 그러나 그것은 끝나지 않습니다. DLL 라이브러리와 실행 파일이 저장된 두 개의 별도 시스템 디렉토리 (System32 및 SysWOW64)가 있습니다. 이름에도 불구하고, System32는 64 비트 파일로 가득 차 있고 SysWOW64는 32 비트 파일로 가득합니다. 그래서 무엇을 주는가??
System32 란 무엇입니까??
System32 디렉터리에는 Windows 시스템 파일, 프로그램에서 사용되는 .DLL 라이브러리 파일 및 Windows의 일부인 .EXE 프로그램 유틸리티가 들어 있습니다. 여기에있는 대부분의 파일은 Windows 운영 체제의 일부이지만 타사 소프트웨어 프로그램은 때때로 자신의 DLL 파일도이 폴더에 설치합니다.
시스템에서 실행중인 응용 프로그램은 Program Files 폴더 또는 다른 곳에 설치 될 수 있지만 종종 System32 폴더에서 시스템 전체 라이브러리를로드합니다.
32 비트 및 64 비트 라이브러리 분리
64 비트 버전의 Windows에서는 64 비트 프로그램과 해당 파일이 들어있는 C : \ Program Files 폴더와 32 비트 프로그램과 해당 파일이 들어있는 C : \ Program Files (x86) 폴더가 있습니다. 64 비트 프로그램은 64 비트 DLL 파일이 필요하고 32 비트 프로그램은 32 비트 DLL 파일이 필요하기 때문에 이러한 파일을 분리하는 것이 좋습니다.
32 비트 프로그램이 필요한 DLL 파일을로드하고 64 비트 버전을 찾고로드하려고하면 충돌이 발생합니다. 64 비트 및 32 비트 소프트웨어를 서로 다른 두 개의 Program Files 폴더로 분리하면 Windows가 서로 섞이지 않고 문제가 발생하지 않도록합니다.
그러나 모든 DLL 파일이 Program Files에 저장되는 것은 아닙니다. Windows에 포함 된 많은 시스템 라이브러리는 C : \ System32에 저장되며 일부 프로그램은 여기에 자체 라이브러리 파일을 덤프합니다. 따라서 Windows에는 별도의 32 비트 및 64 비트 Program Files 폴더가있는 것과 마찬가지로 32 비트 및 64 비트 버전의 System32 폴더가 별도로 있습니다.
System32 및 SysWOW64
32 비트 컴퓨터에서 모든 32 비트 프로그램은 C : \ Program Files에 파일을 저장하고 시스템 전체 라이브러리 위치는 C : \ System32입니다..
64 비트 컴퓨터에서 64 비트 프로그램은 C : \ Program Files에 파일을 저장하고 시스템 전체 C : \ Windows \ System32 폴더에는 64 비트 라이브러리가 저장됩니다. 32 비트 프로그램은 C : \ Program Files (x86)에 파일을 저장하고 시스템 전체 폴더는 C : \ Windows \ SysWOW64입니다..
이것은 분명히 반 직관적입니다. 이름에 "32"가 있지만 System32 폴더에는 64 비트 라이브러리가 들어 있습니다. 그리고 이름이 64 인 SysWOW64 폴더에도 32 비트 라이브러리가 포함되어 있습니다. 적어도 64 비트 버전의 Windows.
일반적으로이 사실을 알 필요가 없습니다. 사용하는 Windows 운영 체제와 프로그램은 자동으로 파일을 올바른 위치에두고 올바른 폴더를 사용합니다. 그러나 DLL 파일을 올바른 위치에 수동으로 설치하거나 설치 위치를 찾는 경우 (매우 드문 경우), 어떤 파일인지 알아야합니다.
WOW64, 설명
여기서 "WOW64"부분은 운영 체제의 일부인 Microsoft의 "Windows 32 비트 Windows 64 비트"소프트웨어를 의미합니다. 이를 통해 Windows는 64 비트 버전의 Windows에서 32 비트 프로그램을 실행할 수 있습니다. WoW64는 파일 액세스를 리디렉션하여 프로그램이 제대로 작동하도록합니다..
예를 들어, 64 비트 버전의 Windows에 32 비트 프로그램을 설치하고 C : \ Program Files 폴더에 쓰려고하면 WoW64는 C : \ Program Files (x86)에서이를 가리 킵니다. C : \ Windows \ System32 폴더에 액세스하려면 WoW64가 C : \ Windows \ SysWOW64를 가리 킵니다. Windows는 파일 시스템 리디렉터를 사용하여이 작업을 수행합니다..
이 모든 것은 백그라운드에서 자동으로 투명하게 발생합니다. 이 프로그램은 이전 버전의 32 비트 프로그램을 64 비트 버전의 Windows에서 수정하지 않고 실행할 수있는 64 비트 운영 체제에서 실행되고 있다는 것을 알 필요조차 없습니다. 또한 WOW64는 레지스트리 액세스를 리디렉션하여 64 비트 및 32 비트 프로그램의 레지스트리 영역을 구분합니다..
그렇다면 왜 System32가 64 비트인가, SysWOW64 32 비트인가??
백만 달러짜리 질문으로 돌아가는 이유는 "System32"폴더가 64 비트이고 SysWOW64 32 비트?
대답은 많은 32 비트 응용 프로그램이 C : \ Windows \ System32 디렉터리를 사용하도록 하드 코드 된 것으로 보입니다. 개발자가 이러한 응용 프로그램을 64 비트 버전의 Windows 용으로 다시 컴파일 할 때 C : \ Windows \ System32 디렉터리를 계속 사용했습니다..
디렉토리 이름을 변경하고 개발자가 새로운 응용 프로그램으로 옮겨 가면서 많은 응용 프로그램을 깨뜨리는 대신 Microsoft는 "System32"를 표준 시스템 라이브러리 디렉토리로 남겼습니다. 그들은 "SysWOW64"라는 WoW64 계층에서 실행되는 응용 프로그램을위한 새로운 라이브러리 디렉토리를 만들었습니다. 이런 식으로 생각하면 이름이 더 합리적입니다..
예, 이름에 "32"가있는 디렉토리가 이제는 64 비트가되는 것은 다소 바보입니다. 아마도 Microsoft는 90 년대에 C : \ Windows \ System32라는 이름을 사용했을 것입니다. 그러나 더 간단한 명명 체계가 좋을지라도, 많은 프로그램을 깨고 단지 개발자에게 더 많은 작업을 할 가치가있는 것은 아닙니다. 즉, 가까운 미래에 System32 및 SysWOW64가 붙어 있습니다..