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 Megjelenítés
Alkalmazás funkció
Megjelenítés
Alkalmazás funkció
Adat Management
á
Megjelenítés a
z
ó
Távoli adatkezelés
Elosztott funkcionalitás
Alkalmazás funkció
Adat Management
Alkalmazás funkció
Adat Management
Megjelenítés vezérlés
Alkalmazás funkció
Adat Management
Elosztott megjelenítés
Megjelenítés vezérlés
Alkalmazás funkció
Adat Management
Terminál Emuláció
H
l
Távoli megjelenítés
t
Kliens
Szerver Megjelenítés
Megjelenítés
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