Platforma x64 a přechod na 64 bitů. Aleš Keprt Univerzita Palackého, Olomouc



Podobné dokumenty
PLATFORMA X64 A PŘECHOD NA 64 BITŮ

Linux a 64 bitů. SUSE Labs. Michal Ludvig Vojtěch Pavlík

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Implementace systémů HIPS: historie a současnost. Martin Dráb

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Matematika v programovacích

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

Instalace OS, nastavení systému

Pohled do nitra mikroprocesoru Josef Horálek

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

úvod Historie operačních systémů

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Operační systémy 2 Základy Windows API

Základní informace. Operační systém (OS)

Základy operačních systémů

Stavba operačního systému

Na různých druzích počítačů se používají různé operační systémy. V průběhu času

VirtualBox desktopová virtualizace. Zdeněk Merta

Roman Výtisk, VYT027

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Operační systémy. Přednáška 1: Úvod

Virtualizace. Lukáš Krahulec, KRA556

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

Dílčí projekt: Systém projektování textilních struktur 1.etapa: tvorba systému projektování vlákno - příze - tkanina

Operační systémy Rozdělení a popis. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1124_Operační systémy Rozdělení a popis_pwp

Technické vybavení počítače. (všechny části z nichž je počítač složen)

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Operační systémy: funkce

Referát (pokročilé architektury počítačů)

Windows 2008 R2 - úvod. Lumír Návrat

Informační Systém pro Psychiatrii HIPPO

Srovnání alternativních implementací DirectX

Základy informatiky. Operační systémy

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Tomáš Kantůrek. IT Evangelist, Microsoft

Identifikátor materiálu: ICT-1-17

Operační systémy (OS)

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Paralelní výpočty ve finančnictví

Definice OS. Operační systém je základní programové vybavení počítače, nezbytné pro jeho provoz.

VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ

aniel Dvořák, Martin Mičan Liberec Windows Server 2012/R2 Migrační scénáře

SOU Valašské Klobouky. VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled. Mgr. Radomír Soural

Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@ .cz

IT ESS II. 1. Operating Systém Fundamentals

Výkonnost mikroprocesoru ovlivňují nejvíce dvě hlediska - architektura mikroprocesoru a tzv. taktovací frekvence procesoru.

- kvalitní dokumentace k SW je vyžadovaným STANDARDEM. vzájemná provázanost SW (IS) ve velkých společnostech. aktuální přehledná srozumitelná

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Chyby v prohlížečích, které v nich byly klidně deset let. Jiří Nápravník

Představení procesorů od firmy Tilera a jejich architektura

HISTORIE VÝPOČETNÍ TECHNIKY. Od abakusu k PC

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

Compatibility List. GORDIC spol. s r. o. Verze

Architektura procesoru ARM

Operační systémy. Přednáška 8: Správa paměti II

Emulátory. Autor: Martin Fiala. Spouštění programů a her z jiných OS nebo jiných platforem. InstallFest

Pokročilé architektury počítačů

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

Radim Dolák Gymnázium a Obchodní akademie Orlová

Instalační manuál pixel-fox

Základní pojmy informačních technologií

produktů. produkty: AutoCAD Mechanical Showcase Autodesk Autodesk Designer SketchBook Autodesk Mudbox Vault Autodesk Ultimate Intel Xeon Intel Core

Profilová část maturitní zkoušky 2014/2015

Profilová část maturitní zkoušky 2015/2016

09. Operační systémy PC 1. DOS. Nejdůležitější zástupci DOSu:

Alternativní operační systémy. Martin Drlík, Daniel Krotil OSY2A, ITV

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

9. Software: programové vybavení počítače, aplikace

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Programové vybavení počítače

Úvod do operačního systému Linux Mgr. Josef Horálek

OPS Paralelní systémy, seznam pojmů, klasifikace

Kontrolní seznam projektu a systémové požadavky Xesar 3.0

Software Operaèní systém autorské dílo licenci multilicenci Aplikaèní software Komerèní programy upgrade OEM software Demoverze a zku ební verze

Software Operaèní systém autorské dílo licenci multilicenci Aplikaèní software Komerèní programy upgrade OEM software Demoverze a zku ební verze

Software Operaèní systém autorské dílo licenci multilicenci Aplikaèní software Komerèní programy upgrade OEM software Demoverze a zku ební verze

SW ATTIS nástroje. HW a SW požadavky pro sw ATTIS. manažerského řízení. Verze manuálu: 3.5 Datum:

VÝPOČETNĚ NÁROČNÉ APLIKACE S VYUŽITÍM VIRTUALIZACE PRACOVNÍCH STANIC NA BÁZI INTEGRACE TECHNOLOGIÍ MICROSOFT VDI A SUN RAY

O aplikaci Parallels Desktop 7 for Mac

Operační systémy 2. Přednáška číslo 1. Úvod do OS

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

NOVELL AUTORIZOVANÉ ŠKOLICÍ STŘEDISKO. v rámci celosvětového programu Novell Academic Training Partners (NATP) Ing. Marek Ťapťuch

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

ArcGIS Server 10.1/10.2

Instalační manuál pixel-fox

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

TC-502L TC-60xL. Tenký klient

MSP 430F1611. Jiří Kašpar. Charakteristika

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Virtuální učebna: VMware VDI zefektivňuje výuku, zjednodušuje správu a snižuje náklady

AIDA64 Extreme. Příručka k nastavení. v

Pokročilé architektury počítačů

Pokročilé architektury počítačů

DINOX IP kamery řady: DDC-xxxx DDR-xxxx DDX-xxxx DDB-xxxx

CUZAK. Instalační příručka. Verze

ČÁST 1. Základy 32bitového programování ve Windows

LINUX - INSTALACE & KONFIGURACE

Transkript:

Platforma x64 a přechod na 64 bitů Aleš Keprt Univerzita Palackého, Olomouc 2008, 2009

Úvod 64bit počítač není nový objev 64bit unixové servery od roku 1992 Nyní pozvolné rozšiřování 64bit na PC Pomalé změny nepůsobí moc obtíží Nabízejí se dvě otázky: 1. Budou 64bit počítače výhledově dominantní, nebo zůstanou jen alternativní platformou? 2. Co přechod na 64bit přináší uživatelům a programátorům systémů? 2/26

Přehled Roky nástupu 16, 32 a 64 bitů 32 bitů Přechod 16 32 bitů Nabízené možnosti 32bitových systémů 64 bitů Procesory typu Itanium, Power, x64 Pohled uživatele Odhad nejbližšího vývoje Programování x64 C, asm, Java, C#, přenositelnost Windows Linux 3/26

Roky nástupu 16, 32 a 64 bitů Poznámky: Tabulka obsahuje jen vybrané údaje, nikoliv všechny Některé hodnoty jsou jen přibližné Nejsou uvedeny slepé vývojové větve 4/26

Přechod 16 32 bitů CPU 80386 (1985) Win/386 (1988), NT (1993), W95 (1995) Nezávisle na sobě lze použít 3 nové prvky: 1. 32bitové výpočty v ALU Možno používat kdykoliv a kdekoliv 2. 32bitová adresace paměti Možno použít i v DOSu DPMI, rozšířené např. u her (Doom) Windows NT (1993), Windows 95 (1995) 3. Virtualizace CPU (pro reálný režim) Windows/386 (1988) zde bylo první použití EMM386 (paměť nad 1MB) později velmi populární 5/26

32bitové systémy shrnutí Hlavní výhoda: lineární adresace paměti Tedy výrazně jednodušší programování Použití prvních prvků 3 roky po CPU (Win/386) Plnohodnotné používání po 8 letech (Win NT) Dominantní postavení po 11 letech (Win 95) Dominance je marketingová věc, nikoliv technická Během let se objevila řada slepých větví operačních systémů Dodnes přežilo jen Windows NT a Linux 6/26

Intel Itanium 64bit CPU pro PC Vývoj od roku 1994, hlavní cíle: Vyřešit limit 4 GB paměti Roku 1994 ještě 4 GB bylo dost, dnes už ne Bez zpětné kompatibility s řadou x86 Změna architektury umožní zrychlit CPU Fatální chyby ve vývoji Naivita o marketingové síle Intelu Lidé přešli k AMD, místo aby přešli k Itaniu Špatný odhad vývoje hardwarových technologií Intel se domníval, že x86 již nelze zrychlit. Stal se opak Problémy s vývojem softwaru Vývoj překladačů vyšších jazyků téměř neřešitelný Velké zpoždění ve vývoji V době uvedení na trh dosáhlo x86 srovnatelného výkonu 7/26

Power další 64bit alternativa Cíle podobné jako Itanium Nový CPU nebude kompatibilní, ale bude o hodně rychlejší Spolu s ním vznikne i nový operační systém Realita: Velké zpoždění ve vývoji hardwaru Neúspěch ve vývoji operačního systému Srovnání s x86: Není kompatibilní, není rychlejší, není levnější 8/26

x64 AMD Opteron (2003) Jednoduchým způsobem rozšiřuje x86 1. 64bitové výpočty v ALU 2. 64bitová adresace paměti 3. Zůstává kompatibilní s x86 Základní otázka: Bude x64 dominantní, nebo skončí jako Itanium, Power a další alternativy? 9/26

Vlastnosti x64 64bitová adresace paměti Kompatibilní s PAE (dřívější technologie) Podporují jej i 32bit operační systémy Windows 2000/XP/Vista, Linux 2.6 aj. 64bitové výpočty v ALU Registry jsou 64bit a je jich 2x více Vyžaduje nový 64bit operační systém Čili 64bit ALU není zpětně kompatibilní s x86 10/26

x64 adresace paměti Přináší ochranu proti přetečení bufferu Proto se používá i v 32bit systémech Jádro správy paměti je 64bitové, zbytek je 32bit Umožňuje použít více než 4 GB paměti Toto platí i pro 32bit operační systémy Ne každý systém to ale využívá, protože to vyžaduje přizpůsobit ovladače zařízení Windows XP SP3, Vista SP1, W7 jen 4 GB Windows Server 2003, 2008 až 64 GB Linux 2.6 maximálně 64 GB 11/26

x64 shrnutí, analýza Prodeje x64 ukazují, že nepůjde jen o slepou vývojovou větev Použití prvních prvků 3 roky po CPU (Windows XP), bez změn dalšího softwaru Nyní očekáváme rozšíření na servery Původní 16bitová PC na serverech nebyla, takže není s čím srovnávat Dominantní postavení zatím ne Připomenutí: 32bit systémy se staly dominantními až po 11 letech po uvedení CPU Takže u 64bitových můžeme očekávat 2003 2014??? 12/26

Pohled uživatele Nevýhody: Menší kompatibilita s nynějšími 32bit systémy 64bit programy mohou být pomalejší (delší pointery) Windows XP x64 není v české verzi Windows Vista x64 není úplně kompatibilní Výhody? Nic, co by bylo protihodnotou nevýhod 13/26

Pohled uživatele (2.) Výhled do budoucna Starší programy nebudou časem potřeba 4 GB paměti nám nebude stačit Výrobci softwaru se nás nebudou ptát Už dnes některé serverové aplikace jsou jen v 64bitové verzi Spor technologie (nechat 32 bitů je možné) a byznysu Microsoft bude podporovat jen 64bit verze Licence omezuje Vistu a W7 na maximálně 4 GB 14/26

Odhad nejbližšího vývoje Čtyři možné scénáře (pro desktopy) a) Více než 4 GB se zatím nebude používat Zatím nejpravděpodobnější varianta b) XP SP3 letos opustí limit 4 GB Nepravděpodobné, potřebovalo by asi nové drivery c) Lidé přejdou na Windows Server 2003/2008 Technicky nejschůdnější, ale v praxi dost nepravděpodobné, protože to nikdo nepropaguje d) Lidé přejdou na Windows 7 x64 Jiné x64 systémy: Linux, Solaris, MacOS X Je nepravděpodobné, že by se teď masově rozšířily 15/26

x64 - programování Základní fakta: x64 má jiné instrukční kódy, takže nelze používat 64bit registry ve 32bit programech (takto se běžně kombinoval 16 a 32bit kód) Lze kombinovat různěbitové segmenty Proto 64bit systém umí spustit 32bit programy (technicky vzato umí spustit i 16bit programy) 16/26

Alternativy v programování 1. Dále tvoříme 32bit kód 2. Tvoříme 64bit programy 3. Tvoříme přenositelný kód 17/26

Alternativa 1: Dále tvoříme 32bit kód Paměť nad 2 či 4 GB používáme pomocí okénkových funkcí (totéž jako kdysi Emm386 v DOSu) Nemáme k dispozici 8 nových registrů 64bit výpočty provádíme po polovinách Toto nám zajistí překladač vyššího jazyka Výhody: Programy fungují na 32 i 64bit verzích OS Máme-li 32bit pluginy, můžeme je dál používat 18/26

Alternativa 2: Tvoříme 64bit programy Přímý přístup k celé paměti Možnost využít všechny registry Přímé provádění 64bit výpočtů Některé programy se mohou mírně zpomalit (delší pointery), jiné se naopak zrychlí až 4x Nevýhoda: Uživatel musí mít 64bit systém To má zatím málokdo 19/26

Alternativa 3: Tvoříme přenositelný kód V moderních systémech (.NET, Java apod.) je to vždy přenositelné C/C++ lze přenášet také, vyžaduje to ale více práce od programátorů Dvojí ladění, dvojí distribuce, dvojí podpora Ve Windows lze mít 2 verze v 1 souboru, ale v praxi se to vůbec nepoužívá Paradox: Toto je možná i nejméně vhodná alternativa, která se ale v praxi bude velmi často používat 20/26

Jazyk C a 64 bitů Existují různé adresovací modely: ILP32 je nejjednodušší (všechno 32bit ) Unix používá už dlouho model LP64 Má se za to, že je pro 64bit programy nejvhodnější Microsoft si zvolil model LLP64 LLP64 je více kompatibilní s 16 a 32bit kódem Programy takto zabírají méně paměti a jsou i rychlejší 21/26

Přenositelnost Windows Linux Je to více pracné, než u 32bit programů Linux volí LP64, protože tak to má i Unix Microsoft volí LLP64, protože: Většina programů se převádí z LP32, kde long je jediný 32bitový typ změna by přinesla spoustu komplikací a zbytečné práce navíc Také Windows API je původně z LP32 32bit a 64bit programy spolu budou žít dohromady a LLP64 má všechny typy stejné jako ILP32, až na pointery, které se ale v meziprocesní komunikaci vůbec nepoužívají Výhodou je zatím jednotná volací konvence x64 De facto modernizovaná varianta fastcall 22/26

Assembler x64 De facto stejná instrukční sada jako x86 Jiné instrukční kódy (čísla instrukcí) 14+2 registry, každý má 8/16/32/64 bitů Výchozí velikost je 32 bitů, jinak s prefixem Adresy jsou vždy relativní, výchozí je také 32 bitů Bitové operace jsou až 4x rychlejší Nepoužívá se segmentace Segmentové registry zůstaly částečně funkční pro zpětnou kompatibilitu 23/26

Windows API V Top 500 je již více než 75% počítačů typu x64 Převážně používají 64bit verzi Linuxu U x64 desktopů lze předpokládat spíše používání Windows Windows XP a Windows Server 2003 x64 (2005), Vista x64 (2007) Windows Server 2008 x64 (2008), Windows 7 x64 (2009) Windows API je převážně 32bit rozhraní Jen to nejnutnější je 64bit (pointery, velikosti souborů atp.) 32/64bit kód nelze v rámci 1 procesu kombinovat (DLL, COM, ) Celá řada programů zůstane 32bit (Winamp, Firefox, Media Player atp.) 32bit procesy nemají přístup do skutečného systémového registru a adresáře Windows žijí ve virtuálním 32bit světě Všechny procesy se vidí a mohou spolu komunikovat Sdílená paměť, pojmenované roury, sokety, out-of-proc COM servery x64 edice Windows neobsahují 16bit subsystém Důvodem je (marketing a) rozšíření systémových handlů z 16 na 32 bitů 24/26

Java a.net Teoreticky nejsou bitově závislé Java pro Win/x64 trpí zpožděným vydáváním aspoň zatím Je většinou lepší nainstalovat si 32bit verzi.net funguje na x64 dobře Program se spustí v 64bit režimu, ale uživatel nic nepozná Programy používající 32bit kód (COM/DLL), mohou být označeny příznakem 32bit-only 25/26

Závěr Situace na trhu napovídá, že x64 bude nebo už i je nástupcem x86 Otázkou je, jak dlouho bude trvat přechod x86 x64 u softwaru Programování x64 má svá specifika, ale nepůsobí to žádné zásadní problémy 26/26

Mgr. Aleš Keprt, Ph.D., 2008, 2009 Vytvořeno pro potřeby přednášky na UP Olomouc. Tento text není určen pro samostudium, ale jen jako vodítko pro přednášku, takže jeho obsah se může čtenáři zdát stručný, nekompletní či možná i chybný. Použití je povoleno dle vlastní libosti, ale jen na vlastní nebezpečí. V případě dalšího šíření je NUTNO uvádět původního autora a odkaz na původní dokument. Komentáře můžete posílat e- mailem autorovi (adresu najdete přes Google). Vytvořeno podle původní publikace: Keprt A. Platforma x64 a přechod na 64 bitů. In proceedings of Tvorba softwaru 2008. VŠB Technical University, Ostrava, 2008, pp. 41 48, ISBN 978-80-248-1765-1.