Windows 64 bitu versijās ir divas atsevišķas programmas failu mapes. Bet tas to nebeidzas. Jums ir arī divi atsevišķi sistēmas direktoriji, kur tiek glabātas DLL bibliotēkas un izpildāmie faili: System32 un SysWOW64. Neskatoties uz nosaukumiem, System32 ir pilns ar 64 bitu failiem, un SysWOW64 ir pilns ar 32 bitu failiem. Tātad, kas dod?
System32 direktorijā ir Windows sistēmas faili, abi .DLL bibliotēkas faili, kurus izmanto programmas un .EXE programmu utilītas, kas ir daļa no sistēmas Windows. Kaut arī lielākā daļa šeit atrodamo failu ir daļa no operētājsistēmas Windows, trešās puses programmatūras dažreiz arī šai mapei instalē savus DLL failus.
Jūsu sistēmā esošās lietojumprogrammas var instalēt mapē Program Files vai citur, bet tie bieži iekrauj sistēmas mēroga bibliotēkas no sistēmas32 mapes.
Windows 64 bitu versijā ir mape C: \ Program Files, kurā ir 64 bitu programmas un to faili, un mape C: \ Program Files (x86), kurā ir 32 bitu programmas un to faili. Ir noderīgi atdalīt šos failus, jo 64 bitu programmām nepieciešami 64 bitu DLL faili, un 32 bitu programmām nepieciešami 32 bitu DLL faili.
Ja 32 bitu programma iet, lai ielādētu nepieciešamo DLL failu, atrod 64 bitu versiju un mēģina to ielādēt, tā tiks ataudzēta. Atdalot 64 bitu un 32 bitu programmatūru ar divām dažādām programmas failu mapēm, Windows nodrošina, ka tie netiks sajaukti un radīs problēmas.
Tomēr ne visi DLL faili tiek saglabāti programmas failos. Daudzas sistēmas mēroga bibliotēkas, kas ir iekļautas sistēmā Windows, tiek glabātas sistēmā C: \ System32, un dažas programmas arī izgāž savus bibliotēkas failus šeit. Tātad, tāpat kā Windows ir atsevišķas 32 un 64 bitu programmu failu mapes, tai ir arī atsevišķas 32 bitu un 64 bitu sistēmas32 mapes versijas.
32 bitu datorā visas 32 bitu programmas saglabā savus failus programmā C: \ Program Files, un sistēmas mēroga bibliotēkas atrašanās vieta ir C: \ System32.
64 bitu datorā 64 bitu programmas saglabā savus failus programmā C: \ Program Files, un sistēmas mēroga C: \ Windows \ System32 mapē ir 64 bitu bibliotēkas. 32 bitu programmas saglabā savus failus programmā C: \ Program Files (x86), un sistēmas mēroga mape ir C: \ Windows \ SysWOW64.
Tas noteikti ir pretstatīts. Neskatoties uz nosaukumu "32", mapē System32 ir 64 bitu bibliotēkas. Un, neraugoties uz 64 nosaukumu, mapē SysWOW64 ir 32 bitu bibliotēkas - vismaz Windows 64 bitu versijās.
Parasti jums tas nav jāzina. Windows operētājsistēma un programmas, kuras jūs izmantojat, automātiski ievieto failus pareizajā atrašanās vietā un izmanto pareizo mapi. Tomēr, ja jums kādreiz ir nepieciešams manuāli instalēt DLL failu pareizajā atrašanās vietā vai atrast, kur tas ir instalēts, kas ir ļoti reti, jums būs jāzina, kas tas ir.
Šeit nosaukuma daļa "WOW64" attiecas uz Microsoft "Windows 32 bitu Windows 64 bitu" programmatūru, kas ir daļa no operētājsistēmas. Tas ļauj Windows palaist 32 bitu programmas 64 bitu Windows versijā. WoW64 novirza failu piekļuvi, lai nodrošinātu, ka programmas darbojas pareizi.
Piemēram, ja jūs instalējat 32 bitu programmu 64 bitu Windows versijā un mēģina rakstīt mapē C: \ Program Files, WoW64 norāda to C: \ Program Files (x86). Un, ja tas vēlas piekļūt mapei C: \ Windows \ System32, WoW64 norāda to C: \ Windows \ SysWOW64. Windows to dara, izmantojot failu sistēmas redirector.
Tas viss notiek automātiski un pārredzami fonā. Programmai pat nav jāzina, ka tā darbojas 64 bitu operētājsistēmā, kas ļauj vecākām 32 bitu programmām darboties bez izmaiņām 64 bitu Windows versijās. WOW64 arī novirza reģistra piekļuvi, nodrošinot, ka 64 un 32 bitu programmām ir atsevišķas reģistra daļas.
Tas viss, kas mūs atgriežas pie miljoniem dolāru jautājuma: kāpēc sistēma32 ir 64 bitu un 32 bitu sistēma SysWOW64?
Atbilde, šķiet, ka daudzi 32 bitu lietojumprogrammas bija hardcoded izmantot C: \ Windows \ System32 direktoriju. Kad izstrādātāji pārkopēja šos pieteikumus 64 bitu Windows versijām, viņi turpināja izmantot direktoriju C: \ Windows \ System32.
Tā vietā, lai pārdēvētu direktoriju un piespiestu izstrādātājus pārcelties uz jauno, pārtraucot daudzas programmas šajā procesā, Microsoft atstāja "System32" kā standarta sistēmas bibliotēkas direktoriju. Viņi izveidoja jaunu bibliotēkas direktoriju lietojumprogrammām, kuras darbojas WoW64 slānī, un tās sauca par "SysWOW64". Kad jūs domājat par to šādā veidā, vārds padara daudz jēgas.
Jā, ir nedaudz dīvaina, ka ar nosaukumu "32" direktorija tagad ir 64 bitu. Varbūt Microsoft būtu redzējis, ka tas nāk, kad viņi 90. gados nosauca to par C: \ Windows \ System32. Bet, lai gan vienkāršāka nosaukumu shēma būtu jauka, nav vērts ielauzties vairākas programmas un radīt vairāk darba izstrādātājiem, lai tikai tur nokļūtu. Tas nozīmē, ka mēs esam iestrēdzis System32 un SysWOW64 tuvākajā nākotnē.