Niektoré názvy domén najvyššej úrovne

Podobne 32-bitový softvér (vo všeobecnosti veľmi staré programy) môže obsahovať nejaký 16-bitový kód. Spravidla budú takéto programy bežať s chybami na 64-bitovom OS.

Je možné spustiť 16-bitovú aplikáciu alebo kód na 64-bitových systémoch?

Nie, ako už bolo spomenuté, 16-bitový kód nebude fungovať na 64-bitovom OS, pretože spätná kompatibilita je poskytovaná len pre 32-bitový. To je jeden z dôvodov, prečo niektoré 32-bitové aplikácie nebudú fungovať na 64-bitových. operačné systémy Oh.

Je možné spustiť 64-bit virtuálny prístroj na 32 bitovom OS so 64 bitovym procesorom?

Áno. Všetko závisí od úrovne virtualizácie. So softvérovou virtualizáciou sa to pravdepodobne nepodarí. Aj keď sa vám podarí spustiť systém, všetko bude veľmi pomalé. Jediným správnym spôsobom je hardvérová virtualizácia, ale musí ju podporovať BIOS vášho počítača.

Odpovede na často kladené otázky o 32-bitovom a 64-bitovom operačnom systéme Windows

Poznámka pod čiarou: túto sekciu obsahuje odpovede na bežné otázky. Ak si pozorne prečítate predchádzajúcu časť, možno si na niektoré z nich odpoviete aj sami.

Môžem spustiť Windows 2000 a Windows XP na 64-bitových procesoroch a použiť aj starší softvér?

Áno, 32-bitový operačný systém sa úspešne spustí na 64-bitových procesoroch. A tiež môžete spustiť staré programy na 64-bitovom OS.

Ako zistiť, či je systém 64-bitový?

Ak chcete zistiť, ktorý operačný systém máte, môžete použiť aj najčastejšie otázky spoločnosti Microsoft špeciálny program Gibson Research Corporation (GRC). Ten vám ukáže nielen informácie o bitovej hĺbke, ale aj o podpore počítača pre hardvérovú virtualizáciu.

Sú staré ovládače zariadení vhodné pre Windows 64-bit?

Je možné migrovať 32-bitový systém na 64-bitový Windows?

Spoločnosť Microsoft ako taká neposkytuje žiadny mechanizmus. Preto budete musieť nezávisle prenášať údaje z jedného systému do druhého, ako aj preinštalovať všetky programy.

Ako Alternatívna možnosť, môžete použiť multibooting alebo virtualizáciu.

Ako zistím, či je aplikácia 32 alebo 64 bitová?

Existuje niekoľko základných znakov, podľa ktorých môžete zistiť bitovú hĺbku aplikácie, no nie sú konečné.

  • Systém Windows nainštaluje programy do týchto adresárov systémový disk:
    • "\Program Files" pre 64-bitové programy
    • "\Program Files (x86)" pre 32-bitové programy
  • V Správcovi úloh majú 32-bitové procesy zvyčajne predponu „*32“, zatiaľ čo 64-bitové procesy nie.

Dôvodom, prečo tieto údaje nemožno použiť ako spoľahlivý zdroj, je spôsob spôsobom Windows nainštaluje 64-bitovú aplikáciu. 64-bitový inštalátor zvyčajne inštaluje 64-bitové aplikácie alebo kombináciu 32-bitových a 64-bitových komponentov. Niekedy však môže inštalačný program nainštalovať iba 32-bitové komponenty.

Okrem toho je komponent určený nastaveniami databázy Registry a nie nastaveniami inštalátora. Systém Windows štandardne predpokladá, že všetky komponenty sú 32-bitové, pokiaľ nie je uvedené inak. To znamená, že ak 64-bitový komponent nie je počas inštalácie označený ako 64-bitový, nainštaluje sa do priečinka 32-bitovej aplikácie a použije kľúče registra 32-bitovej aplikácie. Proces však pobeží ako 64-bitový.

Preto je najlepšie použiť jedno z nasledujúcich riešení:

  • Spustite program auditu systému. Napríklad z recenzie Najlepšie bezplatné programy na zhromažďovanie informácií o počítači (systéme).
  • Môžete použiť program PEStudio. V prvom rade je to nástroj na analýzu bezpečnosti programu. Zároveň vám však umožňuje veľa sa naučiť technická informácia vrátane bitov aplikácií.
  • Ak sa potrebujete dozvedieť viac o moduloch používaných programom, potom môžete použiť Dependency Walker , ktorý je súčasťou vývojových nástrojov Microfoft, ako napr. vizuálne štúdio.
  • Windows Software Development Kit (SDK) obsahuje pomôcku s názvom DumpBin, ktorú možno použiť aj na určenie bitovej hodnoty aplikácie. Ak to chcete urobiť, spustite nasledujúci príkaz v riadku konzoly a po riadku „FILE HEADER VALUES“ sa pozrite na názov hlavičky: stroj (x64) - 64-bitový program, stroj (x86) - 32-bitový program
    • dumpbin /headers "cesta k programu"
  • Môžete tiež použiť nástroje, ako je Microsoft Process Explorer (pozri Správcovia úloh). Poskytujú oveľa viac informácií ako bežný Správca úloh systému Windows. Bitovú hĺbku programu zistíte z vlastností procesu.


Aké sú rozdiely medzi 32 a 64 bitovými verziami systému Windows?

Všetky hlavné fyzické a logické rozdiely medzi verziami rôzne verzie Okná sú uvedené v tabuľke 5 (umiestnenej nižšie). Tabuľka tiež jasne ukazuje cestu zlepšovania, ktorou Windows prešiel a že Windows má pred sebou ešte dlhú cestu, kým vyčerpá možnosti 64-bitových procesorov.

Mnohé z obmedzení 64-bit Verzie systému Windows sú systémové obmedzenia, nie obmedzenia procesora. Počet fyzických procesorov zostáva rovnaký, hlavne kvôli tomu, že ide o výsadu Windows Servera.

Hardvérové ​​zariadenia však majú aj obmedzenia. Napríklad, zatiaľ čo 64-bitové AMD a procesory Intel používať 64-bitové ukazovatele pamäte, čipové sady, ktoré ich podporujú, používajú iba 52-bitovú fyzickú adresu (4 petabajty) a 48-bitovú adresu virtuálnej pamäte (256 terabajtov). To je zatiaľ viac než dosť. Windows 7 64-bit podporuje iba 192 GB fyzická pamäť a 16 terabajtov (44-bit) virtuálnej pamäte.

Tabuľka 5: Fyzické a logické limity verzií systému Windows
Čísla v zátvorkách označujú pokročilé nastavenia, ktoré nie sú predvolene nainštalované a vyžadujú kompatibilný hardvér
Verzia: XP Vista 7
Bitová hĺbka: 32 64 32 64 32 64
systém:
Fyzické procesory 2 2 2 2 2 2
Logické procesory 32 64 32 64 32 256
Systémová vyrovnávacia pamäť 1 GB 1,024 GB 1 (2) GB 1,024 GB 1 (2) GB 1,024 GB
fyzická pamäť 4 GB 128 GB 4 GB 128 GB 4 GB 192 GB
Virtuálna pamäť 4 GB 16,384 GB 4 GB 16,384 GB 4 GB 16,384 GB
Nucleus 1 (2) GB 8 GB 2 GB 8 GB 2 GB 8 GB
Používateľské procesy:
fyzická pamäť 2 (3) GB 2 (4) GB 2 (3) GB 8 GB 2 (4) GB 8 GB
Virtuálna pamäť 2 (3) GB 2 (8,192) GB 2 (3) GB 2 (8,192) GB 2 (4) GB 2 (8,192) GB

Poznámka: V tabuľke na ilustráciu dynamiky zámerne nebola použitá skratka 1 TB (1024 GB).

Poznámka: Prvá 64-bitová verzia Windows XP (2002) bola tiež vylúčená z úvahy, pretože má inú architektúru. Systém využíval procesory Intel Itanium (IA-64), ktoré mali kvôli kompatibilite procesor x86. Neskôr ju nahradila 64-bitová (x86-x64) architektúra AMD, ktorá rozšírila inštrukčnú sadu x86 a bola taká dobrá, že bola licencovaná spoločnosťou Intel a ďalšími výrobcami. Táto architektúra je stále najbežnejšia.

Je možné prideliť viac pamäte programu/procesu v 32-bitovom systéme Windows, ako je uvedené v tabuľke 5?

Áno môžeš. A tu je príklad.

Ak používate MySQL v systéme Windows, môžete použiť rozšírenie Address Windowing Extensions (AWE), ktoré podporuje MySql. AWE zvyšuje maximálnu pamäť používateľského procesu z 2 GB na 3 GB (pozri tabuľku 5). To umožní MySQL využívať o 50 % viac pamäte.

Upozorňujeme však, že to neplatí pre všetky verzie 32-bitového systému Windows a že MySQL je potrebné prekompilovať.

Je možné alokovať viac ako 4 GB pamäte RAM v 32-bitovom systéme Windows?

Na rozšírenie podporovaného zväzku môžete použiť rozšírenie fyzickej adresy (PAE). Náhodný vstup do pamäťe. PAE zvyšuje veľkosť adresy z 32 bitov na 36 bitov, čo umožňuje použiť približne 64 GB.

PAE je nakonfigurovaný v BIOSe vášho počítača, takže ho možno použiť na akomkoľvek operačnom systéme vrátane Linuxu a Apple OS X.

32-bitový systém Windows používa PAE, ale má vnútorný limit 4 GB. Existujú nástroje, ktoré vám umožňujú tento limit odstrániť, ale mali by sa používať s mimoriadnou opatrnosťou a iba v beznádejných situáciách.

Teraz viete o 32-bitových a 64-bitových verziách, ako aj o ich kompatibilite a funkciách používania.


| §4.2 Ako funguje internet...

Lekcie 25 - 26
§4.2 Ako funguje internet
IP adresa počítača
Doménový systém mená
Komunikačné protokoly

Kľúčové slová:

internet
protokol
IP adresa
Doménové meno
IP protokol
TCP protokol

4.2.1. Ako funguje internet

Internet (angl. Internet, z lat. inter - medzi a eng. net - network) - celosvetovo počítačová sieť, ktorá spája množstvo miestnych, regionálnych a firemné siete. Každá sieť zahrnutá do internetu má svoje operačné stredisko, ktoré je zodpovedné za chod tejto regionálnej časti internetu. Každá z týchto sietí môže mať vlastníka, ale internet ako celok nevlastní nikto. Koordinuje vývoj World Wide Web verejná organizácia Internet Society (ISOC - Internet Society).

Spoľahlivosť internetu Je zabezpečená prítomnosťou veľkého počtu kanálov na prenos informácií medzi jej lokálnymi, regionálnymi a podnikovými sieťami.

Ak sa chcete pripojiť k internetu pomocou vášho domáci počítač je potrebné využívať služby poskytovateľa internetu. Zakaždým, keď používateľ pristúpi na internet, jeho počítač sa pripojí počítačový systém poskytovateľa.

Internet spája rôzne modely počítačov s rôznym softvérom. To je možné vďaka implementácia v softvér osobitné dohody (pravidlá) tzv protokoly.

4.2.2. IP adresa počítača

Každý počítač pripojený na internet dostane svoj vlastný jedinečný 32-bitový identifikátor tzv IP adresa. Takýchto adries je viac ako 4 miliardy (2 32 - 1 = 4 294 967 295). Človek, na rozdiel od technické systémy, je ťažké pracovať s dlhými reťazcami núl a jednotiek. Preto namiesto 32-bitovej reprezentácie používame IP adresu ako štyri desatinné čísla (od 0 do 255) oddelené bodkami, napríklad 204.152.190.71. Na implementáciu takéhoto prechodu je 32-bitový záznam rozdelený na štyri časti (každá 8 bitov), ​​z ktorých každá je 8-bitová binárne číslo prevedené do desiatkovej číselnej sústavy.

Spravidla pri každom prístupe na internet váš počítač dostane novú IP adresu. Informácie o tom, kedy a ktoré adresy IP boli pridelené vášmu počítaču, ukladá poskytovateľ.

Ak chcete zistiť svoju aktuálnu IP adresu počas internetovej relácie, stačí vytočiť číslo http://yoip.ru v adresný riadok prehliadač.

Internet je sieť sietí a systém IP adries rešpektuje túto štruktúru: IP adresa sa skladá z dvoch častí, z ktorých jedna je adresa siete a druhá je adresa počítača v tejto sieti. Pre podrobnejšie zváženie štruktúry IP adresy vám odporúčame, aby ste sa zoznámili s animovaným videom „Ukážka IP adresy“ (192564), uverejneným v Zjednotenej zbierke digitálnych vzdelávacích zdrojov.

Úloha. Peťa si napísal IP adresu školského servera na kúsok papiera a vložil si ho do vrecka bundy. Peťova mama omylom vyprala aj sako spolu s poznámkou. Po umytí našiel Peťo vo vrecku štyri kúsky s útržkami IP adresy. Tieto fragmenty sú označené A, B, C a D. Restore IP adresa. Vo svojej odpovedi uveďte postupnosť písmen reprezentujúcich fragmenty v poradí zodpovedajúcom IP adrese.

Riešenie

Poďme preskúmať možné kombinácie fragmentov adries, berúc do úvahy skutočnosť, že každé zo štyroch čísel v adrese IP by nemalo presiahnuť 255.

Keďže adresa nemôže začínať bodkou, absolútne nemôžete použiť fragment B ako prvý fragment.

Dostávame možnosti:

Fragment B nemôže byť na druhom mieste, pretože končí na 50 a pridaním prvej číslice ktoréhokoľvek zo zostávajúcich fragmentov vpravo bude číslo väčšie ako 255.

Ak je fragment A braný ako prvý fragment, potom fragment D nemôže s istotou nasledovať (inak sa získa číslo 1922 > 255). Ak je fragment B braný ako prvý fragment, potom žiadny zo zostávajúcich fragmentov nemôže nasledovať.

Po fragmente D môže nasledovať ktorýkoľvek z fragmentov A a C.

Dostávame možnosti:

Po fragmente AB mohol nasledovať iba fragment B, ale v tomto príklade nemôže byť tretí (z rovnakého dôvodu ako druhý). Z rovnakého dôvodu môže po fragmente GA nasledovať iba fragment C (fragment B z úvahy vylučujeme). Po GV nemôže nasledovať ani A, ani B.

Existuje teda jediná cesta zlúčeniny existujúcich fragmentov: GAVB. Zodpovedajúca adresa je: 222.195.162.50

4.2.3. Systém doménových mien

Spolu s digitálnymi IP adresami existuje na internete pohodlnejší a užívateľsky príjemnejší názov domény. 1) menný systém (DNS - Domain Name System), vďaka ktorému počítače dostávajú jedinečné symbolické adresy.

Doménový systém má hierarchickú štruktúru: domény najvyššej úrovne, domény druhej úrovne atď. (obr. 4.2).

1) Domain - oblasť internetu (z francúzskeho dominion - area) .


Ryža. 4.2. Hierarchická štruktúra doménových mien


Domény najvyššej úrovne sú dva typy: administratívne(trojpísmenový kód pre organizácie určitého typu) a geografické(dvojpísmenový kód pre každú krajinu) - tab. 4.1.

Tabuľka. 4.1

Niektoré názvy domén najvyššej úrovne

Úplný názov domény pozostáva z priamych doménové meno a za všetky názvy domén, do ktorej vstupuje, oddelené bodkami.

Príklad. Celé meno fcior.edu.ru znamená doménu tretej úrovne fcior, zahrnuté v doméne druhej úrovne edu, patriaci do domény najvyššej úrovne en(obr. 4.3).

Ryža. 4.3. Úplný názov domény


Pre úplnejšie zoznámenie sa s názvami domén vám odporúčame zoznámiť sa s animovaným videom „Organizácia priestoru názvov“ (192876), uverejneným v Zjednotenej zbierke digitálnych vzdelávacích zdrojov.


Ak chcete zistiť IP adresu webovej stránky, o ktorú máte záujem, stačí spustiť príkazy Štart → Všetky programy → Príslušenstvo → Príkazový riadok a v zobrazenom okne zadajte príkazový riadok príkaz ping a názov domény webovej stránky. Napríklad zadaním ping www.konkurskit.ru získate IP adresu webovej stránky súťaže KIT.

4.2.4. Komunikačné protokoly

Aby sa zabezpečilo, že prenos informácií z jedného počítača do druhého nebude dlho zaberať sieť, súbory sa prenášajú cez sieť v malých častiach - balíkov.

Prenesené pakety sa postupne dostanú do cieľa, dostanú sa z jedného servera na druhý a na každom serveri sa vykoná operácia smerovanie t. j. určenie adresy nasledujúceho servera najbližšieho k príjemcovi, na ktorý môže byť tento paket preposlaný (obr. 4.4). Smerovanie paketov umožňuje IP protokol.

Ryža. 4.4. Paketový prenos dát


Keďže pakety sú prenášané nezávisle od seba, každý paket môže dosiahnuť svoj cieľ po svojej vlastnej ceste. Na konci sú všetky pakety zhromaždené do jedného súboru. Ak niektorý balík chýba, cieľový počítač odošle požiadavku odosielajúcemu počítaču so správou, ktorá uvádza, ktorý balík chýba. Požadovaný paket sa znova odošle do cieľa. Zabezpečenie spoľahlivého prenosu sieťových paketov medzi dvoma počítačmi zabezpečuje protokol TCP.

Lepšiu predstavu o tom, ako sa informácie prenášajú na internete, môžete získať sledovaním animovaných videí „IP Protocol“ (192655), „Network Layer. IP Routing“ (192947), „Demonštrácia protokolu TCP“ (192744), umiestnený v Zjednotenej zbierke digitálnych vzdelávacích zdrojov.


Všetky siete, ktoré sa pripájajú na internet, teda používajú na pripojenie protokoly:
TCP(Protokol riadenia prenosu) - prepravný protokol;

IP(Internetový protokol) - smerovací protokol.

Spravidla sa tieto protokoly používajú spoločne a sú od seba prakticky neoddeliteľné. Preto výraz „ TCP/IP protokol».

NAJDÔLEŽITEJŠIE

internet- celosvetová počítačová sieť, ktorá spája mnoho miestnych, regionálnych a podnikových sietí, ktoré môžu zahŕňať rôzne modely počítačov. Je to možné vďaka implementácii špeciálnych dohôd (pravidiel) nazývaných protokoly do počítačového softvéru.

Každý počítač pripojený na internet má svoj vlastný IP adresa- jedinečný 32-bitový identifikátor.

DNS - systém doménových mien; vďaka nej počítače dostávajú jedinečné symbolické adresy.

Súbory sa prenášajú cez sieť v malých častiach - balíkov. Smerovanie paketov umožňuje protokol IP. Zabezpečenie spoľahlivého prenosu sieťových paketov medzi dvoma počítačmi zabezpečuje protokol TCP.

Otázky a úlohy

1. Oboznámte sa s prezentačnými materiálmi k paragrafu obsiahnutými v elektronickej prílohe učebnice. Dopĺňa prezentácia informácie obsiahnuté v texte odseku?

2. Čo je to internet?

3. Čo umožňuje prepojiť rôzne modely počítačov s rôznym softvérom na internete?

4. Na čo slúži IP adresa?

5. Ako sa dá prejsť z 32-bitovej IP adresy na štyri desatinné čísla?

6. Zapíšte si 32-bitovú IP adresu do svojho notebooku ako štyri desatinné čísla oddelené bodkami:

1) 11001100 10011000 10111110 01000111;
2) 11011110 11000011 10100010 00110010.

7. Zapíšte si do poznámkového bloku IP adresu štyroch desiatkových čísel v 32-bitovom tvare:

1) 210.171.30.128;
2) 10.55.0.225.

8. Peťo si napísal IP adresu školského servera na kúsok papiera a vložil si ho do vrecka bundy. Peťova mama omylom vyprala aj sako spolu s poznámkou. Po umytí našiel Peťo vo vrecku štyri kúsky s útržkami IP adresy. Tieto fragmenty sú označené A, B, C a D. Obnovte IP adresu. Vo svojej odpovedi uveďte postupnosť písmen reprezentujúcich fragmenty v poradí zodpovedajúcom IP adrese.

9. Popíšte štruktúru systému doménových mien.

10. Analyzujte nasledujúce názvy domén:

1) school-collection.edu.ru
2) en.wikipedia.org
3) www.ictedu.cn

11. Popíšte proces smerovania a prenosu dát cez počítačové siete.

12. Špecifikujte všetky možné cesty pre doručovanie internetových paketov zo servera I (zdroj) na server R (prijímač) cez servery 1, 2, 3, 4, berúc do úvahy existujúcu sieťovú architektúru.

Stručný referenčné informácie. Vyvíjam C# vo VS2008 pod .net 3.5 na počítači Vista-x64.

Nedávno som prešiel na Vista-x64 a po nejakom hľadaní mám stále pocit, že celkom nerozumiem interakcii medzi OS a .net frameworkom. Poprosil by som o nejaké opravy/vysvetlenia v tejto súvislosti.

Toto je moje chápanie procesu vývoja (ak sa mýlim, opravte ma):

Keď nastavím svoj projekt, môžem nastaviť cieľovú platformu: x64, x86, AnyCpu. Chápem to tak, že AnyCpu sa zameria na aktuálnu platformu (v mojom prípade x64). Môžem tiež nastaviť x86 a spustiť ho (kvôli WoW64).

Môj odhad je, že keď sa zameriam na x64, program použije 64-bitový .net framework 3.5 a podobné 32-bitové prostredie pre x86. Je to správne?

Čo ma mätie je, keď zacielim na x64 a vytlačím informácie o platforme, ktoré sa vytlačia " WIN32NT". Núti ma to myslieť si, že " WIN32NT"Nie tak, ako si myslím, ale veľa sa mi o tom nepodarilo zistiť. Čo to je?"

ComputerInfo computerInfo = new ComputerInfo(); Console.WriteLine("(0,-30):\t(1)", "Platforma", computerInfo.OSPlatform);

4 odpovede

Naozaj to nepomôže, ale všetky prostredia vrátia win32nt... pomohlo by, keby vrátili win64nt, nie?

Našli ste nejaké ďalšie problémy? Alebo tu len hľadáš vedomosti?

Skúste skontrolovať veľkosť IntPtr. To vám dá vedieť, či vaša aplikácia beží v 64-bitovom režime (myslím)

Zvyčajne je potrebné zamerať AnyCPU - AnyCPU beží v "natívnom" režime cieľového systému. Ak spustíte aplikáciu na 32-bitovom počítači, pobeží v 32-bitovom formáte, ak spustíte na 64-bitovom systéme, pobeží v 64-bitovom systéme.

Jediným dôvodom na použitie jednej z ďalších možností je špecifická potreba spustiť 32 alebo 64 bitov. Toto sa stane, ak používate knižnicu so špecifickými požiadavkami. Napríklad táto knižnica SQLITE obsahuje nespravovaný kód. Keď som ho použil v aplikácii, ktorá bola skompilovaná na AnyCPU, aplikácia bežala dobre na 32-bitovom systéme, ale nedokázala načítať knižnicu na 64-bitovom systéme. Dôvodom je, že nespravovaný kód v knižnici Sqlite je skompilovaný do 32 bitov. Ani v .net nemôžete miešať 32 a 64 bitové zostavy.

V tomto prípade bolo správnym riešením explicitne skompilovať x86 (je to malý nástroj, ktorý sa nedal spustiť zo 64 bitov). Takto moja aplikácia funguje ako 32-bitová aplikácia aj na 64-bitovom Windowse.

Ďalšou možnosťou by bolo skompilovať aplikáciu na AnyCPU, ale spracovať rôzne platformy výslovne, napríklad oneskorením načítania správnej nezvládnutej zostavy.

Okrem takýchto efektov špecifických pre platformu považujem za celkom irelevantné, proti ktorému rámcu je aplikácia zostavená. Do úvahy prichádzajú len extrémne protipríklady, možno budete chcieť skompilovať x64 aplikáciu, ktorá vyžaduje šialené množstvo pamäte RAM. Ale typickej run-off-the-mill.net aplikácii je jedno, aký procesor a v akom režime beží. Ale ak to chcete vedieť, vždy môžete skontrolovať veľkosť IntPtr, ako je navrhnuté v iných odpovediach.

AnyCpu sa nezameriava na aktuálnu platformu vývojárov. Zameriava sa na akýkoľvek procesor, ako hovorí. Kompilátor JIT bežiaci na cieľovom počítači skompiluje IL do 32-bitových alebo 64-bitových inštrukcií nastavených podľa operačného systému cieľového počítača. To znamená, že zostava .Net zostavená ako AnyCpu pobeží na 32 aj 64 bitových platformách.

Prechod zo 16-bitových verzií systému Windows na 32-bitové verzie sa začal začiatkom 90-tych rokov s príchodom Windows NT a nabral rýchlosť po Používanie systému Windows 95 sa stalo samozrejmosťou. Akokoľvek lákavo to môže naznačovať, že nás čaká opakovanie toho istého príbehu, situácie, o ktorých uvažujeme, sa líšia v niekoľkých ohľadoch.

Windows NT a Windows 95 boli prvými široko používanými „skutočnými“ operačnými systémami pre PC v tom zmysle, že oba systémy podporovali stránkovanie na požiadanie, vytváranie vlákien, preemptívny multitasking a množstvo ďalších funkcií, ktoré boli popísané v kapitole 1.

Zatiaľ čo Win32 API značne rozšírilo použiteľný adresný priestor, rovnako ako Win64, vylepšenia sa tým neskončili. Nemotorné a zastarané napriek svojej popularite modely s rozšírenou pamäťou boli nahradené inými. Podobný model rozšírenej pamäte (neopísaný v tejto knihe) bol predstavený v systéme Windows 2000, ale celkové dôsledky tohto kroku neboli v tomto prípade také významné.

Do Win32 API bolo zavedených mnoho nových funkcií. funkčnosť, čo sa o Win64 povedať nedá.

Ako dlho vydrží 64 bit?

Pokiaľ ide o PC svet, v ktorom Windows vznikol, možno tvrdiť, že pôvodný 16-bitový model Intel x86 (ktorého skutočný adresný priestor je 20-bitový) existuje už viac ako desať rokov a 32-bitová architektúra dookola rovnaký čas.. Prechod na Win64 a 64-bitové programovanie je však vo všeobecnosti pomalší ako analogický prechod na 32-bitové programovanie. V oboch prípadoch sa však prechod minipočítačov a serverov na ďalšiu úroveň uskutočnil najmenej 10 rokov predtým, ako sa to začalo s PC. Potom je prirodzené uvažovať o tom, či by sa v budúcnosti malo očakávať, že servery alebo počítače prejdú na 128 bitov. Tvrdil by som, že k akémukoľvek rozšíreniu tohto druhu dôjde najskôr o 10 rokov, a to len na základe veľkosti 64-bitového adresného priestoru.

Predpovede sú nespoľahlivé, ale brať to vážne len na polovicu pripomína často citovaný Moorov zákon, ktorý hovorí, že pomer cena/produktivita sa každých 18 mesiacov znižuje na polovicu. Výkon a kapacita zariadenia sa zase približne zdvojnásobia každých 18 mesiacov. Ak použijeme túto úvahu na adresný priestor, môžeme očakávať, že budeme potrebovať dodatočný adresný bit každých 18 mesiacov, čo znamená, že 64-bitový model bude dobre slúžiť ďalších 48 rokov (teda takmer tak dlho ako celý história moderné počítače). Či sú takéto neformálne závery, na ktoré som narazil v jednom z oficiálnych zdrojov, opodstatnené, ukáže čas, no v minulosti rástli požiadavky na PC zdroje oveľa rýchlejšie, ako tvrdí vyššie uvedená prognóza.

Programovací model Win64

V závislosti od toho, ako sa rozhodnete reprezentovať štandardné dátové typy C, ako sú ukazovatele a celočíselné dátové typy (long, int a short), a či sú zavedené neštandardné dátové typy alebo nie, existuje niekoľko možností pre 64-bitový programovací model. . Pripomeňme, že štandard ANSI C striktne nedefinuje veľkosti dátových typov, hoci sa požaduje, aby veľkosť dát typu long int bola aspoň veľkosť dát typu int a veľkosť dát typu int bola aspoň veľkosť krátkych int dát.

Ciele

Cieľom je mať jedinú definíciu Windows API (to znamená spoločnú pre Win32 a Win64), aby bolo možné použiť jeden základný zdrojový kód. Použitie tejto jedinej definície môže vyžadovať určité zmeny v zdrojovom kóde, ale tieto zmeny by sa mali obmedziť na minimum.

Microsoft zvolil model LLP64 (dlhé celé čísla a 64-bitové ukazovatele), ktorý sa zvyčajne označuje jednoducho ako model P64. Konkrétne existujú nasledujúce definície typov údajov, ktoré sa vzťahujú na podpísané aj nepodpísané údaje:

Char je 8 bitov a wchar je 16 bitov.

Krátke - 16 bitov.

Int - 32 bitov.

Long int je tiež 32 bitov.

Veľkosť ukazovateľa akéhokoľvek typu, napríklad PVOID, je 64 bitov.

Ďalšie typy údajov sa poskytujú pre prípady, keď sa požadujú údaje presne definovanej veľkosti. Kompilátor spoločnosti Microsoft napríklad rozpoznáva nasledujúce typy údajov: _int16, _int32 a _int64.

Typy údajov

Tabuľky v tejto kapitole sú prevzaté priamo z prevádzky systém pomoci a predstavujú jeden model Údaje systému Windows(Uniformný dátový model systému Windows). Definície typov možno nájsť v hlavičkovom súbore BASETSD.H, ktorý je súčasťou Microsoft Visual Studio .NET IDE (verzia 7.0) a verzie 6.0 tohto systému.