Kāda ir atšķirība starp “System32” un “SysWOW64” mapēm Windows sistēmā?
64 bitu Windows versijās ir divas atsevišķas programmas failu mapes. Bet tas nebeidzas. Jums ir arī divas atsevišķas sistēmas direktorijas, kurās tiek saglabātas DLL bibliotēkas un izpildāmās programmas: System32 un SysWOW64. Neskatoties uz nosaukumiem, System32 ir pilns ar 64 bitu failiem, un SysWOW64 ir pilns ar 32 bitu failiem. Tātad, ko dod?
Kas ir System32?
Katalogā System32 ir Windows sistēmas faili, gan .DLL bibliotēkas faili, ko izmanto programmas, gan .EXE programmas utilīti, kas ir daļa no Windows. Lai gan lielākā daļa no šeit atrodamajiem failiem ir daļa no Windows operētājsistēmas, trešās puses programmatūras programmas dažreiz arī instalē savus DLL failus šajā mapē..
Programmas, kas darbojas jūsu sistēmā, var tikt instalētas mapē Programmas faili vai citur, bet tās bieži ielādē visas sistēmas bibliotēkas no System32 mapes.
Atdalot 32 bitu un 64 bitu bibliotēkas
Windows 64 bitu versijā ir mape C: Failu mape, kurā ir 64 bitu programmas un to faili, un C: Failu (x86) mape ar 32 bitu programmām un to failiem. Ir lietderīgi šos failus atdalīt, jo 64 bitu programmām ir nepieciešami 64 bitu DLL faili, un 32 bitu programmām ir nepieciešami 32 bitu DLL faili.
Ja 32 bitu programma iet uz vajadzīgā DLL faila ielādi, atrod 64 bitu versiju un mēģina to ielādēt, tā crash. Atdalot 64-bitu un 32-bitu programmatūru divās dažādās programmas failu mapēs, sistēma Windows nodrošina, ka tās nesajauksies un neradīs problēmas.
Tomēr ne visi DLL faili tiek saglabāti programmas failos. Daudzas sistēmas sistēmas, kas iekļautas sistēmā Windows, tiek saglabātas C: System32, un dažas programmas arī izgāž savas bibliotēkas failus. Tātad, tāpat kā Windows ir atsevišķas 32 bitu un 64 bitu programmu failu mapes, tajā ir arī atsevišķas 32-bitu un 64 bitu sistēmas System32 mapes versijas..
System32 un SysWOW64
32 bitu datorā visas 32 bitu programmas saglabā savus failus C: failu failos, un visas sistēmas bibliotēkas atrašanās vieta ir C: System32.
64 bitu datorā 64 bitu programmas saglabā savus failus C: failu failos un sistēmas C: Windows System32 mapē ir 64 bitu bibliotēkas. 32 bitu programmas saglabā savus failus C: failu failos (x86), un visas sistēmas mape ir C: Windows SysWOW64.
Tas noteikti ir pretrunīgs. Neskatoties uz nosaukuma “32”, mapē System32 ir 64 bitu bibliotēkas. Un, neskatoties uz 64 vārdiem, mapē SysWOW64 ir 32 bitu bibliotēkas, vismaz 64 bitu Windows versijās.
Parasti jums tas nebūs jāzina. Windows operētājsistēma un izmantotās programmas automātiski ievieto savus failus pareizajā 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 - tas ir ļoti reti - jums būs jāzina, kurš ir.
WOW64, paskaidrots
Nosaukuma “WOW64” daļa šeit 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 Windows 64 bitu versijā. WoW64 novirza faila piekļuvi, lai nodrošinātu, ka programmas darbosies pareizi.
Piemēram, ja instalējat 32 bitu programmu uz 64 bitu Windows versiju un tā mēģina rakstīt mapē C: Faili, WoW64 norāda to uz C: Failu faili (x86). Un, ja tā vēlas piekļūt mapei C: Windows3232, WoW64 norāda to uz C: Windows SysWOW64. Windows to dara, izmantojot failu sistēmas pārvirzītāju.
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 bitu un 32 bitu programmām ir atsevišķas reģistra jomas.
Tātad, kāpēc ir System32 64 bitu un SysWOW64 32 bitu?
Tas viss liek mums atgriezties pie miljonu dolāru jautājuma: Kāpēc mape „System32” ir 64 bitu un SysWOW64 32 bitu?
Šķiet, ka atbilde ir tāda, ka daudzi 32 bitu pieteikumi tika kodēti, lai izmantotu C: Windows System32 direktoriju. Kad izstrādātāji kompilēja šīs programmas 64 bitu Windows versijās, viņi turpināja izmantot C: Windows System32 direktoriju.
Tā vietā, lai pārdēvētu direktoriju un piespiestu izstrādātājus pāriet uz jauno, šajā procesā pārtraucot daudzas lietojumprogrammas, Microsoft atstāja sistēmu System32 kā standarta sistēmas bibliotēkas direktoriju. Viņi izveidoja jaunu bibliotēku direktoriju lietojumprogrammām, kas darbojas zem WoW64 slāņa, ko tās sauca par “SysWOW64”. Kad jūs domājat par to šādā veidā, vārds ir saprotamāks.
Jā, tas ir mazliet muļķīgi, ka katalogs ar nosaukumu “32” tagad ir 64 bitu. Iespējams, ka Microsoft bija redzējis, ka tas nāk, kad viņi to nosauca C: Windows System32 90. gados. Bet, lai gan vienkāršāka nosaukuma shēma būtu jauka, nav vērts lauzt ķekars programmas un radīt vairāk darba izstrādātājiem tikai, lai tur nokļūtu. Tas nozīmē, ka tuvākajā nākotnē mēs esam iestrēguši System32 un SysWOW64.