UNIX 14. Grafický subsystém © Milan Keršláger 28.9.2016

Slides:



Advertisements
Podobné prezentace
© 2000 VEMA počítače a projektování spol. s r. o..
Advertisements

Grafické karty Základní parametry.
Tato prezentace byla vytvořena
Vytvořil: Petrásek Jan
HARDWAROVÉ POŽADAVKY NA MULTIMEDIÁLNÍ POČÍTAČ
Typy programů operační systémy programy pro práci se soubory
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
Programová rozhraní pro grafické adaptéry
Martin Holý.  Druhá světová válka  První generace (1945 – 1951)  Elektronky, relé = drahé, pomalé  Druhá generace ( )  Tranzistory = zmenšování.
INFORMATIKA - PC 6. Ročník Zpracoval: Mgr. Tomáš Rajnoha vyučující informatiky a komunikační technologie 1.
Operační systém Adam Greguš, 4.A.
Štěpán Lískovec, 4.A.  =základní programové vybavení počítače (tj.software)  hlavní úkol:  A, zajistit uživateli možnost ovládat PC  B, vytvořit pro.
Historie operačních systémů Fiala Filip, 4.C. 50. léta Počítače bez OS Programy se psaly pro konkrétní počítače, často v binárním kódu Až ke konci 50.
Operační systémy.
Operační systémy.
Počítač, jeho komponenty a periferní zařízení
Zdroj Parametry – napájení všech komponent PC
Operační systém (OS) ICT Informační a komunikační technologie.
Druhy počítačů Osobní počítače Pracovní stanice Superpočítače
Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou I NFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Ing. Jan Roubíček.
OBRÁZKY Popis karty Grafická karta se stará o grafický výstup na monitor, TV obrazovku či jinou zobrazovací jednotku. V případě, že grafická karta obsahuje.
Napsal: Michal Straka Třída: 3IT Rok: 2012/2013. OSNOVA Úvod – Co je to GPU? Historie firem AMD Radeon Nvidia Porovnání výkonu Závěr.
S O F T W A R E Šablona 32 VY_32_INOVACE_6_5_Operační systémy.
8 ZÓN 16 KLÁVESNIC 32 TYPŮ ZÓN 6 VÝSTUPŮ 10 UŽIVATELSKÝCH KÓDŮ 100 UDÁLOSTÍ V HISTORII DETEKTORY KLÁVESNICE G8.
Informační a komunikační technologie 1.2 Operační systémy, aplikace Implementace ICT do výuky č. CZ.1.07/1.1.02/ GG OP VK Studijní obor: Kadeřník,
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
© 2000 VEMA počítače a projektování spol. s r. o..
OPERAČNÍ SYSTÉMY ICT – Mgr. Milan Šimek. Nejznámější operační systémy DOS – textové rozhraní OS/2 – podobný Windows, ovládán hlasem UNIX – stabilní, otevřený,
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Vzdálená správa Tomáš Kalný.
OPERAČNÍ SYSTÉMY.
GPGPU Výpočty pomocí grafických procesorů Zpracoval Martin Přeták.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
Struktura operačních systémů
Naprogramovat operační systém je mnohonásobně složitější, než naprogramovat „obyčejný program“. Základní programové vybavení počítače Fce: ovládání počítače,
Základy operačních systémů
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
Operační systémy cvičení 1 © Milan Keršláger Obsah: náplň předmětu,
Počítačová bezpečnost Cvičení 1: Zabezpečení startu PC © Milan Keršláger
NÁZEV ŠKOLY:Základní škola a mateřská škola Bohdalov ČÍSLO PROJEKTU: CZ.1.07/1.4.00/ ŠABLONA:III/2 TÉMATICKÁ OBLAST:Informační a komunikační technologie.
Rozdělení počítačů (2). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
Základní škola T. G. Masaryka a Mateřská škola Poříčany, okr. Kolín VY_32_INOVACE_ICT_03 SOFTWARE POČÍTAČE Zpracovala: Mgr. Květoslava Štikovcová Číslo.
OPERAČNÍ SYSTÉMY učební text pro žáky SŠ.
Linux seminář, Tomáš Davídek, Pavel Řezníček 1 Linux a Xorg Tomáš, Pavel.
Architektura X Windows ● Model klient-server ● X display (displej)– komplexní zařízení s vlastními výstupními (obrazovka) a vstupními zařízeními (myš,
Grafická karta je součást počítače, která se stará o grafický výstup na monitor, TV obrazovku či jinou zobrazovací jednotku. je součást počítače, která.
Operační systémy Grafický subsystém © Milan Keršláger Obsah:
Technologie počítačů 1. Stavba počítače © Milan Keršláger
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Operační systém (OS) Základní funkce operačního systému: – Zajištění komunikace s okolím. – Řízení a zpracování programů. – Údržba informací na externích.
Číslo projektu CZ.1.07/1.5.00/ Název školy Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64 Název materiálu VY_32_INOVACE_IVT_1_KOT_17_ROZHRANI.
Počítačová bezpečnost Cvičení 1: Start počítače IBM PC © Milan Keršláger
UNIX 14. Grafický subsystém © Milan Keršláger
UNIX 2. Uživatelská rozhraní © Milan Keršlágerhttp:// Obsah: ● terminál, příkazový.
UNIX 14. Grafický subsystém © Milan Keršláger
UNIX 14. Grafický subsystém
Vypracoval / Roman Málek
Programování mikropočítačů Platforma Arduino
Grafická karta
Operační Systém Operační systém je v informatice základní programové vybavení počítače (tj. software), které je zavedeno do paměti počítače při jeho.
UNIX 3. Unixová uživatelská rozhraní
Vlastnosti souborů Jaroslava Černá.
Operační systémy - úvod
Operační systémy 9. Spolupráce mezi procesy
OPERAČNÍ SYSTÉMY ICT – Mgr. Milan Šimek.
1. ročník oboru Mechanik opravář motorových vozidel
UNIX 14. Grafický subsystém
Operační systémy.
DirectX Jan Kotrouš PGC3.
Transkript prezentace:

UNIX 14. Grafický subsystém © Milan Keršláger

Historie zobrazování ● textové terminály → Unix ● aplikace používají knihovny ● základní podpora terminálu uvnitř jádra OS ● 8bitové počítače (ZX Spectrum, IQ151,...) ● funkce v ROM, aplikace je volá ● základem textový režim (terminál) ● grafika pomocí specifických funkcí – každá aplikace typicky vlastní podle svých potřeb – nepřenositelnost graf. aplikací – přesto zajímavá a rychlá grafika (nejvíce hry)

IBM PC ● MDA (1981) – IBM ● IBM, černobílý textový režim (80x25) → dodnes ● Hercules (1982) ● grafický režim 720×348, stává se standardem ● CGA (1981), EGA (1984) – IBM ● barevné, ale málo barev, nízké rozlišení ● VGA (1987) – IBM ● maximálně 256 barev ● základem textový režim MDA, až 512 znaků ● SVGA – 800×600, 1024×768,...

VESA ● každý výrobce měl vlastní „vylepšení“ VGA ● dodnes se zachovává zpětná kompatibilita s VGA ● vylepšení však kompatibilní nejsou – kvůli specifickému ovládání nových vlastností ● VESA (Video Electronics Standards Association) ● (pomalá) standardizace vyšších rozlišení ● jednotné ovládání → VESA BIOS Extensions – uloženo v ROM grafické karty → sada ovládacích funkcí – výrobce ve svém BIOSu řeší specifické ovládání karty – někdy je možná aktualizace na novější VESA standard ● nezahrnuje však akcelerované funkce

Ovladače grafické karty ● VESA standard neumí využít akcelerované fce. ● funkce VESA BIOSu nejsou optimalizované ● v DOSu se grafické funkce neřeší ● aplikace musí ovládání karty řešit individuálně ● aplikace nebo hra funguje jen s některým hardware ● GUI (grafické uživatelské prostředí) ● tj. Windows, unixové OS s X Window System ● aplikace používají univerzální API funkce ● API funkce realizována ovladačem konkrétní karty – ovladač tvoří výrobce HW

Vytvoření obrazu ● grafická karta má svoji paměť (VideoRAM) ● vyhrazená → paměť pouze pro graf. kartu ● sdílená → vyhrazená část operační paměti RAM ● monitor např × 768, 32bpp ● 1 bod na 32 bitů → 2 32 barev (4 miliardy) ● obraz je řada bodů v řádcích (tzv. framebuffer) ● program zapisuje do VideoRAM čísla ● karta údaje čte a vykreslí příslušně barevné body ● 1024 × 768 × 32 = bitů = 3 MB ● volná paměť obsahuje bitmapy fontů, skrytá okna... – urychlení vykreslování obrazu → akcelerace

Tvorba obrazu Vide o RAM Aplikace X server Grafický čip Monitor

GPU ● grafický procesor na videokartě ● původně specializovaný obvod pro 2D grafiku ● dnes obdoba procesoru v počítači ● orientován na vektorové výpočty ● provádí 3D výpočty ● dnes snaha využít jeho výpočetní potenciál – není jednoduché zapřáhnout odlišný procesor – specializované API pro X Window System ● offload dékódování video streamu: XvMC, VA API, VDPAU,... – podobně DxVA od Microsoftu pro Windows

Akcelerované 2D funkce ● problém rychlosti zobrazování ● velké přesuny dat (mezi RAM a VideoRAM) ● snaha o odlehčení práce CPU (řeší to GPU) ● blitting – přesuny obdélníkových částí bez CPU – typicky pohybující se postavička ve hře ● hardware cursor – ukazatel myši – není zapisován do obrazu, přidá se na pozici do výstupu ● clipping, off screen caching – rychlé překrývání objektů, fonty připravené ve videoRAM ● čára, obdélník, trojůhelník, kružnice, výseč...

3D akcelerace ● 2D akcelerace se dnes dělá pomocí 3D funkcí ● 3D objekty ● uloženy ve VideoRAM (i „neviditelné“ části) ● GPU renderuje objekty, řeší viditelnost, světlo,... ● obraz již nemá ve VideoRAM bitovou mapu 1:1 ● kompozitní správci oken ● program zapisuje (bitmapu) do bufferu ● buffer se skládají a transformují a pak zobrazení – umožňuje průhlednost oken, plochy na kostce, vlnění...

OpenGL ● 1992 – Silicon Graphics, Inc. ● dnes neziskové konsorcium Khronos Group ● programátorské API pro 2D a 3D funkce ● nezávislé na programovacím jazyku i HW platformě ● otevřený standard ● open source implementace → Mesa 3D ● původně pro 3D realizované pomocí CPU ● umí použít akcelerované funkce v HW karty

Direct3D ● 1996 – Microsoft (součást DirectX 2.0) ● proprietární 3D API s těsnou vazbou na HW ● nativní jen pro MS Windows a Xbox – uzamyká aplikace (hry) na MS platformě ● emuluje vertexové shadery, ale ne pixelové ● součást DirectX (ještě -Music, -Play a -Sound) ● od verze 8 též 2D (nahrazuje DirectDraw) ● dnes na úrovni OpenGL (design, rychlost) ● verze DirectX vzájemně nekompatibilní ● k nové verzi nutnost kupovat nový HW

OpenGL v Linuxu ● Galium3D a DRM jsou obecné knihovny ● DRI a DRM_karta řeší HW závislosti ● Mesa je 3D knihovna → SW rasterizer pro OpenGL Grafická karta Ovladače: DRM + DRM_karta Mesa (knihovna) Galium3D + DRI Aplikac e Jádro OS Hardware

Direct3D ve Windows Grafická karta Ovlada č GDI Direct3 D Aplikac e ● GDI – vykreslování oken, widgetů ● podobně jako GTK+, Qt nebo Xlib Jádro OS Knihovny Hardware

GUI a jádro OS ● jádro spravuje hardware (bezpečnost, stabilita) ● aplikace nemají přímý přístup k HW ● grafika vyžaduje extrémní rychlost ● zprostředkování grafických operací jádrem „zdržuje“ ● proto je vyžadován „přímý“ přístup procesu k HW – proces musí mít administrátorská oprávnění (root) – vzniká riziko ztráty stability a otázka bezpečnosti ● ve Windows je grafický subsystém v jádře ● zvýšíme rychlost, omezíme modularitu a obecnost

Oddělené řešení ● máme jádro ovládající TXT režim ● nastavíme pozici (25×80), vypíšeme znak ● grafiku vyřešíme jako aplikaci ● X server → ovládá HW – velmi přenositelné řešení, nevyžaduje zásahy do jádra – souboj X serveru a jádra o RAM a videoRAM – přepínání textového a grafického režimu – též problém usínání a probouzení ● kdo probudí kartu? X server ještě neběží, jádro už ano... – v současnosti se ukazuje nutnost jádro rozšířit ● v Linuxu KMS, TTM → root-less X

Grafika v jádře ● nutnost unifikace RAM a VideoRAM ● správce paměti v OS i v ovladači grafiky → kolize ● TTM v Linuxu spolu s DRI2, Gallium3D a KMS – nezbývá, než vpustit grafické funkce do jádra – jádro nastaví rozlišení a zveřejní rozhraní (DRI) – i textová konzole je nyní „grafická“ – při přepínání GUI a TXT se nemění grafický režim ● X server nepotřebuje práva roota – zvýšení bezpečnosti na úkor komplexity jádra – přístup ke GPU přes filtr jádra → rychlé kontroly

Schéma komunikace Grafická karta X server Aplikace Window manager X protokol

X server ● dnes se v Linuxu používá X.org ● modulární stavba – jeden univerzální X server – ovladače grafických karet jako moduly ● ATI a nVidia mají binární ovladače bez zdrojových kódů ● pro většinu HW existují open source ovladače – bez nutnosti konfigurace ● může být /etc/X11/xorg.conf, /etc/X11/xorg.conf.d/ ● používá se jen ve speciálních případech – vypínání některých akcelerací při problémech se stabilitou – speciální konfigurace v případě selhání autodetekce – logování do /var/log/Xorg.0.log

X protokol ● komunikace mezi aplikacemi a X serverem ● model klient – server ● zajišťuje nezávislost na zařízení ● umožňuje použití sítě ● asynchronní komunikace – není nutné čekat na dokončení požadavku – jsou implementovány fronty (u serveru i klienta)

xdm, gdm, kdm,... ● X Display Manager ● vytváří úvodní přihlašovací obrazovku ● po přihlášení se vytvoří „session“ – prostředí se spuštěnými programy pod ID uživatele – vše spustí pomocí sady skriptů ● uloženy v /etc/X11/xdm ● dvě hlavní komponenty prostředí: – Window Manager – správce oken ● vytváří dekorace oken, změny pozice, velikosti, překrývání, … – panel ● lišta s menu, seznamem oken, aplety (hodiny, Skype,...)

Úloha knihoven v GUI ● Xlib ● základní knihovna pro X Window system – je velmi primitivní, v programu se používá obtížně ● program ↔ Xlib ↔ X protokol ↔ X server ● další knihovny implementují „widget toolkit“ ● umí vykreslit základní prvky pro GUI ● nadstavba nad Xlib ● GTK+ – původně pro GIMP → rozhraní GNOME ● Qt – Trolltech → rozhraní KDE ● a další...

GNOME ● knihovny GTK+ ● desktopové prostředí – GTK+ naprogramováno v jazyce C, ale je objektové – inspirace Mac OS X – od začátku licence GPL ● soustředí se na vytvoření vývojového prostředí – aplikace jsou samostatné, nestejné, nepatří pod projekt ● ● též v projektu

KDE ● nad Qt knihovnami („kjůt“) ● desktopové prostředí – Qt naprogramováno v C++ (objektově) – Linux, Windows, Mac, – aplikace mohou být v jakémkoliv jazyce, i skripty ● všude je unifikované rozhraní i aplikace – pro uživatele vše vypadá stejně – vytváří stejný dojem, jako Microsoft Windows ● ● zapojeno do projektu ● dnes licence GPL

freedesktop.org ● od roku 2000, zastřešuje více projektů ● pro unixová desktopová prostředí ● zejména graf. prostředí GNOME, KDE, Xfce ● další projekty: – DRI, Mesa – 3D akcelerace, Cairo – vektorová knihovna – X.org server, D-Bus – Gstreamer – multimediální framework – XCB by mělo nahradit Xlib – Drag-and-drop – DaD není v X stále jednotné :-( ● shrnutí důležitých komponent, standardizace ● vývojářské prostředí (Git, Bugzilla, WWW,...)