Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

UNIX 3. Unixová uživatelská rozhraní

Podobné prezentace


Prezentace na téma: "UNIX 3. Unixová uživatelská rozhraní"— Transkript prezentace:

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í


Stáhnout ppt "UNIX 3. Unixová uživatelská rozhraní"

Podobné prezentace


Reklamy Google