Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
UNIX 3. Unixová uživatelská rozhraní
© Milan Keršláger
2
Rozhraní prvních počítačů
první počítače bez rozhraní program na propojovací desce vstupy a výstupy dat děrné štítky, děrná páska, později magnetická páska novější něco jako obyčejná kalkulačka obsluhováno jednoduchým programem (monitor) numerická klávesnice a displej s čísly vložím adresu, zobrazí se její obsah, lze ho změnit po vložení strojového kódu skok na adresu (začátek)
3
Znakový terminál první rozhraní současného stylu
připojeno sériovým kabelem (half-duplex) umí tisknout znaky přijaté od počítače vlastně znaky vyslané programem na výstup CRT obrazovka, 24x40, 12x80 znaků apod. obsah obrazovky si terminál musí pamatovat umí odeslat znaky počítači nejprve jen velká písmena z ASCII (ADM-3A) malá klávesnice (písmena, čísla, ESC, CTRL)
4
Řádkový terminál (viz obr)
tzv. dumb terminal (glass tty) začínáme v levém horním rohu obrazovky z počítače přijde znak → vytiskneme ho přijde-li znak konce řádku → další znak na nový dojdeme-li na spodní řádek a má být nový řádek, odrolujeme všechny řádky nahoru (horní zmizí) na uvolněném řádku dál tiskneme znaky kurzor nelze nastavit na zvolenou pozici text neustále roluje nahoru, kde zmizí primitivní zpracování textu (editor ed, ex)
5
Samostatné terminály
6
Řádkový terminál s příkazovým řádkem
7
Příkazový řádek stačí mu řádkový terminál
první terminály neuměly smazat znak či obrazovku: Ahoj K^HLído, posílám pusu^Wprachy CTRL+h (^H) ruší předchozí znak CTRL+w (^W) ruší celé dosud napsané slovo vytváří komunikační rozhraní obslužný program → shell zadáme příkaz, odešleme, spustí se program funguje stejně, jako cmd.exe ve Windows totéž poskytoval i DOS (command.com)
8
Celoobrazovkový terminál
umožňuje nastavit kurzor na libovolnou pozici kurzor určuje, kde bude vytištěn další znak též smazaní obrazovky, přepis existujícího znaku vznik celoobrazovkových aplikací např. editor „vi“ vznik textového uživatelského rozhraní čárová grafika, tlačítka, menu, myš vše ovšem limitováno šachovnicí (VGA: 24x80) nelze různé velikosti písma, čáry ani obrázky dodnes např. účetnictví → rychlost, přehlednost
9
Celoobrazovková aplikace
10
Terminál a aplikace program neví, jaké schopnosti terminál má
černobílý, inverzní či podtržený text, barevný různé řídící kódy některé terminály se staly standardem (vt100 atp.) databáze vlastností terminálů termcap, terminfo, curses terminál oznámí svůj název (vt100, xterm, linux, ...) aplikace využije databázi pro zjištění detailů k dispozici knihovny, programátor má jednotné API
11
Konzole terminál pevně připojený k počítači
původně sloužil ke správě systému pro běžnou práci terminály (+operátoři) propojení sériovou linkou (i telefonní) konzole fungovala hned po zapnutí systémová a diagnostická hlášení každé IBM PC má jen terminál zjednodušení komunikace, zapojení možnost zrychlení zobrazování
12
telnet připojení ke vzdálenému počítači
umí využít TCP/IP (tj. počítačovou síť) vytvoření textového terminálu podporuje celoobrazovkový režim posílání znaků oběma směry řídící znaky mají přednost např. přerušení programu (CTRL+c) na lokálním terminálu se zobrazuje výstup programu spuštěného na vzdáleném počítači moje klávesnice odesílá znaky na vzdálený počítač v primitivní formě součást MS Windows (od Win95)
13
ssh telnet používá otevřený text
stisknu klávesu, vyšle se datagram s písmenem program pošle znak, odeslán datagram zpět vše lze odposlouchávat → problém přihlašovací jméno, heslo, ale i obsah obrazovky ssh realizuje telnet, ale šifrovaně asymetrická kryptografie (2 klíče: privátní + veřejný) podporuje kompresi, vytváření tunelu 1995 – univerzita Helsinki, Finsko reakce na hromadné odposlouchávání hesel
14
Jak funguje shell vytváří rozhraní: příkazový řádek
v podstatě „obyčejný program“ vstup připojený ke klávesnici výstup připojený na monitor zobrazí výzvu (prompt): ~]$ uživatel napíše příkaz (vstup) vyhodnocení → zpracování příkazového řádku shell spustí program a čeká na jeho ukončení fork(), exec(„program“), wait() zobrazení výzvy
15
Zpracování příkazového řádku
pořadí zpracování (pro BASH) parsování příkazového řádku uložení úvodních přiřazení do proměnných uložení přesměrování expanze žolíkových znaků rozlišení: příkaz argument1 argument2 argumen3... vyhodnocení přesměrování vyhodnocení, dosazení a naplnění proměnných spuštění programu + čekání na jeho ukončení přečtení návratového kódu programu
16
Grafické rozhraní GUI (Graphical User Interface)
1973 WIMP – první GUI, PARC (Xerox lab.) Window, Icon, Menu, Pointing device 1984 Macintosh – Apple 1984 X Window System (MIT) snaha o sjednocení GUI → přenositelné aplikace HW se ovládá přes API, GUI má ovladač k HW přesto v éře DOSu (1980) grafickou kartu ovládá sám program nepřenositelné aplikace, neustálé reimplementace
17
X Window System 1983 – MIT (současné označení X11, X11R6)
navazuje na W, navíc asynchronní komunikace model klient (aplikace) – server (ovládá HW) rozšiřitelný komunikační protokol (zpětná kompatibilita) aplikace instruuje server, co má vykreslit kompletně řešeno v uživatelském prostoru výborná přenositelnost, univerzálnost problematická rychlost (ovládání HW není v jádře) modulární systém X Server, správce oken, panel → zaměnitelné
18
X Window System + GNOME
19
Schéma komunikace Aplikace Window manager X server Grafická karta
X protokol Window manager X server Grafická karta
20
Terminál v GUI emulace terminálu
speciální aplikace → v okně textový terminál typicky volitelný font, velikost, sloupce i řádky volba emulace konkrétního terminálu xterm → vzorová implementace pro X Window System stal se standardem MS Windows PuTTY (zdarma, nemusí se instalovat) Linux gnome-terminal (GNOME), konsole (KDE), ...
21
Situace na IBM PC 1981 – MS DOS
následník CP/M, inspirace Unixem (shell, adresáře) žádná podpora GUI → přímé ovládání HW de-fakto standard Hercules, VGA 1989 – VESA 1990 – Windows 3.0 GUI nadstavba DOSu má ovladač, poskytuje jednotné API 1992 – XFree86 implementace X Windows System pro UN*X
22
X.org 2004 XFree86 mění licenci
X.org přebírá poslední kódy a iniciativu velký zájem tvůrců distribucí Linuxu tím opuštěno XFree86 modulární stavba X Server, ovladače, knihovny, další programy v současnosti plně implementována 2D akcelerace open source implementace 3D akcelerace Intel, ATI (nVidia se neúčastní, ale projekt Nouveau)
23
API pro 3D OpenGL tradičně unixové systémy
MS Windows má svoji implementaci DirectX obsahuje Direct3D, což je ekvivalent OpenGL abstraktní API pro programátory následuje vývoj hardware, ale není na něm závislé co neumí hardware, řeší se softwarově v MS Windows není zvykem → podpora prodeje HW X Server má tzv. state tracker systém má ponětí o tom, co se v GPU děje
24
Současný vývoj X Window System má starý návrh
několik projektů se neprosadilo (Y, Xgl) zatím se jde cestou rozšiřování X protokolu Wayland nový projekt, plně postaven nad 3D zpětná kompatibilita s X Window System důležité pro hotové aplikace další cíle non-root provoz X Serveru, multiinput/multioutput sjednocení vstupních metod (čínské znaky atp.)
25
Národní prostředí locale (příkaz pro vypsání nastavení národního prostředí) uloženo jako proměnné prostředí (Single UNIX sp.) cs, cs_CZ, cs_CZ.UTF-8 (jazyk, stát, kódování) rómština v ČR a Rumunsku bude odlišná def. třídění podle abecedy, zápisy čísel, datumu, ... i18n (internationalisation) program je schopen pracovat s národními znaky korektní inicializace, lokalizované funkce (knihovny) L10n (localisation) překlad hlášení programu (katalogy .PO)
26
Proměnné lokalizace LANG – obecné nastavení, nejnižší priorita
LC_ALL – všeobecné nastavení, nejvyšší priorita LC_COLLATE – nastavení třídění znaků LC_CTYPE – čísla, znaky, malá/velká apod. LC_MESSAGES – hlášení programu LC_MONETARY – používaná měna LC_NUMERIC – formátování čísel LC_TIME – formátování času a data jsou-li nastaveny na „C“ nebo „POSIX“ implicitní POSIX chování
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.