Operációs rendszerek X Windows rendszer Az X Window rendszer Grafikus felhasználói felületet biztosító alkalmazás és a kapcsolódó protokoll 1983-84: a Massachusetts Institute of Technology-n (MIT, USA). Azonos kezel!i felületet biztosít a hálózaton összekötött különböz! operációs rendszereket futtató gépeken. M"ködés: az alkalmazás és a kezel!i felület szétválasztása. a kezel!i felületet a helyi gépen futó X szerver jeleníti meg, míg az alkalmazás akár egy távoli gépen is futhat. 2
X11 felület 3 Célok és képességek Architektúra független (távoli) grafikus felhasználói felületek GUI alkalmazások futtatása távoli id!osztásos rendszereken input eszközök támogatása (pointing dev.) ablakkezel! hálózati átlátszóság nincs audio támogatás Forráskódja publikus. A legtöbb op. rendszeren elérhet! Els!sorban a UNIX rendszerek támogatják. 4
Több réteg" alkalmazások Alkalmazás funkció Adat Management Távoli adatkezelés Alkalmazás funkció Alkalmazás funkció Adat Management Elosztott funkcionalitás H á l ó z a t Alkalmazás funkció Adat Management Távoli megjelenítés Kliens vezérlés Alkalmazás funkció Adat Management Szerver Elosztott megjelenítés vezérlés Alkalmazás funkció Adat Management Terminál Emuláció 5 X kliens-szerver model X egy megjelenít! szerver, nem alkalmazás szerver Alkalmazás szerverek alkalmazások szolgáltatása a felhasználóknak szerver: alkalmazás oldal, kliens: felhasználó oldalán Megjelenít! szerverek képerny!s megjelenítés szolgáltatása alkalmazásoknak kliens: az alkalmazás oldal, szerver: a megjelenítés helyén 6
Az X Window rendszer 7 Az X Window rendszer m"ködése Kliens-szerver modell használata. A szerver kezeli az ún. grafikus munkahelyet, amelynek a részei: képerny!, illetve képerny!k, billenty"zet, alfanumerikus bemeneti eszköz, egy grafikus bemeneti eszköz. A kliens egy grafikus be/kimenetet igényl! (általában interaktív) folyamat. 8
Az X Windows felhasználása Távoli gép adminisztrálása grafikus felületen Csatlakozás több grafikus terminálról egy alkalmazáshoz kollaboratív munkához Számítás intenzív alkalmazás számítási tevékenységeit nagy teljesítmény" távoli gépen végezni, a megjelenítés helyben Több távoli gépen egyszerre futtatni grafikus alkalmazásokat, egy megjelenít!t használva 9 Az X protokoll A protokoll kétirányú aszinkron kommunikációt tesz lehet!vé. Az üzenetek típusa: Kérés (kliens küldi a szervernek). Válasz (szerver küldi a kliensnek). Esemény (szerver küldi a kliensnek). Hiba (szerver küldi a kliensnek). 10
A hálózati kommunikáció mérséklése Kliens: az üzenetek összegy"jtött csomagját küldi át. Szerver: helyben kezel egyszer" eseményeket: pl. egérmozgatás, szoftver er!forrásokat hoz létre: pl. palettát, grafikus környezetet, bet"típushoz tartozó leírást, ezen er!források kezelése: létrehozás a kliens kérésére, majd a kliens folyamat ezeket egyszer" hivatkozással érheti el. 11 Az X Window rendszer koncepciója Az X munkahely: egy X display-b!l (X megjelenít!), egy vagy több X screen-b!l (X képerny!), és bemeneti eszközökb!l: egy karakteres bemeneti eszköz (általában billenty"zet), egy pozicionálásra alkalmas grafikus bemeneti eszköz: pl. egér, tablet, érint!-képerny!. 12
Az X Window rendszer koncepciója (folyt.) X kliensek grafikus alkalmazások pl.: xclock, xeyes Window managerek pl.: mwm, twm, fvwm, wmaker, sawfish, metacity Desktop környezetek pl.: gnome, kde 13 Az X szerver tevékenysége Inputok begy"jtése, megfelel! kliens alkalmazásnak továbbítás Kliens alkalmazások kimenetének megjelenítése nincs ablak koncepció! 14
A kliens funkciói Input fogadása a szervert!l (események) Kimenet küldése a szervernek Általában a kimenet a bemenetekre adott válasz 15 Az ablakkezel! Olyan X kliens, amely más klienseket vezérel Tevékenységei: keretezés pozicionálás méretezés mozgatás input focus kezelése 16
Ablakkezelés A grafikus képerny! kezelése az ablakok létrehozását jelenti. Az ablakok rendszere hierarchikus: gyökér ablak: a kliens ezt nyitja meg a m"ködésének az elején, leszármazott ablak: az!s a gyökér ablak, származási fa struktúra (pl. üzenettovábbítás). 17 Az ablakok mozgatása A leszármazott ablakok területe csak az!sük ablakfelületén látszik. A kilógó vagy átlapolódó ablakoknál automatikus vágás valósul meg. Egy ablakfelület kitakarása esetén a szerver "kitakarás eseményt" küld a kliens folyamatnak. Lehet!ség az ablak automatikus frissítésére, a kliens kérésére. 18
Bemeneti eszközök kezelése Input eszközök állapotváltozásakor a szerver esemény üzenettel értesíti a klienst. A bemeneti információ elosztása az ún. input focus alapján: mindig egy kliens folyamat birtokolja, a szerver által definiáltan adható át más kliensnek, az input focus birtokosa értesítend! a bemeneti eszközök állapotváltozásakor, 19 Bemeneti eszközök kezelése az origó az aktív ablak bal fels! sarka, az x,y koordinátákat ehhez képest adja vissza (relatív megadás), karakteres input esetén a karakterhozzárendelést a szerver végzi, a kliens kérheti a billenty"-kiosztás megváltoztatását. 20
Rajzolás Egyszer", el!re definiált rajzelemek használata (X11 könyvtár). A rajzelemek halmaza b!víthet! a felhasználó által. Rajzolás történhet a: képerny!re illetve, a memóriába: pl. a letakart képerny! tartalom karbantartása, majd a kitakarás esemény utáni frissítés miatt. 21 Színek használata Palettázás: a kliens egy 256 elem" (8 bit-es) palettáról választ színeket, a kért színeket a szerver; 16, 24, vagy akár 32 bit-en jelenítheti meg, az azonos képerny!t használó alkalmazások: ugyanazt a palettát használják, vagy ha kevés a szín egy adott alkalmazásnak, akkor paletta-váltás (új paletta kiosztás) történik. 22
Desktop környezetek Kliensek közötti kommunikáció Konzisztens környezet a kliensek/ alkalmazások használatához drag and drop clipboard menürendszer ikonos interfész a fájlrendszerhez 23 Widget library-k Grafikus felhasználói felület elemek, vezérl!k, ikonok WIMP interfész metafora toolkitek - API egységes megjelenés és m"ködés look and feel window managerek épít! elemei 24
X terminálok Dedikált, X szervert futtató vékony kliens nagy gépes környezetben X Display Manager Control Protocol X kliensek felderítése a hálózaton egy kliensnek futtatni kell X display managert Korlátozott I/O optikai meghajtók, USB tárolók nem elérhet!k nyomtatás megoldható más protokollok segítségével 25