Operációs rendszerek
Üzenetkezelés Az objektumok információcseréje üzenetek segítségével történik Üzenet: eljárás vagy függvényhívás A felhasználó és az operációs rendszer párbeszéde a GUI ablakain keresztül zajlik A felhasználói üzenetek kódolása Parancsok (a szöveges felületen) Billentyűzet- vagy egérműveletek (a GUI-n) A felhasználói üzeneteket a rendszer fogadja és osztja szét a folyamatszálak között Az üzenetre adott válasz az eljárás vagy függvény végrehajtása, eredménye általában a párbeszéd-ablakokban jelenik meg Operációs rendszerek #
Az üzenetvezérelt rendszer működése Operációs rendszerek
Az üzenetvezérelt rendszer működése Amelyik folyamatszál kezeli az üzenet ablakát, az kapja meg a rendszertől az üzenetet A szál üzenetkezelője folyamatosan, ciklusban figyeli a saját üzenetsorát Ha az üzenetsor nem üres, az üzenetkezelő kivesz egy üzenetet és az ablakkezelőnek továbbítja Ha az üzenetsor üres A háttérben a folyamatszál olyan feladatokat hajthat végre, amelyeknek nincs szükségük üzenetetre Ha nincs feldolgozható feladat, a folyamatszál vár a következő üzenetre A rendszer a folyamatszálat „elaltathatja”: az operációs rendszer ütemezője, amelyik a folyamatszálakhoz rendeli a CPU-t, nem foglalkozik vele Az alvó szálakat a számára küldött üzenet ébreszti fel Ha a szál az aktív ablakot kezeli, nem alhat el Operációs rendszerek
Az üzenetvezérelt rendszer működése Aszinkron üzenet A küldő szál a feladás után magára hagyja Szinkron üzenet A küldő folyamatszál felfüggeszti a futását, míg a választ meg nem kapja Az üzenetsorokba küldött szinkron üzenetek holtpontba vihetik a rendszert (dead lock) Szinkron üzenet B-nek, majd várakozás Szinkron üzenet A-nak, majd várakozás „A” szál „B” szál Az „A” szál üzenetsora A „B” szál üzenetsora Operációs rendszerek
A billentyűzet Az USB-hez vagy a PS/2-höz kapcsolhatjuk Egy billentyű leütésekor, felengedésekor, illetve nyomva tartásakor legalább egy egybájtos kódot (scan) küld a rendszernek A scan kód a billentyű helyét azonosítja a billentyűzeten A scan kódból az illesztőprogram egy virtuális kódot készít és ezt a billentyűpufferbe küldi A virtuális kód szabványos karakterkód, vagy egy üzenet kódja, független a billentyű helyétől A virtuális kódot annak az ablaknak az üzenet-kezelője kapja meg, amelyik a billentyűfókuszt tartalmazta Operációs rendszerek
A billentyűzet – a billentyűfókusz A billentyűfókuszt általában az aktív ablak, vagy annak egy gyermekablaka kapja meg Áthelyezhetjük Egérrel: az ablak kiválasztásával A <Tab>, <Shift+Tab> billentyűvel Az aktív ablak cseréjével <Alt+Tab>, <Alt+Esc> Billentyűfókusz A vezérlőelemek is ablakok! Operációs rendszerek
Az egér Az USB-hez, a PS/2-höz vagy a soros porthoz szokták illeszteni Az egérkurzor minden alakjához tartozik egy forrópont (hot spot) A forrópont koordinátáit 1/1440” pontossággal adják meg, ez képernyőfelbontástól független egység: 1 twip=1/20 point = 1/72/20 inch Az egér üzeneteit az az ablak (folyamatszál) fogadja, amelybe a forrópont esik Operációs rendszerek
Egérműveletek Rámutatás egy objektumra Klick Kettős kattintás Elemleírás Klick Két üzenet: a gomb lenyomásakor, illetve felengedésekor A kiválasztás művelete, ritkábban megnyitás A másodlagos gomb klikkje helyi menüt ad Kettős kattintás Az elsődleges gomb művelete A leggyakoribb válasz az objektum megnyitása Vonszolás (drag-and-drop) Közös gyökerű forrás és cél esetén áthelyezés, egyébként másolás Az alapértelmezett művelet a Ctrl és a Shift billentyűkkel felülbírálható Operációs rendszerek
A grafikus megjelenítő kezelése Grafikus terminál Csak a megjelenítést végzi Nem futtathatók rajta alkalmazások Minden műveletet egy távoli, hostnak nevezett gép hajt végre A terminált hálózat köti a hosthoz UNIX/LINUXos környezetben gyakori (XWindows) Grafikus munkaállomás Saját, önálló operációs rendszerrel rendelkezik A Wndows-os környezetre jellemző Operációs rendszerek