Apakah Perbezaan Antara Folder System32 dan SysWOW64 di Windows?
Pada versi Windows 64-bit, anda mempunyai dua folder Program Program berasingan. Tetapi ia tidak berakhir di sana. Anda juga mempunyai dua direktori sistem berasingan di mana perpustakaan DLL dan executable disimpan: System32 dan SysWOW64. Walaupun nama, System32 penuh dengan fail 64-bit dan SysWOW64 penuh dengan fail 32-bit. Jadi apa yang memberi?
Apa itu System32?
Direktori System32 mengandungi fail sistem Windows, fail perpustakaan DLL yang digunakan oleh program dan utiliti program EXEX yang merupakan sebahagian daripada Windows. Walaupun sebahagian besar fail yang anda dapati di sini adalah sebahagian daripada sistem pengendalian Windows, program perisian pihak ketiga kadang-kadang memasang fail DLL mereka sendiri ke folder ini juga.
Aplikasi yang dijalankan pada sistem anda mungkin dipasang di folder Program Files atau di tempat lain, tetapi mereka sering memuat perpustakaan seluruh sistem dari folder System32.
Memisahkan Perpustakaan 32-bit dan 64-bit
Pada versi Windows 64-bit, anda mempunyai folder C: \ Program Files yang mengandungi program 64-bit dan fail mereka, dan folder C: \ Program Files (x86) yang mengandungi program 32-bit dan fail mereka. Ia berguna untuk fail-fail ini dipisahkan kerana program 64-bit memerlukan fail DLL 64-bit, dan program 32-bit memerlukan 32-bit fail DLL.
Jika program 32-bit pergi untuk memuatkan fail DLL yang diperlukan, mencari versi 64-bit, dan cuba memuatkannya, ia akan terhempas. Dengan memisahkan perisian 64-bit dan 32-bit ke dalam dua folder Program Files yang berlainan, Windows memastikan bahawa mereka tidak akan bercampur-campur dan menyebabkan masalah.
Walau bagaimanapun, tidak semua fail DLL disimpan dalam Program Files. Banyak perpustakaan seluruh sistem yang disertakan dengan Windows disimpan di C: \ System32, dan beberapa program juga membuang fail perpustakaan mereka sendiri di sini. Oleh itu, sama seperti Windows mempunyai folder Program Fail 32-bit dan 64-bit berasingan, ia juga mempunyai 32-bit dan 64-bit versi folder System32.
System32 dan SysWOW64
Pada komputer 32-bit, semua program 32-bit menyimpan fail mereka dalam C: \ Program Files, dan lokasi pustaka seluruh sistem ialah C: \ System32.
Pada komputer 64-bit, program 64-bit menyimpan fail mereka dalam C: \ Program Files, dan folder C: \ Windows \ System32 yang luas mengandungi 64-bit perpustakaan. Program 32-bit menyimpan fail mereka dalam C: \ Program Files (x86), dan folder seluruh sistem ialah C: \ Windows \ SysWOW64.
Ini jelas sekali tidak sah. Walaupun "32" namanya, folder System32 mengandungi perpustakaan 64-bit. Dan, walaupun 64 nama itu, folder SysWOW64 mengandungi 32-bit libraries-sekurang-kurangnya pada versi Windows 64-bit.
Secara umum, anda tidak perlu mengetahui ini. Sistem operasi dan program Windows yang anda gunakan secara automatik meletakkan fail mereka di lokasi yang betul dan menggunakan folder yang betul. Walau bagaimanapun, jika anda perlu memasang fail DLL secara manual di lokasi yang betul atau mencari tempat yang dipasang - yang sangat jarang-anda perlu tahu yang mana.
WOW64, Dijelaskan
Bahagian "WOW64" nama di sini merujuk kepada perisian "Windows 32-bit pada Windows 64-bit" Microsoft, yang merupakan sebahagian daripada sistem pengendalian. Ini membolehkan Windows menjalankan program 32-bit pada versi Windows 64-bit. WoW64 mengalihkan akses fail untuk memastikan program berfungsi dengan baik.
Sebagai contoh, jika anda memasang program 32-bit pada versi Windows 64-bit dan cuba menulis ke folder C: \ Program Files, WoW64 menunjuknya pada C: \ Program Files (x86). Dan, jika ingin mengakses folder C: \ Windows \ System32, WoW64 menunjuknya di C: \ Windows \ SysWOW64. Windows melakukan ini menggunakan redirector sistem fail.
Ini semua berlaku secara automatik dan telus di latar belakang. Program ini tidak perlu tahu ia berjalan pada sistem operasi 64-bit, yang membolehkan program 32-bit yang lebih lama berjalan tanpa pengubahsuaian pada versi Windows 64-bit. WOW64 juga mengalihkan akses pendaftaran, memastikan terdapat kawasan berasingan pendaftaran untuk program 64-bit dan 32-bit.
Jadi Mengapa Sistem32 64-bit, dan SysWOW64 32-bit?
Apa yang membawa kita kembali kepada soalan berjuta-juta dolar: Kenapa folder "System32" 64-bit, dan SysWOW64 32-bit?
Jawapannya seolah-olah bahawa banyak aplikasi 32-bit telah dikodkan menggunakan direktori C: \ Windows \ System32. Apabila pemaju mengkompilasi semula aplikasi ini untuk versi Windows 64-bit, mereka terus menggunakan direktori C: \ Windows \ System32.
Daripada menamakan semula direktori dan memaksa pemaju untuk beralih kepada yang baru, memecahkan banyak aplikasi dalam proses itu, Microsoft meninggalkan "System32" sebagai direktori pustaka sistem piawai. Mereka mencipta direktori pustaka baru untuk aplikasi yang berjalan di bawah lapisan WoW64, yang mereka namakan "SysWOW64". Apabila anda memikirkannya dengan cara ini, nama itu lebih masuk akal.
Ya, agak bodoh bahawa direktori dengan "32" dalam nama sekarang 64-bit. Mungkin Microsoft sepatutnya melihat bahawa datang apabila mereka menamakannya C: \ Windows \ System32 pada tahun 90an. Tetapi, walaupun skema penamaan yang lebih mudah akan menjadi baik, ia tidak layak memecahkan sekumpulan program dan mewujudkan lebih banyak kerja untuk pemaju hanya untuk sampai ke sana. Ini bermakna kita terjebak dengan System32 dan SysWOW64 untuk masa depan yang boleh dijangka.