Apa Perbezaan Antara Folder “System32” dan “SysWOW64” di Windows?

Pada Windows versi 64-bit, anda mempunyai dua folder Program Files yang berasingan. Tetapi ia tidak berakhir di sana. Anda juga mempunyai dua direktori sistem yang berasingan di mana perpustakaan DLL dan eksekutif boleh disimpan: System32 dan SysWOW64. Walaupun namanya, System32 penuh dengan fail 64-bit dan SysWOW64 penuh dengan fail 32-bit. Jadi apa yang memberi?

Apa itu System32?

BERKAITAN: Apakah Fail DLL, dan Mengapa Satu Hilang dari PC Saya?

Direktori System32 mengandungi fail sistem Windows, kedua-dua fail perpustakaan .DLL yang digunakan oleh program dan utiliti program .EXE yang merupakan sebahagian daripada Windows. Walaupun sebahagian besar fail yang anda dapati di sini adalah sebahagian daripada sistem operasi Windows, program perisian pihak ketiga kadang-kadang memasang fail DLL mereka sendiri ke folder ini juga.

Aplikasi yang berjalan di sistem anda mungkin dipasang di folder Program Files anda atau di tempat lain, tetapi mereka sering memuat perpustakaan seluruh sistem dari folder System32.

Memisahkan Perpustakaan 32-bit dan 64-bit

BERKAITAN: Apakah Perbezaan Antara Folder "Fail Program (x86)" dan "Fail Program" di Windows?

Pada Windows versi 64-bit, anda mempunyai folder C: \ Program Files yang mengandungi program 64-bit dan failnya, dan folder C: \ Program Files (x86) yang mengandungi program 32-bit dan failnya. Membantu fail ini dipisahkan kerana program 64-bit memerlukan fail DLL 64-bit, dan program 32-bit memerlukan fail DLL 32-bit.

Sekiranya program 32-bit memuat fail DLL yang diperlukan, mencari versi 64-bit, dan cuba memuatkannya, program itu akan rosak. Dengan memisahkan perisian 64-bit dan 32-bit ke dalam dua folder Program Files yang berbeza, Windows memastikan bahawa mereka tidak akan bercampur dan menyebabkan masalah.

Namun, 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. Jadi, sama seperti Windows mempunyai folder Program Files 32-bit dan 64-bit yang terpisah, ia juga mempunyai folder Folder System32 versi 32-bit dan 64-bit yang terpisah.

System32 dan SysWOW64

Pada komputer 32-bit, semua program 32-bit menyimpan failnya dalam C: \ Program Files, dan lokasi perpustakaan seluruh sistem adalah C: \ System32.

Pada komputer 64-bit, program 64-bit menyimpan failnya dalam C: \ Program Files, dan folder C: \ Windows \ System32 seluruh sistem mengandungi perpustakaan 64-bit. Program 32-bit menyimpan fail mereka dalam C: \ Program Files (x86), dan folder seluruh sistem adalah C: \ Windows \ SysWOW64.

Ini pasti berlawanan dengan intuitif. Walaupun terdapat nama "32", folder System32 mengandungi perpustakaan 64-bit. Dan, walaupun terdapat 64 nama, folder SysWOW64 mengandungi perpustakaan 32-bit — sekurang-kurangnya pada Windows versi 64-bit.

Secara amnya, anda tidak perlu mengetahui perkara ini. Sistem operasi dan program Windows yang anda gunakan secara automatik meletakkan failnya 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 pemasangannya - yang sangat jarang berlaku - anda perlu mengetahui yang mana.

WOW64, dijelaskan

BERKAITAN: Mengapa Kebanyakan Program Masih 32-bit pada Versi Windows 64-bit?

Bahagian "WOW64" dari nama di sini merujuk pada perisian "Windows 32-bit pada Windows 64-bit" Microsoft, yang merupakan bagian dari sistem operasi. Ini membolehkan Windows menjalankan program 32-bit pada Windows versi 64-bit. WoW64 mengarahkan akses fail untuk memastikan program dapat berjalan dengan baik.

Sebagai contoh, jika anda memasang program 32-bit pada Windows versi 64-bit dan ia cuba menulis ke folder C: \ Program Files, WoW64 menunjukkannya di C: \ Program Files (x86). Dan, jika mahu mengakses folder C: \ Windows \ System32, WoW64 menunjukkannya di C: \ Windows \ SysWOW64. Windows melakukan ini menggunakan pengalihan sistem fail.

Ini semua berlaku secara automatik dan telus di latar belakang. Program ini tidak semestinya tahu bahawa 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 yang terpisah dari pendaftaran untuk program 64-bit dan 32-bit.

Jadi Mengapa System32 64-bit, dan SysWOW64 32-bit?

Semua itu membawa kita kembali kepada persoalan berjuta-juta dolar: Mengapa folder "System32" 64-bit, dan SysWOW64 32-bit?

Jawapannya nampaknya banyak aplikasi 32-bit yang dikodekan keras untuk menggunakan direktori C: \ Windows \ System32. Semasa pembangun menyusun semula aplikasi ini untuk versi Windows 64-bit, mereka terus menggunakan direktori C: \ Windows \ System32.

Daripada mengubah nama direktori dan memaksa pemaju untuk beralih ke yang baru, memecahkan banyak aplikasi dalam prosesnya, Microsoft meninggalkan "System32" sebagai direktori pustaka sistem standard. Mereka membuat direktori perpustakaan baru untuk aplikasi yang berjalan di bawah lapisan WoW64, yang mereka beri nama "SysWOW64". Apabila anda memikirkannya dengan cara ini, nama itu lebih masuk akal.

Ya, agak konyol apabila direktori dengan "32" namanya sekarang 64-bit. Mungkin Microsoft semestinya telah melihatnya ketika mereka menamakannya C: \ Windows \ System32 pada tahun 90-an. Tetapi, walaupun skema penamaan yang lebih mudah akan menyenangkan, tidak ada salahnya memecahkan banyak program dan membuat lebih banyak kerja untuk pemaju untuk sampai ke sana. Ini bermakna kita terjebak dengan System32 dan SysWOW64 untuk masa yang akan datang.