Některé názvy domén nejvyšší úrovně

Stejně tak 32bitový software (obvykle velmi staré programy) může obsahovat nějaký 16bitový kód. Tyto programy obvykle poběží s chybami na 64bitovém OS.

Je možné spustit 16bitovou aplikaci nebo kód na 64bitových systémech?

Ne, jak již bylo zmíněno, 16bitový kód nepoběží na 64bitovém OS, protože zpětná kompatibilita je poskytována pouze pro 32bitový. To je jeden z důvodů, proč některé 32bitové aplikace nepoběží na 64bitovém operační systémy Ach.

Je možné spustit 64-bit virtuální stroj na 32bitovém OS s 64bitovým procesorem?

Ano. Vše závisí na úrovni virtualizace. To se u softwarové virtualizace pravděpodobně nestane. I když se vám podaří systém nastartovat, vše bude velmi pomalé. Jedinou plnohodnotnou metodou je hardwarová virtualizace, kterou však musí podporovat BIOS vašeho počítače.

Odpovědi na časté dotazy týkající se 32bitových a 64bitových operačních systémů Windows

Poznámka pod čarou: tato sekce obsahuje odpovědi na běžné otázky. Pokud si pozorně přečtete předchozí část, můžete si na některé z nich snadno odpovědět sami.

Mohu provozovat Windows 2000 a Windows XP na 64bitových procesorech a používat starší software?

Ano, 32bitový operační systém poběží úspěšně na 64bitových procesorech. A také můžete spouštět staré programy na 64bitovém OS.

Jak zjistím, zda je systém 64bitový?

Chcete-li zjistit, jaký operační systém máte nainstalovaný, můžete použít také Microsoft FAQ speciální program Gibson Research Corporation (GRC). Ten vám ukáže nejen informace o bitové hloubce, ale také o podpoře hardwarové virtualizace počítače.

Jsou starší ovladače zařízení vhodné pro 64bitový systém Windows?

Je možné migrovat 32bitový systém na 64bitový Windows?

Společnost Microsoft jako taková neposkytuje žádný mechanismus. Proto budete muset nezávisle přenášet data z jednoho systému do druhého a přeinstalovat všechny programy.

Jak Alternativní možnost, můžete použít multiboot nebo virtualizaci.

Jak poznáte, zda je aplikace 32bitová nebo 64bitová?

Existuje několik základních znaků, podle kterých můžete určit bitovou hloubku aplikace, ale nejsou konečné.

  • Systém Windows nainstaluje programy do těchto adresářů systémový disk:
    • "\Program Files" pro 64bitové programy
    • "\Program Files (x86)" pro 32bitové programy
  • Ve správci úloh mají 32bitové procesy obvykle předponu „*32“, zatímco 64bitové procesy nikoli.

Důvodem, proč nelze tyto indikátory použít jako spolehlivý zdroj, je proto Obrázek Windows nainstaluje 64bitovou aplikaci. 64bitový instalační program obvykle instaluje 64bitové aplikace nebo kombinaci 32bitových a 64bitových komponent. Někdy však může instalační program nainstalovat pouze 32bitové součásti.

Kromě toho je součást určena nastavením registru a nikoli nastavením instalačního programu. Ve výchozím nastavení systém Windows předpokládá, že všechny součásti jsou 32bitové, pokud není uvedeno jinak. To znamená, že pokud 64bitová součást nebyla při instalaci označena jako 64bitová, nainstaluje se do složky 32bitové aplikace a použije klíče registru pro 32bitové aplikace. Proces však poběží jako 64bitový.

Proto je nejlepší použít jedno z následujících řešení:

  • Spusťte program auditu systému. Například z recenze Nejlepších bezplatných programů pro sběr informací o počítači (systému).
  • Můžete použít program PEStudio. Především je to nástroj pro analýzu zabezpečení programu. Ale také vám umožní hodně se naučit technické informace, včetně aplikační bitové hloubky.
  • Pokud se potřebujete dozvědět více o modulech používaných programem, pak můžete použít Dependency Walker, který je součástí vývojových nástrojů Microfoft, jako je např. Vizuální studio.
  • Windows Software Development Kit (SDK) obsahuje nástroj s názvem DumpBin, který lze také použít k určení bitové hodnoty aplikace. Chcete-li to provést, musíte na řádku konzoly spustit následující příkaz a po řádku "FILE HEADER VALUES" se podívat na název záhlaví: stroj (x64) - 64bitový program, stroj (x86) - 32- bitový program
    • dumpbin /headers "cesta k programu"
  • Můžete také použít nástroje, jako je Microsoft Process Explorer (viz správce úloh). Poskytují mnohem více informací než běžný dispečer Úkoly systému Windows. Bitovou kapacitu programu zjistíte z vlastností procesu.


Jaké jsou rozdíly mezi 32 a 64bitovými verzemi systému Windows?

Všechny hlavní fyzické a logické rozdíly mezi verzemi různé verze Okna jsou uvedena v tabulce 5 (umístěná níže). Tabulka také jasně ukazuje cestu zlepšení, kterou Windows prošly a že Windows má před sebou ještě dlouhou cestu, než vyčerpají možnosti 64bitových procesorů.

Mnoho omezení 64-bit Verze Windows jsou omezením systému, nikoli omezením procesoru. Počet fyzických procesorů zůstává stejný, a to především díky tomu, že jde o výsadu Windows Serveru.

Hardwarová zařízení však mají také omezení. Například zatímco 64bitové AMD a procesory Intel používají 64bitové ukazatele paměti, čipové sady, které je podporují, používají pouze 52bitovou fyzickou adresu (4 petabajty) a 48bitovou adresu virtuální paměti (256 terabajtů). Pro tuto chvíli je to víc než dost. Windows 7 64-bit podporuje pouze 192 GB fyzická paměť a 16 terabajtů (44bitové) virtuální paměti.

Tabulka 5: Fyzická a logická omezení verzí Windows
Čísla v závorkách označují pokročilá nastavení, která nejsou ve výchozím nastavení nainstalována a vyžadují kompatibilní hardware
Verze: XP Průhled 7
Bitová kapacita: 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á mezipaměť 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ální paměť 4 GB 16 384 GB 4 GB 16 384 GB 4 GB 16 384 GB
Jádro 1 (2) GB 8 GB 2 GB 8 GB 2 GB 8 GB
Uživatelské procesy:
Fyzická paměť 2 (3) GB 2 (4) GB 2 (3) GB 8 GB 2 (4) GB 8 GB
Virtuální paměť 2 (3) GB 2 (8 192) GB 2 (3) GB 2 (8 192) GB 2 (4) GB 2 (8 192) GB

Poznámka: Tabulka záměrně nepoužila pro dokreslení dynamiky zkratku 1 TB (1024 GB).

Poznámka: První 64bitová verze Windows XP (2002) byla také vyloučena z úvahy, protože má odlišnou architekturu. Systém používal procesory Intel Itanium (IA-64), které měly kvůli kompatibilitě procesor x86. Následně byla nahrazena 64bitovou architekturou AMD (x86-x64), která rozšířila instrukční sadu x86 a byla tak dobrá, že byla licencována Intelem a dalšími výrobci. Tato architektura je stále nejrozšířenější.

Je možné přidělit více paměti programu/procesu v 32bitovém systému Windows, jak je uvedeno v tabulce 5?

Ano můžeš. A tady je příklad.

Pokud používáte MySQL na Windows, můžete použít Address Windowing Extensions (AWE), které MySql podporuje. AWE zvyšuje maximální velikost paměti uživatelského procesu z 2 GB na 3 GB (viz Tabulka 5). To umožní MySQL využívat o 50 % více paměti.

Pamatujte však, že to neplatí pro všechny verze 32bitových Windows a že budete muset znovu zkompilovat MySQL.

Je možné alokovat více než 4 GB RAM ve 32bitových Windows?

K rozšíření podporovaného svazku můžete použít rozšíření fyzické adresy (PAE). paměť s náhodným přístupem. PAE zvyšuje velikost adresy z 32 bitů na 36 bitů, což umožňuje využití přibližně 64 GB.

PAE je nakonfigurován v BIOSu vašeho počítače, takže jej lze použít pro jakýkoli operační systém, včetně Linuxu a Apple OS X.

32bitový systém Windows používá PAE, ale má vnitřní limit 4 GB. Existují nástroje, které vám umožňují tento limit odstranit, ale měly by být používány s maximální opatrností a pouze v zoufalých situacích.

Nyní víte o 32bitových a 64bitových verzích, stejně jako o jejich kompatibilitě a funkcích použití.


| §4.2 Jak funguje internet...

Lekce 25 - 26
§4.2 Jak funguje internet
IP adresa počítače
Doménový systém jména
Protokoly přenosu dat

Klíčová slova:

Internet
protokol
IP adresa
Doménové jméno
IP protokol
TCP protokol

4.2.1. Jak funguje internet

Internet (anglicky Internet, z latiny inter - between a anglicky net - network) - celosvětově počítačová síť, spojující dohromady mnoho místních, regionálních a firemní sítě. Každá síť zařazená do Internetu má své operační středisko, které zodpovídá za provoz dané regionální části Internetu. Každá z těchto sítí může mít vlastníka, ale internet jako celek nevlastní nikdo. Koordinuje vývoj celosvětová síť veřejná organizace Internet Society (ISOC - Internet Society).

Spolehlivý provoz internetu zajištěna přítomností velké množství kanály pro přenos informací mezi místními, regionálními a podnikovými sítěmi, které jsou v něm obsaženy.

Chcete-li se připojit k internetu, vaše domácí počítač, musíte služby využívat poskytovatel internetu. Pokaždé, když uživatel přistupuje k internetu, jeho počítač se připojí počítačový systém poskytovatel.

Internet propojuje různé modely počítačů, s jiným softwarem. To je možné díky implementace v software zvláštní dohody (pravidla) tzv protokoly.

4.2.2. IP adresa počítače

Každý počítač připojený k internetu obdrží svůj vlastní jedinečný 32bitový identifikátor, který se nazývá IP adresa. Takových adres je více než 4 miliardy (2 32 - 1 = 4 294 967 295). K osobě, na rozdíl od technické systémy, je obtížné pracovat s dlouhými řetězci nul a jedniček. Místo 32bitové reprezentace tedy používáme zápis IP adresy jako čtyři desetinná čísla (0 až 255) oddělená tečkami, například 204.152.190.71. K provedení takového přechodu je 32bitový záznam rozdělen na čtyři části (každá po 8 bitech), z nichž každá je jako 8bitová binární číslo přeloženo do desítková soustava Zúčtování

Obvykle při každém přístupu k internetu váš počítač obdrží novou IP adresu. Informace o tom, kdy a jaké IP adresy byly přiděleny vašemu počítači, jsou uloženy poskytovatelem.

Chcete-li zjistit svou aktuální IP adresu během internetové relace, stačí napsat http://yoip.ru PROTI adresní řádek prohlížeč.

Internet je síť sítí a systém IP adres bere v úvahu tuto strukturu: IP adresa se skládá ze dvou částí, z nichž jedna je adresa sítě a druhá je adresa počítače v této síti. Pro podrobnější pohled na strukturu IP adresy vám doporučujeme seznámit se s animovaným videem „Demonstrace IP adresování“ (192564), zveřejněným v Unified Collection of Digital Educational Resources.

Úkol. Péťa si napsal IP adresu školního serveru na kus papíru a strčil si ho do kapsy saka. Péťova matka omylem vyprala spolu s poznámkou i bundu. Péťa po umytí našel v kapse čtyři papírky s útržky IP adresy. Tyto fragmenty jsou označeny písmeny A, B, C a D. Restore IP adresa. Ve své odpovědi uveďte sekvenci písmen představujících fragmenty v pořadí odpovídajícím IP adrese.

Řešení

Zkoumáme možné kombinace fragmentů adres, přičemž bereme v úvahu skutečnost, že každé ze čtyř čísel v adrese IP by nemělo přesáhnout 255.

Protože adresa nemůže začínat tečkou, fragment B rozhodně nelze použít jako první fragment.

Dostáváme možné možnosti:

Fragment B nemůže být na druhém místě, protože končí 50 a přidáním první číslice kteréhokoli ze zbývajících fragmentů k němu zprava vznikne číslo větší než 255.

Pokud je fragment A brán jako první, pak fragment D absolutně nemůže následovat (jinak je výsledkem číslo 1922 > 255). Pokud je fragment B vzat jako první, pak jej žádný ze zbývajících fragmentů nemůže následovat.

Po fragmentu D může následovat kterýkoli z fragmentů A a B.

Dostáváme možné možnosti:

Po fragmentu AB by mohl následovat pouze fragment B, ale v uvažovaném příkladu nemůže být třetí (ze stejného důvodu jako druhý). Ze stejného důvodu může za fragmentem GA následovat pouze fragment B (fragment B z uvažování vylučujeme). Po GW nemůže následovat A ani B.

Tak existuje jediná možnost spojení existujících fragmentů: GAVB. Odpovídající adresa vypadá takto: 222.195.162.50

4.2.3. Domain Name System

Spolu s digitálními IP adresami má internet doménu domény, která je pro uživatele pohodlnější a srozumitelnější. 1) jmenný systém (DNS - Domain Name System), díky kterému počítače dostávají jedinečné symbolické adresy.

Doménový systém má hierarchickou strukturu: domény nejvyšší úrovně, domény druhé úrovně atd. (obr. 4.2).

1) Doména - oblast internetu (z francouzského dominia - oblast) .


Rýže. 4.2. Hierarchická struktura doménových jmen


Existují domény první úrovně dva typy: administrativní(třípísmenný kód pro určitý typ organizace) a zeměpisné(dvoupísmenný kód pro každou zemi) - tabulka. 4.1.

Stůl. 4.1

Některé názvy domén nejvyšší úrovně

Celý název domény sestává z okamžitého doménové jméno a dále všechny názvy domén, do kterého vstupuje, oddělené tečkami.

Příklad. Celé jméno fcior.edu.ru označuje doménu třetí úrovně fcior, zahrnuté v doméně druhé úrovně edu, patřící do domény nejvyšší úrovně ru(obr. 4.3).

Rýže. 4.3. Celý název domény


Pro úplnější seznámení s doménovými jmény vám doporučujeme seznámit se s animovaným videem „Organizace jmenných prostorů“ (192876), zveřejněným v Unified Collection of Digital Educational Resources.


Chcete-li zjistit IP adresu webu, který vás zajímá, stačí spustit příkazy Start → Všechny programy → Příslušenství → Příkazový řádek a v okně, které se objeví Zadejte příkazový řádek tým ping A název domény webu. Například zadáním pingu www.konkurskit.ru obdržíte IP adresu webu soutěže KIT.

4.2.4. Protokoly přenosu dat

Aby se zajistilo, že přenos informací z jednoho počítače do druhého nezabere síť po dlouhou dobu, jsou soubory přenášeny po síti po malých částech - v balíčcích.

Vysílané pakety se postupně dostávají do cíle, dostávají se z jednoho serveru na druhý a operace se provádí na každém serveru směrování, tedy určení adresy dalšího serveru nejblíže příjemci, kterému lze tento paket přeposlat (obr. 4.4). Směrování paketů umožňuje IP protokol.

Rýže. 4.4. Paketový přenos dat


Protože pakety jsou přenášeny nezávisle na sobě, každý paket může dosáhnout svého cíle po své vlastní cestě. V posledním bodě jsou všechny balíčky shromážděny do jednoho souboru. Pokud některý balíček chybí, odešle cílový počítač odesílajícímu počítači požadavek, který mu sdělí, který balíček chybí. Požadovaný paket je znovu odeslán příjemci. Zajištění spolehlivého přenosu síťové pakety Protokol TCP zajišťuje komunikaci mezi dvěma počítači.

Úplnější pochopení toho, jak jsou informace přenášeny na internetu, můžete získat sledováním animovaných videí „IP Protocol“ (192655), „Network Layer. IP směrování" (192947), "Demonstrace protokolu TCP" (192744), zveřejněné ve Sjednocené sbírce digitálních vzdělávacích zdrojů.


Všechny sítě, které se připojují k internetu, tedy používají k připojení následující protokoly:
TCP(Protokol kontroly přenosu) - transportní protokol;

IP(Internetový protokol) - směrovací protokol.

Zpravidla se tyto protokoly používají společně a jsou od sebe prakticky neoddělitelné. Proto termín „ TCP/IP protokol».

NEJDŮLEŽITĚJŠÍ

Internet- celosvětová počítačová síť, která spojuje mnoho místních, regionálních a podnikových sítí, které mohou zahrnovat různé modely počítačů. To je možné díky implementaci speciálních dohod (pravidel) nazývaných protokoly v počítačovém softwaru.

Každý počítač připojený k internetu má svůj vlastní IP adresa- jedinečný 32bitový identifikátor.

DNS – systém doménových jmen; díky němu dostávají počítače unikátní symbolické adresy.

Soubory jsou přenášeny po síti po malých částech - balíčky. Protokol IP umožňuje směrování paketů. Navázání spolehlivého přenosu síťových paketů mezi dvěma počítači zajišťuje protokol TCP.

Otázky a úkoly

1. Přečtěte si prezentační materiály k odstavci obsaženému v elektronické příloze učebnice. Doplňuje prezentace informace obsažené v textu odstavce?

2. Co je to internet?

3. Proč je možné na internetu propojit různé modely počítačů s různým softwarem?

4. K čemu je IP adresa?

5. Jak převedete z 32bitové IP adresy na čtyři desetinná čísla?

6. Zapište si 32bitovou IP adresu do svého notebooku jako čtyři desetinná čísla oddělená tečkami:

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

7. Zapište si IP adresu do svého notebooku pomocí čtyř desetinných čísel ve 32bitové podobě:

1) 210.171.30.128;
2) 10.55.0.225.

8. Péťa si napsal IP adresu školního serveru na papír a strčil si ho do kapsy saka. Péťova matka omylem vyprala spolu s poznámkou i bundu. Péťa po umytí našel v kapse čtyři papírky s útržky IP adresy. Tyto fragmenty jsou označeny písmeny A, B, C a D. Obnovte IP adresu. Ve své odpovědi uveďte posloupnost písmen představujících fragmenty v pořadí odpovídajícím IP adrese.

9. Popište strukturu systému doménových jmen.

10. Analyzujte následující názvy domén:

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

11. Popište proces směrování a přenosu dat po počítačových sítích.

12. Uveďte všechny možné cesty pro doručování internetových paketů ze serveru I (zdroj) na server P (přijímač) přes servery 1, 2, 3, 4 s přihlédnutím ke stávající síťové architektuře.

Stručný referenční informace. Vyvíjím C# ve VS2008 pod .net 3.5 na počítači Vista-x64.

Nedávno jsem upgradoval na Vista-x64 a po nějakém hledání mám stále pocit, že úplně nerozumím interakci mezi OS a .net frameworkem. Potřeboval bych v tomto ohledu nějaké opravy/upřesnění.

Níže je uvedeno, jak rozumím procesu vývoje (pokud se mýlím, opravte mě):

Když nastavím svůj projekt, mohu nastavit cílovou platformu: x64, x86, AnyCpu. Pokud tomu rozumím, AnyCpu se zaměří na aktuální platformu (v mém případě x64). Mohu také nastavit x86 a spustit jej (kvůli WoW64).

Předpokládám, že když cílím na x64, program použije 64bitový .net framework 3.5 a podobný 32bitový framework pro x86. Je to správně?

Co mě mate je, když cílím na x64 a vytisknu informace o platformě, které vytiskne " WIN32NT". Nutí mě to si myslet, že" WIN32NT"Ne tak, jak si myslím, ale moc se mi o tom nepodařilo zjistit. Co to je?

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

4 odpovědi

To opravdu nepomůže, ale všechna prostředí vrátí win32nt... bylo by užitečné, kdyby vrátila win64nt, ne?

Nacházíte nějaké další problémy? Nebo zde jen hledáte znalosti?

Zkuste zkontrolovat velikost IntPtr. To vám dá vědět, zda vaše aplikace běží v 64bitovém režimu (myslím)

Obvykle potřebujete cílový AnyCPU - AnyCPU běží v "nativním" režimu cílového systému. Pokud spustíte aplikaci na 32bitovém stroji, poběží ve 32bitové verzi, pokud na 64bitovém systému, poběží v 64bitové verzi.

Jediným důvodem pro použití jedné z dalších možností je specifická potřeba spustit 32 nebo 64 bit. To se stane, pokud používáte knihovnu se specifickými požadavky. Například tato knihovna SQLITE obsahuje nespravovaný kód. Když jsem ji použil v aplikaci, která byla zkompilována v AnyCPU, aplikace fungovala dobře na 32bitovém systému, ale nepodařilo se načíst knihovnu na 64bitovém systému. Důvodem je, že nespravovaný kód v knihovně Sqlite je zkompilován na 32 bitů. Ani na .net nelze kombinovat 32 a 64bitové sestavení.

V tomto případě bylo správným řešením explicitně zkompilovat x86 (je to malý nástroj, který nelze spustit na 64 bitech). Moje aplikace tedy běží jako 32bitová aplikace i na 64bitových Windows.

Další možností by bylo zkompilovat aplikaci v AnyCPU, ale zpracovat různé platformy výslovně, například zpožděním načítání správné nezvládnuté montáže.

Kromě těchto efektů nativního kódu se domnívám, že je do značné míry irelevantní, na jakém frameworku je aplikace zkompilována. Jediné extrémní protipříklady, které vás napadnou, jsou možná budete chtít zkompilovat aplikaci na x64, která vyžaduje šílené množství paměti RAM. Ale typické run-off-the-mill.net aplikaci je jedno, na jakém procesoru nebo režimu běží. Ale pokud to chcete vědět, můžete vždy zkontrolovat velikost IntPtr, jak je navrženo v jiných odpovědích.

AnyCpu necílí na aktuální platformu vývojáře. Zaměřuje se na jakýkoli procesor, říká. Kompilátor JIT spuštěný na cílovém počítači zkompiluje IL do 32bitových nebo 64bitových instrukcí nastavených tak, aby odpovídaly operačnímu systému cílového počítače. To znamená, že sestava .Net zkompilovaná jako AnyCpu bude fungovat na 32 i 64bitových platformách.

Přechod z 16bitových na 32bitové verze Windows začal na počátku 90. let s příchodem Windows NT a zrychlil se po pomocí Windows 95 se stal samozřejmostí. Jakkoli je lákavá představa, že se historie bude opakovat, situace, na které se díváme, se v několika ohledech liší.

Windows NT a Windows 95 byly první široce používané „skutečné“ operační systémy pro PC v tom smyslu, že oba systémy podporovaly stránkování na vyžádání, vytváření vláken, preemptivní multitasking a mnoho dalších funkcí, které byly popsány v kapitole 1.

Přestože Win32 API značně rozšířilo použitelný adresní prostor, stejně jako Win64, vylepšení se tím nezastavilo. Neohrabané a zastaralé, navzdory své oblíbenosti, modely s rozšířenou pamětí byly nahrazeny jinými. Podobný model rozšířené paměti (není v této knize popsán) ​​byl představen ve Windows 2000, ale celkový dopad tohoto kroku nebyl v tomto případě tak významný.

Do Win32 API bylo zavedeno mnoho nových funkčnost, což se o Win64 říci nedá.

Jak dlouho vydrží 64 bitů?

Ve světě počítačů, ze kterého Windows vznikly, je původní 16bitový model Intel x86 (který má skutečný 20bitový adresní prostor) k dispozici již více než deset let a 32bitová architektura existuje stejně dlouho. čas. . Přechod na Win64 a 64bitové programování je však obecně pomalejší než podobný přechod na 32bitové. V obou případech však byl přechod minipočítačů a serverů na další úroveň proveden nejméně 10 let předtím, než se to začalo dít u PC. Je tedy přirozené se ptát, zda bychom měli v budoucnu očekávat přechod na 128bitové servery nebo počítače. Tvrdil bych, že k jakémukoli rozšíření tohoto druhu nedojde dříve než za 10 let, a to pouze na základě velikosti 64bitového adresního prostoru.

Předpovědi jsou vrtkavá věc, ale pokud to vezmeme jen z poloviny vážně, mohli bychom si připomenout často citovaný Moorův zákon, který říká, že poměr cena/výkon se každých 18 měsíců snižuje na polovinu. Rychlost a kapacita zařízení se zase každých 18 měsíců přibližně zdvojnásobí. Aplikujeme-li tuto úvahu na adresový prostor, můžeme očekávat, že každých 18 měsíců budeme potřebovat další bit adresy, což znamená, že 64bitový model bude dobře sloužit dalších 48 let (tedy téměř stejně dlouho jako celý historie moderní počítače). Čas ukáže, zda jsou takové neformální závěry, na které jsem narazil v jednom z oficiálních zdrojů, oprávněné, v minulosti však požadavky na PC zdroje přibývaly mnohem rychleji, než uvádí výše uvedená prognóza.

Programovací model Win64

V závislosti na volbě, jak jsou reprezentovány standardní datové typy C, jako jsou ukazatele a celočíselné datové typy (long, int a short), a zda jsou zavedeny nestandardní datové typy nebo ne, je možných několik variant 64bitového programovacího modelu. Připomeňme, že standard ANSI C striktně nedefinuje velikosti datových typů, i když vyžaduje, aby velikost dat long int byla alespoň stejně velká jako velikost dat int a aby velikost dat int byla alespoň velký jako velikost krátkých int dat.

Cíle

Cílem je zavést jedinou definici Windows API (tj. společnou pro Win32 a Win64), aby bylo možné použít jediné základní API. zdroj. Použití této jediné definice může vyžadovat určité změny ve zdrojovém kódu, ale tyto změny by měly být omezeny na minimum.

Microsoft zvolil model LLP64 (dlouhá celá čísla a 64bitové ukazatele), který je obvykle označován jednoduše jako model P64. Zejména následující definice datových typů platí pro podepsaná i nepodepsaná data:

Char je 8 bitů a wchar je 16 bitů.

Krátký - 16 bitů.

Int - 32 bitů.

Long int je také 32 bitů.

Velikost ukazatele jakéhokoli typu, například PVOID, je 64 bitů.

Pro případy, kdy jsou vyžadována data přesně definované velikosti, jsou poskytovány další datové typy. Kompilátor Microsoft tedy rozlišuje následující datové typy: _int16, _int32 a _int64.

Typy dat

Tabulky uvedené v této kapitole jsou převzaty přímo z provozu systém nápovědy a představují jeden model Data systému Windows(Uniformní datový model Windows). Definice typů lze nalézt v souboru záhlaví BASETSD.H, který je součástí IDE aplikace společnosti Microsoft Visual Studio .NET (verze 7.0) a verze 6.0 tohoto systému.