/ / Kāda ir atšķirība starp mapēm “System32” un “SysWOW64” operētājsistēmā Windows?

Kāda ir atšķirība starp Windows mapēm “System32” un “SysWOW64”?

Windows 64 bitu versijās jums ir divasatsevišķas Program Files mapes. Bet ar to nebeidzas. Jums ir arī divi atsevišķi sistēmas direktoriji, kur tiek glabā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. Ko dod?

Kas ir System32?

SAISTĪTI: Kas ir DLL faili un kāpēc manā datorā pietrūkst?

System32 direktorijā ir Windows sistēmafailus, gan .DLL bibliotēkas failus, ko izmanto programmas, gan .EXE programmu utilītas, kas ir Windows daļa. Lai gan lielākā daļa šeit atrodamo failu ir daļa no Windows operētājsistēmas, trešo pušu programmatūras programmas dažreiz šajā mapē instalē arī savus DLL failus.

Programmas, kas darbojas jūsu sistēmā, var būt instalētas mapē Program Files vai citur, taču tās bieži ielādē visas sistēmas bibliotēkas no mapes System32.

Atdalot 32 bitu un 64 bitu bibliotēkas

SAISTĪTI: Kāda ir atšķirība starp Windows mapēm “Program Files (x86)” un “Program Files”?

Windows 64 bitu versijā jums ir C:Program Files mape, kurā ir 64 bitu programmas un to faili, un C: Program Files (x86) mape, kurā ir 32 bitu programmas un to faili. Ir noderīgi šos failus atdalīt, jo 64 bitu programmām ir nepieciešami 64 bitu DLL faili, bet 32 ​​bitu programmām ir nepieciešami 32 bitu DLL faili.

Ja 32 bitu programma iet uz DLL faila ielādivajadzīga, atrod 64 bitu versiju un mēģina to ielādēt, tā sabruks. Sadalot 64 bitu un 32 bitu programmatūru divās dažādās Program Files mapēs, Windows nodrošina, ka tās nesajaucas un neradīs problēmas.

Tomēr ne visi DLL faili tiek saglabāti programmāDatnes. Daudzas sistēmas mēroga bibliotēkas, kas iekļautas Windows, tiek glabātas C: System32, un dažas programmas šeit arī izmet savus bibliotēkas failus. Tātad, tāpat kā Windows ir atsevišķas 32 bitu un 64 bitu programmas failu mapes, arī mapei System32 ir atsevišķas 32 bitu un 64 bitu versijas.

System32 un SysWOW64

32 bitu datorā visas 32 bitu programmas savus failus saglabā C: Program Files, un visas sistēmas bibliotēkas atrašanās vieta ir C: System32.

64 bitu datorā 64 bitu programmas saglabā savusfaili C: Program Files, un visas sistēmas C: WindowsSystem32 mapē ir 64 bitu bibliotēkas. 32 bitu programmas savus failus saglabā C: Program Files (x86), un visas sistēmas mape ir C: WindowsSysWOW64.

Tas noteikti ir pretintuitīvs. Neskatoties uz nosaukumā esošo “32”, mapē System32 ir 64 bitu bibliotēkas. Un, neraugoties uz nosaukumā esošo 64, mapē SysWOW64 ir 32 bitu bibliotēkas - vismaz Windows 64 bitu versijās.

Parasti jums tas nav jāzina. Jūsu izmantotā Windows operētājsistēma un programmas automātiski ievieto failus pareizajā vietā un izmanto pareizo mapi. Tomēr, ja jums kādreiz ir manuāli jāinstalē DLL fails pareizajā vietā vai jāatrod, kur tas ir instalēts - kas ir ļoti reti -, jums jāzina, kurš ir kurš.

WOW64, paskaidrots

SAISTĪTI: Kāpēc vairums programmu joprojām ir 32 bitu operētājsistēmas Windows 64 bitu versijā?

Uz nosaukuma daļu “WOW64” atsaucasMicrosoft programmatūra “Windows 32 bitu uz Windows 64 bitu” programmatūra, kas ir operētājsistēmas sastāvdaļa. Tas ļauj operētājsistēmai Windows palaist 32 bitu programmas Windows 64 bitu versijā. Lai nodrošinātu programmu pareizu darbību, WoW64 novirza piekļuvi failiem.

Piemēram, ja instalējat 32 bitu programmu uzWindows 64 bitu versija un tā mēģina rakstīt mapē C: Program Files, WoW64 norāda to uz C: Program Files (x86). Un, ja tas vēlas piekļūt mapei C: WindowsSystem32, WoW64 norāda to uz C: WindowsSysWOW64. Windows to dara, izmantojot failu sistēmas novirzītāju.

Tas viss notiek automātiski un pārredzamifonā. Programmai nav pat jāzina, ka tā darbojas 64 bitu operētājsistēmā, kas ļauj vecākām 32 bitu programmām darboties bez modifikācijas Windows 64 bitu versijās. WOW64 arī novirza piekļuvi reģistram, nodrošinot, ka 64 un 32 bitu programmām ir atsevišķi reģistra apgabali.

Tātad, kāpēc System32 ir 64 bitu, un SysWOW64 32 bitu?

Viss, kas mūs atgriež 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 daudz 32 bitulietojumprogrammas tika grūti kodētas, lai izmantotu direktoriju C: WindowsSystem32. Kad izstrādātāji pārprogrammēja šīs lietojumprogrammas Windows 64 bitu versijām, viņi turpināja izmantot direktoriju C: WindowsSystem32.

Nevis pārdēvēt direktoriju un piespiestizstrādātājiem, lai pārietu uz jauno, šajā procesā pārtraucot daudzas lietojumprogrammas, Microsoft atstāja “System32” kā standarta sistēmas bibliotēkas direktoriju. Viņi izveidoja jaunu bibliotēku direktoriju lietojumprogrammām, kas darbojas zem slāņa WoW64, kuru nosaukums bija “SysWOW64”. Šādi domājot, nosaukumam ir lielāka jēga.

Jā, tas ir mazliet muļķīgi, ka direktorijā ar “32”nosaukumā tagad ir 64 bitu. Varbūt Microsoft to vajadzēja redzēt, kad viņi to nosauca par C: WindowsSystem32 90. gados. Bet, kaut arī taisnīga nosaukšanas shēma būtu jauka, nav vērts sadalīt virkni programmu un radīt vairāk darba izstrādātājiem, lai tikai tur nokļūtu. Tas nozīmē, ka tuvākajā nākotnē mēs esam iestrēguši ar System32 un SysWOW64.