Folyamatszálak. Folyamatszálak. Folyamat. Folyamatszál. Szálak felépítése. Folyamatszálak általános jellemzői

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Folyamatszálak. Folyamatszálak. Folyamat. Folyamatszál. Szálak felépítése. Folyamatszálak általános jellemzői"

Átírás

1 Folyamatszálak Folyamatszálak A több szál fogalma először az időszeletes rendszereknél (time sharing systems) jelent meg, ahol egyszerre több személy is bejelentkezhetett egy központi számítógépre. Fontos volt a processzor idejének igazságos megosztása (kiosztása) a felhasználók közt. Így jött létre a folyamat és a folyamatszál. Folyamat Egy folyamat (process), munka (job) vagy feladat (task) olyan számítás (műveletek meghatározott sorrendben történő szekvenciális végrehajtása), amelyet konkurensen, párhuzamosan hajthatunk végre más számításokkal. A folyamat a processzor aktivitásának absztrahálása, vagyis egy program futó példánya (egy végrehajtás alatt álló program a végrehajtás megkezdődött, de még nem fejeződött be). A folyamatokat és a párhuzamos végrehajtást leginkább úgy tudjuk szemléltetni, hogy minden egyes folyamathoz tartozik egy logikai processzor és egy logikai memória. A memória tárolja a programkódot, a konstansokat és a változókat, a programot a processzor hajtja végre. A programkódban szereplő utasítások és a végrehajtó processzor utasításkészlete megfelelnek egymásnak. Az operációs rendszer feladata, hogy a fizikai eszközökön (fizikai processzor, fizikai memória) egymástól elkülönítetten, védetten létrehozza és működtesse a folyamatoknak megfelelő logikai processzorokat és memóriákat ezeket megfeleltesse a fizikai processzornak, fizikai memóriának, mintegy kiossza a fizikai processzort a logikai processzoroknak (a folyamatok versengenek a CPU-ért). Folyamatszál A folyamathoz kötődő további általános fogalom a szál (thread) fogalma. A szál egy folyamaton belüli végrehajtási egység, amely egy környezetből és saját utasítássorozatból áll. A folyamatszálakat a folyamaton belül lehet párhuzamosan végrehajtani. A szálakat akkor fejlesztették ki, amikor nyilvánvalóvá vált, hogy nem az időveszteségesen végrehajtható alkalmazásokra van szükség (pl. felhasználóra várni, hogy beavatkozzon), hanem olyan alkalmazásokra, amelyek lehetőleg egyszerre több művelethalmazt is végrehajtanak egyidejűleg, párhuzamosan (pl. háttérben futó helyesírás ellenőrzés, vagy érkező hálózati üzenetek feldolgozása), de ezek a műveletek ne különálló folyamatokba legyenek szervezve, hanem egy folyamaton belül jelenjenek meg. A különálló folyamatok létrehozása és az egymással való kommunikáció megvalósítása nagy többletmunkát jelentett ezen alkalmazások esetén. Szálak felépítése A szálaknak saját logikai processzorúk van (a CPU-ért ugyanúgy versenyeznek, mint a folyamatok), azonban memóriáik nincsenek védetten elkülönítve, közös logikai memóriát használnak, csak a kódon és változókon osztoznak. A folyamat adatzónáját és környezetét minden szál közösen használja. Az egyetlen memória terület, amelyet egy szál elfoglal, az a hozzárendelt verem. Minden folyamatszál saját környezettel rendelkezik. A fentiek miatt az operációs rendszer lényegesen gyorsabban tud végrehajtani egy átkapcsolást a szálak között, mint a folyamatok között. Ez a szálak alkalmazásának gyakorlati jelentősége. Folyamatszálak általános jellemzői A folyamatszálakat párhuzamosan futó végrehajtási egységekből álló programok írására használjuk. A folyamatszálak utasítás sorozatokat hajtanak végre, amelyek egybezártnak tekinthetők. A folyamatszál végrehajtását bármikor meg lehet szakítani, így az átadja a vezérlést egy másik szálnak. A folyamatszálakat való műveleteket rendszerhívások (Windows NT, Sun Solaris operációs rendszerek esetében) vagy a programozási könyvtárak (C, C++) segítik.

2 Folyamatszálak állapotai Borland Delphiben egy szál lehet: Aktív vagy továbbindított (resumed) Felfüggesztett (suspended) Folyamatszálak állapotai C/C++, Java programozási nyelvekben négy lehetséges állapota van egy szálnak: Aktív (fut a szál): a folyamat erőforrásait ellenőrzés alatt tarthatja. Más szál nem lehet aktív ugyanabban az időben, hacsak nincs több rendelkezésünkre álló processzor. Egy szál három okból állhat le: A szál átadja a vezérlést egy másik szálnak. A száltól az ütemező erőszakosan veszi el a vezérlést. Az életciklusa végére ér (meghal). Futtatható: ha futtatásra készen áll. Az ilyen állapotban levő szál nem vár I/O-ra, hanem csak arra, hogy az operációs rendszer futásra ütemezze. Nem futtatható: a szál nem kész a végrehajtásra. Ez akkor következhet be, ha: Blokkolva van: valamilyen erőforrástól információt vár (pl. CPU, I/O, billentyűzet, szinkronizációs objektum). Ha megkapja a várt információt, akkor futtatható állapotba kerül. Alszik: a szálunk leáll a végrehajtással, hogy a többi szálak is esélyt kapjanak a futásra. Ez nagyon fontos segítőkész szálak (cooperative threads) esetében, azért hogy biztosítsák más szálaknak is a futásra való esélyt. Halott: Egy szálat akkor tekintünk halottnak, ha megszűnik létezni a fent említett állapotok egyikében. Egy szál meghalhat, ha eléri kódjának végét, vagy ha megöli egy eljáráshívás az őt tartalmazó folyamatból vagy egy másik szálból a folyamaton belül. Prioritás A prioritás a szál fontosságára vonatkozik a többi futtatható állapotban levő szállal szemben. Amikor több szál is futásra kész állapotban van, akkor a szálütemezőnek döntenie kell, hogy melyik szálat futassa. Az ütemező a legnagyobb prioritású szálat választja. Ha éppen fut egy szál, akkor egy magasabb prioritású szál az aktív szál felfüggesztését vonja maga után, így megengedheti magának, hogy addig fusson amíg át nem akarja engedni a vezérlést egy másik szálnak, vagy egy magasabb prioritású szál meg nem szakítja futását. A szálak nem módosítják a programunk szemantikáját, csak a műveletek időzítését változtatják meg. Így összefüggő problémák megoldására elegáns módszert nyújtanak. Mikor használjunk szálakat? Lassú feldolgozásnál: ha egy alkalmazás hosszasan számol, számít, nem tud üzeneteket fogadni, tehát nem tudja az eredmény kiírását sem frissíteni. Háttérben folyó feldolgozás: egyes feladatok nem időkritikusak, de folyamatosan kell végrehajtódjanak (pl. a nyomtatás végrehajtása egy szövegszerkesztőben tipikusan másik szál feladata, hisz ez időt vesz igénybe, és a felhasználó szeretné munkáját folytatni a nyomtatás elindítása után, nem feltétlenül várja ki annak befejezését.). I/O műveletek: az I/O műveleteknek előreláthatatlan késése lehet (pl. állományok másolása a háttérben). Kiszolgálás: Kliens-szerver architektúrák esetében a szerver minden egyes kliensre létrehoz egy folyamatszálat és párhuzamosan szolgálja ki őket. Szálak használatának előnyei A többprocesszoros rendszerek kihasználása: egy egyszerű egyszálas alkalmazás nem tud kihasználni két vagy több processzort. Több processzoros gépek esetén az operációs rendszer feladata az, hogy a processzorokat rejtetten ossza ki, anélkül, hogy a programozó, felhasználó tudná, hogy most pont melyik processzorban fut a kód. Így a szálak használatában (programozáskor) sem kell különbséget tenni az egy- és a többprocesszoros gépek között. Hatékony időmegosztás: szálakkal és folyamat-prioritásokkal biztosíthatjuk, hogy mindenki igazságos CPU időkiosztásban részesüljön. Hatékony erőforrás-kihasználás: a rendszerben a processzoron kívül lehetnek más erőforrások is, amelyeket hatékonyan meg lehet osztani a folyamatszálak között (pl. egy folyamat nem használja ki az adott erőforrást lehetőleg minden erőforrás minden pillanatban maximálisan ki kell legyen használva). A feladat-végrehajtás gyorsítása: ha egy feladatot párhuzamosan végrehajtható részfeladatokra tudunk bontani, és ezeket párhuzamosan végre tudjuk hajtani (pl. valódi párhuzamossággal), akkor jelentős gyorsítást érhetünk el. Többféle feladat egyidejű végrehajtása: A számítógépet egyidejűleg többféle célra tudjuk felhasználni (pl. számítás közben levélírás, képnézés).

3 Alkalmazás Az alkalmazásban a főszál nem fut állandóan. Lehetnek hosszú időintervallumok, amikor nem kap üzenetet, nem végez számítást. Az alkalmazás által lefoglalt memória és más erőforrások megvannak, az ablak is a képernyőn van, de a kódból nem hajtódik végre egyetlen részlet sem. Az alkalmazást elindítottuk, és a fő szál fut. Amikor az alkalmazás ablaka létrejött nincs semmilyen más dolga, csak üzenetekre vár. Ha nincs új üzenet amit fel kell dolgozni, akkor az operációs rendszer felfüggeszti a szálat. Amikor a felhasználó a menüből kiválasztotta a parancsot, az operációs rendszer újra aktívvá teszi a szálat, megjelenik az adatbeolvasó dialógusdoboz. A főszál most újra aktív. Ez a felfüggesztés-továbbindítás többször is megismétlődik, amíg ki nem lépünk az alkalmazásból. A főszál nem használja ki hatékonyan az erőforrásokat, sok a szünet, az az időintervallum, amikor az alkalmazás nem csinál semmit. Műveletek folyamatszálakkal Folyamatszál elindítása Folyamatszál felfüggesztése Folyamatszál újraindítása Folyamatszálak közötti kommunikáció, szinkronizálás Folyamatszál megsemmisítése Folyamatszálak elindítása Folyamatszálak elindítására a különböző programozási nyelvek függvényeket biztosítanak, az objektumorientált nyelvekben a folyamatszálakat osztályok valósítják meg, az elindítást pedig a konstruktor. Gyakran bizonyos beállításokat szeretnénk eszközölni a szálon, mielőtt elindítanánk. Létrehozáskor megadhatjuk, hogy a szál, létrehozása után aktív legyen vagy felfüggesztett. Ezeket a beállításokat a függvények vagy a konstruktor paramétereivel érhetjük el. Ha felfüggesztett állapotban hozzuk létre a szálat, akkor a főszál adatokat állíthat be, biztosítva, hogy amikor a szálat elindítjuk, fogja látni a módosításokat, az adatok frissítve lesznek. Folyamatszál felfüggesztése Folyamatszálak megszüntetésére a programozási környezet függvényeket biztosít. Felfüggesztés után a folyamatszál nem lesz aktív. Minden általa lefoglalt erőforrás megmarad, de a szál már nem dolgozik.

4 Folyamatszál újraindítása Folyamatszálak újraindítására a programozási környezet függvényeket biztosít. Egy felfüggesztett szálat újra lehet indítani (aktívvá tenni). Ekkor újrakezdi működését, dolgozni kezd. Folyamatszálak közötti kommunikáció, szinkronizálás A folyamatszálak egymáshoz való viszonyukat, a köztük lévő kommunikációt tekintve lehetnek: függetlenek versengők együttműködők. A független folyamatszálak egymás működését nem folyásolják be. Végrehajtásuk teljes mértékben aszinkron, nem függnek egymástól, egymással párhuzamosan is végrehajtódhatnak. A versengő folyamatszálak nem ismerik egymást, de közös erőforrásokon kell osztozniuk. A korrekt és biztonságos erőforrás-kezelés szinkronizálást igényel (pl. ha egy szál nyomtatni akar, és a nyomtató foglalt, egy másik szál nyomtat, akkor a második meg kell hogy várja, amíg az első szál, amely lefoglalta a nyomtatót, befejezi a nyomtatást). Az együttműködő folyamatszálak ismerik egymást, együtt dolgoznak egy feladat megoldásán, információt cserélnek kommunikálnak egymással. A kooperatív viselkedést a programozó határozta meg, a feladatot tervszerűen bontottuk egymással kommunikáló folyamatszálakra. Az együttműködést, a kommunikációt adat- vagy információcsere útján tudják megvalósítani a szálak. A cserélt információ esetenként egyetlen bitnyi is lehet (flag), máskor akár több megabájt is lehet. A szálak közötti információcserének két alapvető módja alakult ki: közös memórián keresztül, illetve üzenetküldéssel / fogadással. Közös memória Közös memórián keresztül történő adatcsere esetén az együttműködő szálak mindegyike a saját címtartományában lát egy közös memóriát (globális rész az alkalmazás címtartományában). Ezt a közös memóriát egyidejűleg több szál is írhatja, illetve olvashatja, a PRAM (Pipelined Random Access Memory) modell szerint. Közös memória Az olvas és ír műveletek egyidejű végrehajtására a következő szabályok vonatkoznak: olvasás-olvasás ütközésekor mindkét olvasás ugyanazt az eredményt adja, és ez megegyezik a memória tartalmával; olvasás-írás ütközésekor a memória tartalma felülíródik a beírt adattal, az olvasás eredménye a memória régi, vagy az új tartalma lesz, annak függvényeben, hogy melyik történt hamarabb, az írás vagy az olvasás; írás-írás ütközésekor valamelyik művelet hatása érvényesül, az utoljára beírt érték felülírja a memória tartalmát.

5 Közös memória Az egyidejű műveletek nem interferálhatnak, nem lehet közöttük zavaró kölcsönhatás, harmadik érték sem olvasáskor, sem íráskor nem alakulhat ki. Az írás és olvasás műveletek a PRAM modell szintjén atomiak, tovább nem oszthatók. A pipelined elnevezés azt tükrözi, hogy a memóriához egy sorosítást végző csővezetéken jutnak el a parancsok. Kommunikáció üzenetekkel A szálak nem használnak közös memóriát. Rendelkezésünkre áll két művelet: a Küld (Send)és a Fogad (Receive). A Küld(<adat>, <szál>) művelet végrehajtásakor a műveletet végrehajtó szál elküldi a megadott adatot a megadott folyamatszálnak, a Fogad(<adat>, <szál>) művelet pedig a megadott száltól érkező adatot tárolja. Folyamatszálak szinkronizálása Miért kell szinkronizálni? Kérdésünkre egyszerű választ ad a következő példa: Két személy, X és Y ugyanarra a bankszámlára kiállított bankkártyával rendelkeznek (kx, ky). Mindketten egyszerre lépnek oda egy-egy bankautomatához (t0 időpont) és fel szeretnének venni egyenként 100 -t. A bankszámlán 200 van. Folyamatszálak szinkronizálása Ez egy lehetséges forgatókönyv, a kommunikáció sebessége a bank és a bankautomata közötti összeköttetés sebességétől függ, a műveletek sorrendje meghatározott, de a két szálon egymáshoz viszonyítva semmi sem biztosítja az egymásutániságot vagy precedenciát, a két szál között semmiféle kommunikáció nincs. Az ilyen problémákat race condition-nak, versengési feltételnek nevezzük: két vagy több szál egyszerre ugyanazért az erőforrásért verseng. Atomiság A szálak együttműködésének megértéséhez szükséges megértenünk az atomiság (elemiség) problémáját. Egy művelet vagy művelet sorozat atomi (elemi), ha tovább nem bontható más tevékenységekre. Ha egy szál elemi utasítást hajt végre, akkor az azt jelenti, hogy a többi szál nem kezdte el annak végrehajtását vagy már befejezte azt. Nem állhat fenn olyan eset, hogy egy szál egy másikat egy adott utasítás végrehajtásán érjen. Ha semmilyen szinkronizációt nem alkalmazunk a szálak közt, akkor szinte egy műveletet sem mondhatunk atominak.

6 Egyszerű példa az A globális változó értékét növeljük meg két különböző szálban (inc(a), inc(a) utasítást kell kiadni minden egyes szálban, az elvárt eredmény az, hogy az A értéke 2-vel nőjön). Ez az egyszerű utasítás assembly szinten három különböző utasításra bomlik le: Olvasd A-t a memóriából egy processzor-regiszterbe. Adj hozzá 1-et a processzor-regiszter értékéhez. Írd a regiszter értékét vissza a memóriába. Egyszerű példa Ha csak egyetlen processzorunk van, akkor egyszerre csak egy szál dolgozik, de az operációs rendszer ütemezője másodpercenként kb. 18-szor vált köztük. Az ütemező bármelyik pillanatban leállíthatja egyik szál futását és másikat indíthat el (az ütemezés preemptív). Az operációs rendszer nem vár a szál engedélyére, hogy mikor függesztheti fel azt és indíthat el helyette egy másikat. Így a váltás bármely két processzor-utasítás között megtörténhet. Képzeljük el, hogy két szál ugyanazt a kódrészletet (az A változó értékének növelését) hajtja végre egy egy processzoros gépen (a szálak legyenek X és Y). Szerencsés esetben program jól működik, az ütemezési műveletek elkerülhetik a kritikus szakaszt és a várt eredményt kapjuk: A értékét megnöveltük 2-vel (legyen A eredeti értéke 1). Az X szál által végrehajtott utasítások Olvasd A értékét a memóriából egy processzor-regiszterbe (1) Adj hozzá 1-et a regiszter értékéhez Írd a regiszter értékét vissza a memóriába (2) Az Y szál által végrehajtott utasítások Olvasd A értékét a memóriából egy processzor-regiszterbe Adj hozzá 1-et a regiszter értékéhez Írd a regiszter értékét vissza a memóriába (3) X Szál által végrehajtott utasítások Olvasd A értékét a memóriából egy processzor-regiszterbe (1) Adj hozzá 1-et a regiszter értékéhez (2) Írd a regiszter értékét vissza a memóriába (2) Y Szál által végrehajtott utasítások Olvasd A értékét a memóriából egy processzor-regiszterbe (1) Adj hozzá 1-et a regiszter értékéhez (2) Írd a regiszter értékét vissza a memóriába (2) Egyszerű példa Láthatjuk, tehát, hogy szinkronizálás vagy konkurencia szabályozás (concurrency control) nélkül súlyos problémák léphetnek fel elsősorban a következő műveletek esetében: megosztott erőforráshoz való hozzáféréskor nem VCL szálból a VCL nem szálbiztonságos részeinek elérése (szinkronizálás a grafikus felülettel, ablakkal) különálló szálból grafikus művelet végrehajtásánál VCL A VCL sem rendelkezik védelemmel a szinkronizációskonfliktusok ellen. Ez azt jelenti, hogy a szálváltás akkor is megtörténhet, amikor egy vagy több szál VCL kódot hajt végre. Egy szálváltás a nem megfelelő pillanatban megsértheti nem csak az adatot, hanem a kapcsolatokat is a komponensek között. Például a VCL-szál egy dialógusablakot nyit meg vagy egy lemezre írást kezd el, és felfüggesztődik, közben egy másik szál megváltoztat valamilyen megosztott adatot. A fő VCL-szál továbbindításkor észreveszi, hogy az adat megváltozott a dialógusablak felbukkanásának vagy a lemezre írás eredményeként. Rosszul értelmezi a helyzetet, rossz pontról folytatja a műveleteket.

7 Szinkronizálás A közös erőforrások használata, valamint a szálak közötti közös memória használatának biztonsága és helyessége érdekében a folyamatok aszinkron, teljesen szabad futását korlátozni kell. Ezeket a korlátozásokat nevezzük szinkronizációnak (szinkronizálásnak). Szinkronizálás Szinkronizálást megvalósíthatunk a következő szinkronizációs primitívekkel: Csatorna Mutex Feltételes változó Kritikus szakasz (kritikus zóna) Szemafor Monitor Csatorna A folyamatok közötti kommunikáció úgynevezett randevúk segítségével is megvalósítható. A randevúk lényege, hogy az a folyamat, amely elsőnek érkezik, mindaddig fel lesz függesztve (vár), míg a társa oda nem ér. Amikor a randevú teljes, akkor végrehajtódik mind a két folyamat. A folyamatok közötti kommunikáció csatornák segítségével valósulhat meg. A csatornákat Hoare vezette be 1985-ben. A lényegük az, hogy üzenetet küldhetünk, vagy üzenet fogadhatunk egy csatornán: ch!e az e értéket elküldjük a ch csatornán ch?v a v értéket vesszük a ch csatornáról Mutex A mutex (mutual exclusion) változó tulajdonképpen egy bináris szemafor, két lehetséges állapota van: lezárt (0) egy szál tulajdona Soha sem lehet egyszerre több szálnak a tulajdona. Ha egy szál egy lezárt mutexet szeretne megkapni, akkor várnia kell, amíg azt a foglaló szál felszabadítja. nyitott (1) egyetlen szálnak sem a tulajdona Egy mutex változón a következő műveleteket végezhetjük: Inicializálás (statikus vagy dinamikus) lezárás (hozzáférés igénylése a védett erőforráshoz = mutex igénylése) nyitás (felszabadítja az erőforrást) megsemmisítése a mutex változónak Feltételes változó A feltételes változók szinkronizációs és kommunikációs objektumok egy feltétel teljesülésére várakozó szál és egy feltételt teljesítő szál között. A feltételes változóhoz hozzá van rendelve egy: predikátum a feltétele aminek teljesülnie kell mutex változó a mutex változó biztosítja, hogy a feltétel ellenőrzése és a várakozás, vagy a feltétel ellenőrzése és teljesülésének jelzése atomi műveletként legyen végrehajtva. Egy feltételes változón a következő műveleteket végezhetjük: Inicializálás (statikus vagy dinamikus) Várakozás (WAIT) a szál várakozik amíg kívülről jelzik a feltétel teljesülését Jelzés (NOTYFY) az aktuális szál jelez az összes szálnak, amelyek várják a feltétel beteljesedését Megsemmisítés Kritikus szakasz Ha egy szál belép egy kritikus szakaszban, akkor lefoglal egy erőforrást és más szál nem férhet hozzá az adott erőforráshoz, ameddig a szál ki nem lép a kritikus szakaszból. Egy jól definiált kritikus szakasz a következő tulajdonságokkal rendelkezik: Egy adott időpontban egyetlen szál található a kritikus szakaszban, bármely más szál, amely hozzá akar férni a kritikus erőforráshoz, várakozik, míg az eredeti szál ki nem lép a kritikus szakaszból. A szálak relatív sebességei nem ismertek. Bármely szál leállítása csak a kritikus szakaszon kívül történhet. Egyetlen szál sem fog végtelen időt várni a kritikus szakaszban. A kritikus szakasz legegyszerűbb megvalósítása egy bináris szemafor segítségével történik.

8 Szemafor A folyamatok szinkronizálására speciális nyelvi elemeket kell bevezetni. A legelőször bevezetett nyelvi elem a szemafor volt, amelyet Dijkstra mutatott be 1968-ban a kölcsönös kizárás problémájának megoldására. Ez az eszköz a nevét a vasúti jelzőberendezésről kapta, logikai hasonlósága miatt. A szemafor általánosan egy pozitív egész értékeket vehet fel. Speciális a bináris szemafor, amelynek értéke csak 0 és 1 lehet. A lehetséges műveletek neve wait és signal. A műveletek hatása a következő: wait(s): ha s > 0, akkor s := s 1, különben blokkolja ezt a folyamatot s-en; signal(s): ha van blokkolt folyamat s-en, akkor indít közülük egyet, különben s := s + 1. Lényeges, hogy ezek a műveletek oszthatatlanok, azaz végrehajtásuk közben nem történhet folyamatváltás. Ugyancsak lényeges a szemafor inicializálása is, mert itt határozzuk meg, hogy egyszerre hányan férhetnek hozzá az erőforráshoz. Monitor A monitorokat Hoare vezette be 1974-ben. A monitor objektum egy több szál által használt eljárás nem párhuzamos végrehajtását teszi lehetővé. A monitor tulajdonképpen ötvözi az objektum orientált programozást a szinkronizációs metódusokkal. Egy monitor objektum részei: osztott adat ezeket az adatokat feldolgozó eljárások monitort inicializáló metódusok Mindegyik eljárás halmazt egy monitor kontrolál. A többszálas alkalmazás futásakor a monitor egyetlen szálnak engedélyezi egy adott időpontban az eljárás végrehajtását. Ha egy szál éppen egy monitor által kontrolált eljárást akar futtatni, akkor az lefoglalja a monitort. Ha a monitor már foglalt, akkor várakozik, amíg a monitort lefoglaló szál befejezi a adott eljárás végrehajtását és felszabadítja a monitort. Folyamatszál megsemmisítése A szálak, mint bármely más objektum, memória és erőforrás lefoglalást igényelnek. Így a befejezés után a szálakat meg kell semmisíteni, fel kell őket szabadítani. Erre két lehetőségünk van: Hagyjuk magát a szálat, hogy felszabadítsa önmagát. Ez akkor hasznos, ha: a szál az eredményeket még a befejeződése előtt visszaadja a főszálnak a szál befejeződéskor nem tartalmaz semmilyen hasznos információt, amelyre a főszálnak szüksége lenne. A szál befejeződése után a főszál kiolvassa a szükséges információkat és ő maga szabadítja fel a szálat. Folyamatszál megsemmisítése Ha hagyjuk, hogy a szál önmagát szabadítsa fel, kellemetlen következményekre is számíthatunk. Az egyik az, ha megpróbálunk az alkalmazásból kilépni, miközben a szál még aktív és dolgozik. Ekkor az alkalmazást befejezzük anélkül, hogy figyelemmel lennénk a szál állapotára. A másik: az alkalmazásból akkor akarunk kilépni, amikor a szálunk fel van függesztve. Ekkor az operációs rendszer erőszakosan fejezi be a szál futását. Nem helyes programozási stílus, ha erőszakosan semmisítjük meg a szálat, nem vagyunk tekintettel arra, hogy az épp mit csinált (pl. lehet, hogy éppen egy állományba ír. Ha a felhasználó ilyenkor kilép az alkalmazásból, akkor a fájl sérült lesz). Helyesebb, elegánsabb, ha mindig a főszál szabadítja fel az általa létrehozott szálakat. Étkező filozófusok

9 A párhuzamos paradigma talán legnépszerűbb feladata az étkező filozófusok (dining philosophers), amelyet Edsger Wybe Dijkstra ( ) javasolt 1971-ben a holtpont helyzetek és a párhuzamos szinkronizálás szemléltetésére. Egy tibeti kolostorban öt filozófus él. Minden idejüket egy asztal körül töltik. Mindegyikük előtt egy tányér, amelyből soha nem fogy ki a rizs. A tányér mellett jobb és bal oldalon is egyegy étkezőpálcika található. A filozófusok gondolkodnak, majd amikor megéheznek felveszik a tányérjuk mellett lévő két pálcikát, esznek, majd visszateszik a pálcikákat és ismét gondolkodni kezdenek. Evés közben mivel mindkét pálcika foglalt a filozófus szomszédai nem ehetnek. Amikor egy filozófus befejezte az étkezést, leteszi a pálcikákat, így ezek elérhetővé válnak a szomszédai számára. Holtpont A nagy kérdés pedig az, hogy mit kell csináljanak a filozófusok, hogy ne vesszenek össze a pálcikákon. Ha mindegyikük felveszi például a jobb pálcikát és nem teszi le, mindegyik várakozni fog a szomszédjára és éhen halnak. A holtpont (deadlock) akkor következhet be, amikor két (vagy több) folyamat egyidejűleg verseng erőforrásokért, és egymást kölcsönösen blokkolják. A két vagy több folyamat közül egyik sem tud továbblépni, mert mindkettőnek éppen arra az erőforrásra lenne szüksége, amit a másik lefoglalt. Köszönöm a figyelmet!

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna Processzusok 1 Uniprogramozás Program A futás várakozás futás várakozás Idő A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna 2 Multiprogramozás Program A futás vár futás

Részletesebben

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 C# Szálkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 Tartalomjegyzék 1 Bevezetés 2 Szálkezelés 3 Konkurens Programozás Tóth Zsolt (Miskolci Egyetem)

Részletesebben

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)

Részletesebben

Operációs rendszerek Folyamatok 1.1

Operációs rendszerek Folyamatok 1.1 Operációs rendszerek p. Operációs rendszerek Folyamatok 1.1 Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK A rendszermag Rendszermag

Részletesebben

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés. 2.1. Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés. 2.1. Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése Operációs rendszerek 2. Folyamatok Simon Gyula 2. Folyamatok Bevezetés Folyamatkezelés multiprogramozott rendszerben Környezet váltás Folyamatleírók, I/O leírók Szálak Megszakítások Felhasznált irodalom:

Részletesebben

Operációs rendszerek MINB240

Operációs rendszerek MINB240 Processzusok, szálak Operációs rendszerek MINB240 2. előadás Szálak, IPC Egy processzus Saját címtartomány Egyetlen vezérlési szál Hasznos lehet több kvázi párhuzamos vezérlési szál használata egy címtartományban

Részletesebben

Tartalomjegyzék. Előszó... 10

Tartalomjegyzék. Előszó... 10 Előszó... 10 1. Bevezetés a Symbian operációs rendszerbe... 11 1.1. Az operációs rendszer múltja...11 1.2. Az okos telefonok képességei...12 1.3. A Symbian felépítése...15 1.4. A könyv tartalma...17 2.

Részletesebben

Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus.

Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus. Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus. Input/Output I/O Hardware I/O eszközök (kommunikációs portok szerint

Részletesebben

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés . Számítógépek működési elve Bevezetés az informatikába. előadás Dudásné Nagy Marianna Az általánosan használt számítógépek a belső programvezérlés elvén működnek Külső programvezérlés... Vezérlés elve

Részletesebben

Iman 3.0 szoftverdokumentáció

Iman 3.0 szoftverdokumentáció Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3

Részletesebben

Architektúra, megszakítási rendszerek

Architektúra, megszakítási rendszerek Architektúra, megszakítási ek Mirıl lesz szó? Megszakítás fogalma Megszakítás folyamata Többszintű megszakítási ek Koschek Vilmos Példa: Intel Pentium vkoschek@vonalkodhu Koschek Vilmos Fogalom A számítógép

Részletesebben

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

találhatók. A memória-szervezési modell mondja meg azt, hogy miként Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési

Részletesebben

Virtualizáció. egy hardveren több virtuális rendszer működik egyszerre, virtuális gépekben futó önálló vendég (guest) operációs rendszerek formájában

Virtualizáció. egy hardveren több virtuális rendszer működik egyszerre, virtuális gépekben futó önálló vendég (guest) operációs rendszerek formájában Virtualizáció Virtualizáció fogalma: Virtualizáció egy hardveren több virtuális rendszer működik egyszerre, virtuális gépekben futó önálló vendég (guest) operációs rendszerek formájában A virtualizáció

Részletesebben

Tartalom. Operációs rendszerek. Precedencia. 3.2 Szinkronizáció. 3.1 Folyamatokból álló rendszerek. Együttműködő folyamatok használatának indokai

Tartalom. Operációs rendszerek. Precedencia. 3.2 Szinkronizáció. 3.1 Folyamatokból álló rendszerek. Együttműködő folyamatok használatának indokai Tartalom Operációs rendszerek 3. Folyamatok kommunikációja Simon Gyula Bevezetés Szinkronizáció A kritikus szakasz megvalósítási módozatai Információcsere ok között Felhasznált irodalom: Kóczy-Kondorosi

Részletesebben

Operációs rendszerek

Operációs rendszerek Operációs rendszerek? Szükségünk van operációs rendszerre? NEM, mert mi az alkalmazással szeretnénk játszani dolgozni, azért használjuk a számítógépet. IGEN, mert nélküle a számitógépünk csak egy halom

Részletesebben

2.1. A szinkronizációs elemek

2.1. A szinkronizációs elemek 2.1. A szinkronizációs elemek A taskok működésük összehangolására, egymás futásának kölcsönös kizárására a monitor által biztosított un. szinkronizációs elemeket használhatják. Két ilyen elem van: a flag

Részletesebben

A dokumentáció felépítése

A dokumentáció felépítése A dokumentáció felépítése Készítette: Keszthelyi Zsolt, 2010. szeptember A szoftver dokumentációját az itt megadott szakaszok szerint kell elkészíteni. A szoftvert az Egységesített Eljárás (Unified Process)

Részletesebben

Feladatok (task) kezelése multiprogramozott operációs rendszerekben

Feladatok (task) kezelése multiprogramozott operációs rendszerekben Operációs rendszerek (vimia219) Feladatok (task) kezelése multiprogramozott operációs rendszerekben dr. Kovácsházy Tamás 3. anyagrész 1. Ütemezéssel kapcsolatos példa 2. Összetett prioritásos és többprocesszoros

Részletesebben

Ütemezés (Scheduling),

Ütemezés (Scheduling), 1 Ütemezés (Scheduling), Alapfogalmak Ütemezési feltételek (kritériumok) Ütemezési algoritmusok Több-processzoros eset Algoritmus kiértékelése 2 Alapfogalmak A multiprogramozás célja: a CPU foglaltság

Részletesebben

A LabVIEW 8.5 támogatja a többmagos processzorok lehetőségeinek kihasználását

A LabVIEW 8.5 támogatja a többmagos processzorok lehetőségeinek kihasználását A LabVIEW 8.5 támogatja a többmagos processzorok lehetőségeinek kihasználását A processzorok sebességének növelése az elmúlt évek során elérte határait. Moore törvénye, amely kimondja, hogy a chip-ekbe

Részletesebben

A Novitax ügyviteli programrendszer első telepítése

A Novitax ügyviteli programrendszer első telepítése Telepítő fájl letöltése honlapunkról A Novitax ügyviteli programrendszer első telepítése A honlapunkon (www.novitax.hu) található telepítő fájlt (novitax2007-setup.exe) le kell tölteni a számítógép egy

Részletesebben

Dr. Sipos Marianna ZMNE BJKMK

Dr. Sipos Marianna ZMNE BJKMK Dr. Sipos Marianna ZMNE BJKMK Tömeges felhasználás Eredeti cél: Desctop alkalmazások mindenkinek Egyedi géphasználat Kényelmes, felhasználóbarát felület Mit áldoztak fel: Hozzáférés szabályozás minimális

Részletesebben

Tartalom. Operációs rendszerek. 5.1. Bevezetés. 5.2. CPU ütemezés. Középtávú ütemezés. Hosszútávú ütemezés

Tartalom. Operációs rendszerek. 5.1. Bevezetés. 5.2. CPU ütemezés. Középtávú ütemezés. Hosszútávú ütemezés Tartalom Operációs rendszerek Bevezetés CPU ütemezés Ütemezési algoritmusok alapjai Ütemezési algoritmusok 5. Ütemezés Simon Gyula Felhasznált irodalom: Kóczy-Kondorosi (szerk.): Operációs rendszerek mérnöki

Részletesebben

A TANTÁRGY ADATLAPJA

A TANTÁRGY ADATLAPJA A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș-Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika Kar 1.3 Intézet Magyar Matematika és Informatika Intézet 1.4

Részletesebben

A számítógépek felépítése. A számítógép felépítése

A számítógépek felépítése. A számítógép felépítése A számítógépek felépítése A számítógépek felépítése A számítógépek felépítése a mai napig is megfelel a Neumann elvnek, vagyis rendelkezik számoló egységgel, tárolóval, perifériákkal. Tápegység 1. Tápegység:

Részletesebben

UNIX / Linux rendszeradminisztráció

UNIX / Linux rendszeradminisztráció UNIX / Linux rendszeradminisztráció VIII. előadás Miskolci Egyetem Informatikai és Villamosmérnöki Tanszékcsoport Általános Informatikai Tanszék Virtualizáció Mi az a virtualizáció? Nagyvonalúan: számítógép

Részletesebben

Informatikai rendszerek alapjai (Informatika I.)

Informatikai rendszerek alapjai (Informatika I.) Informatikai rendszerek alapjai (Informatika I.) NGB_SZ003_1 Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba 4. Előadás Operációs rendszer fogalma, funkciói Operációs rendszerek

Részletesebben

6. Közös változóval rendelkező párhuzamos program, Közös változó,

6. Közös változóval rendelkező párhuzamos program, Közös változó, 6. Közös változóval rendelkező párhuzamos program, Közös változó, Reynold kritérium. Atomi művelet, atomi utasítás. szintaxis, szemantika, tulajdonságok. Szinkronizációs párhuzamos program, szintaxis,

Részletesebben

A virtuális környezetet menedzselő program. Első lépésként egy új virtuális gépet hozzunk létre a Create a New Virtual Machine menüponttal.

A virtuális környezetet menedzselő program. Első lépésként egy új virtuális gépet hozzunk létre a Create a New Virtual Machine menüponttal. 1. Virtuális gép létrehozása (VMWARE Player) A virtuális környezetet menedzselő program. Első lépésként egy új virtuális gépet hozzunk létre a Create a New Virtual Machine menüponttal. Megadjuk, hogy a

Részletesebben

VII. Appletek, grafika

VII. Appletek, grafika VII. Appletek, grafika 1. Bevezetés A tantárgy elején említettük, hogy a Java alkalmazásokat két nagy csoportba sorolhatjuk. Ezek: alkalmazások (applications) alkalmazáskák (applets) Az eddig megírt programjaink

Részletesebben

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott.

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott. Szigorlati témakörök az Informatika (szigorlat) (BMEVIAU0181) c. tantárgyat felváltó Informatika (BMEGERIEEIS) tantárgyból az okleveles energetikai mérnökképzés (2N-0E) hallgatói számára 1. tantárgy: Programozás

Részletesebben

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0 Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0 Az Ön letölthető fájl tartalmazza az Evolut Főkönyv 2013. program telepítőjét. A jelen leírás olyan telepítésre vonatkozik, amikor Ön

Részletesebben

A telepítési útmutató tartalma

A telepítési útmutató tartalma 1 A telepítési útmutató tartalma 3 Kompatibilitás és rendszerkövetelmények A telepítési folyamat röviden 4 A telepítés indítása 5 Adatbáziskezelő beállítása / telepítése 8 Telepítési módozatok 11 Az ENSO

Részletesebben

Vizuális, eseményvezérelt programozás X. V 1.0

Vizuális, eseményvezérelt programozás X. V 1.0 Vizuális, eseményvezérelt programozás X. V 1.0 ÓE-NIK, 2011 1 Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges,

Részletesebben

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

Operációs rendszerek. Folyamatok kezelése a UNIX-ban Operációs rendszerek Folyamatok kezelése a UNIX-ban Folyamatok a UNIX-ban A folyamat: multiprogramozott operációs rendszer alapfogalma - absztrakt fogalom. A gyakorlati kép: egy program végrehajtása és

Részletesebben

Assembly. Iványi Péter

Assembly. Iványi Péter Assembly Iványi Péter További Op. rsz. funkcionalitások PSP címének lekérdezése mov ah, 62h int 21h Eredmény: BX = PSP szegmens címe További Op. rsz. funkcionalitások Paraméterek kimásolása mov di, parameter

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

ECDL számítógépes alapismeretek modul

ECDL számítógépes alapismeretek modul 1. Mire szolgál az asztal? A telepített alkalmazások ikonok általi gyors elérésére. 2. A tűzfal funkciója A tűzfal funkciója, hogy biztosítsa a számítógép hálózati védelmét illetéktelen külső behatolással

Részletesebben

Internet bank felhasználói leírás v1.1

Internet bank felhasználói leírás v1.1 Internet bank felhasználói leírás v1.1 Miután az Internet Bank használatára leadta igénylését, 5 munkanapon belül E- mailben megkapja a Csoport, illetve a Felhasználó nevét, SMS-ben pedig az első belépéshez

Részletesebben

I. Bevezetés. I. Általános telepítési szempontok. Telepítési leírás. Mérlegjegy nyilvántartó. Szerzö és a segítség.

I. Bevezetés. I. Általános telepítési szempontok. Telepítési leírás. Mérlegjegy nyilvántartó. Szerzö és a segítség. Telepítési leírás Tartalom jegyzék Bevezetés Szerzö és a segítség I. Általános telepítési szempontok 1. Minimális feltétel 2. Segédprogramok II. MySQL 4.1 telepítése 1. Telepités Windows Xp rendszerre

Részletesebben

A webhelyhez kötődő szoftverek architektúrája

A webhelyhez kötődő szoftverek architektúrája A webhelyhez kötődő szoftverek architektúrája A webhelyhez kötődő szoftverek architektúrája...1 A kliens-szerver funkcionalitások megoszlása...1 A böngésző mint web kliens...1 Web szerver (kiszolgáló)

Részletesebben

Serialization. RMI működése

Serialization. RMI működése RMI Az RMI (Remote Method Invocation), azaz távoli metódushívás egy olyan eszköz a Java nyelvben, mely lehetővé teszi más VM-ben (Virtual Machine virtuális gép) elhelyezkedő objektumok metódusainak meghívását.

Részletesebben

III. OOP (objektumok, osztályok)

III. OOP (objektumok, osztályok) III. OOP (objektumok, osztályok) 1. Természetes emberi gondolkozás Az Objektumorientált paradigma alapelvei nagyon hasonlítanak az emberi gondolkozásra. Érdemes ezért elsőként az emberi gondolkozás elveit

Részletesebben

KIRA. KIRA rendszer. Telepítési útmutató v1

KIRA. KIRA rendszer. Telepítési útmutató v1 KIRA rendszer Telepítési útmutató v1 1. Bevezetés A dokumentáció, illetve a dokumentáció mellékleteként megtalálható állományok segítségével készíthető fel a kliens oldali számítógép a KIRA rendszer működtetésére.

Részletesebben

PRN-5T KEZELÉSI ÚTMUTATÓ PRN-5T. !!! A berendezés jellemzői: PORTOS motorok vezérlési rendszere. Technikai adatok:

PRN-5T KEZELÉSI ÚTMUTATÓ PRN-5T. !!! A berendezés jellemzői: PORTOS motorok vezérlési rendszere. Technikai adatok: Portos Hungary Kft 2220 Vecsés Dózsa György u. 86. Tel.: +36-29/550-280 Mobil.:+36-20/376-1776 +36-20/457-0266 E-mail: portos@portos.hu www.portos.hu urthermore, R PORTOS motorok vezérlési rendszere KEZELÉSI

Részletesebben

Tudásszintmérő dolgozat 9. osztály MEGOLDÁS, ÉRTÉKELÉS

Tudásszintmérő dolgozat 9. osztály MEGOLDÁS, ÉRTÉKELÉS Tudásszintmérő dolgozat 9. osztály MEGOLDÁS, ÉRTÉKELÉS 1. feladat: a) 101001110 1 pont b) 10011001 1 pont c) 1x2 8 + 0x2 7 + 1x2 6 + 0x2 5 + 0x2 4 + 1x2 3 + 1x2 2 + 1x2 1 + 0x2 0 = = 256 + 0 + 64 + 0 +

Részletesebben

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C programozási nyelv Pointerek, tömbök, pointer aritmetika C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek

Részletesebben

POLAR WEBSYNC POLARGOFIT.COM FELHASZNÁLÓKNAK

POLAR WEBSYNC POLARGOFIT.COM FELHASZNÁLÓKNAK POLAR WEBSYNC POLARGOFIT.COM FELHASZNÁLÓKNAK A Polar WebSync 2.2 (vagy újabb) szoftver és a Polar FlowLink adatátviteli egység lehetővé teszi a Polar Active aktivitásmérők és a polargofit.com webes szolgáltatás

Részletesebben

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv Image Processor BarCode Service Áttekintés CIP-BarCode alkalmazás a Canon Image Processor programcsomag egyik tagja. A program feladata, hogy sokoldalú eszközt biztosítson képállományok dokumentumkezelési

Részletesebben

OO rendszerek jellemzői

OO rendszerek jellemzői OO rendszerek jellemzői Problémák forrása lehet teszteléskor: Problémák feldarabolása. Adatrejtés. Az OO rendszerek nagyszámú, egymással aktívan kapcsolatban levő, együttműködő komponensekből állnak. A

Részletesebben

Végrehajtási szálak - kiegészítések. Szinkronizálás, érvénytelenített metódusok helyettesítése

Végrehajtási szálak - kiegészítések. Szinkronizálás, érvénytelenített metódusok helyettesítése Végrehajtási szálak - kiegészítések Szinkronizálás, érvénytelenített metódusok helyettesítése Szinkronizálás Szinkronizálás szükségessége, példa: egy végrehajtási szál kiolvas egy adatstruktúrából egy

Részletesebben

15.4.2b Laborgyakorlat: Mappa és nyomtató megosztása, a megosztási jogok beállítása

15.4.2b Laborgyakorlat: Mappa és nyomtató megosztása, a megosztási jogok beállítása 15.4.2b Laborgyakorlat: Mappa és nyomtató megosztása, a megosztási jogok beállítása Bevezetés Nyomtasd ki a feladatlapot és oldd meg a feladatokat! Ezen a laborgyakorlaton egy mappát fogunk létrehozni

Részletesebben

5.6.3 Laborgyakorlat: Windows rendszerleíró adatbázis biztonsági mentése és visszaállítása

5.6.3 Laborgyakorlat: Windows rendszerleíró adatbázis biztonsági mentése és visszaállítása 5.6.3 Laborgyakorlat: Windows rendszerleíró adatbázis biztonsági mentése és visszaállítása Bevezetés Nyomtasd ki a laborgyakorlatot és végezd el a lépéseit! Ezen a laborgyakorlaton elvégezzük egy számítógép

Részletesebben

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES Számítógép = Univerzális gép! Csupán egy gép a sok közül, amelyik pontosan azt csinálja, amit mondunk neki. Hardver A számítógép

Részletesebben

Tisztelt Ügyfelünk! Tájékoztató az átállásról

Tisztelt Ügyfelünk! Tájékoztató az átállásról OTP BANK NYRT. Tisztelt Ügyfelünk! Tájékoztató az átállásról Bankunk ügyfeleink folytonos szoftverhasználatát biztosító szempont alapján úgy döntött, hogy az új verziót (6.01-01) most nem a megszokott

Részletesebben

3Sz-s Kft. Tisztelt Felhasználó!

3Sz-s Kft. Tisztelt Felhasználó! 3Sz-s Kft. 1158 Budapest, Jánoshida utca 15. Tel: (06-1) 416-1835 / Fax: (06-1) 419-9914 E-mail: zk@3szs. hu / Web: www. 3szs. hu Tisztelt Felhasználó! Üdvözöljük felhasználóik között! Köszönjük, hogy

Részletesebben

Bankkártya elfogadás a kereskedelmi POS terminálokon

Bankkártya elfogadás a kereskedelmi POS terminálokon Bankkártya elfogadás a kereskedelmi POS terminálokon Költségcsökkentés egy integrált megoldással 2004. február 18. Analóg-Digitál Kft. 1 Banki POS terminál elemei Kliens gép processzor, memória, kijelző,

Részletesebben

1. A Windows Vista munkakörnyezete 1

1. A Windows Vista munkakörnyezete 1 Előszó xi 1. A Windows Vista munkakörnyezete 1 1.1. Bevezetés 2 1.2. A munka megkezdése és befejezése 4 1.2.1. A számítógép elindítása 4 1.2.2. Az üdvözlőképernyő 5 1.2.3. A saját jelszó megváltoztatása

Részletesebben

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január Osztott jáva programok automatikus tesztelése Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január Osztott alkalmazások Automatikus tesztelés Tesztelés heurisztikus zaj keltés Tesztelés genetikus

Részletesebben

I. Bevezetés. Naplófőkönyv program. Tartalom jegyzék. Szerzö és a segítség. Bevezetés. Szerzö és a segítség. I. Általános telepítési szempontok

I. Bevezetés. Naplófőkönyv program. Tartalom jegyzék. Szerzö és a segítség. Bevezetés. Szerzö és a segítség. I. Általános telepítési szempontok 1 / 18 2011.07.13. 22:10 Naplófőkönyv program Tartalom jegyzék Bevezetés Szerzö és a segítség I. Általános telepítési szempontok 1. Minimális feltétel 2. Segédprogramok II. MySQL 4.1 telepítése 1. Telepités

Részletesebben

KELER KID Internetwork System (KIS)

KELER KID Internetwork System (KIS) KELER KID Internetwork System (KIS) Éles és teszt program installációs segédlet Verzió: 2.0 2015. 04. 10. Cardinal Kft. 2015. Tartalomjegyzék 1. Néhány alapvető információ...3 1.1 KID program hardware

Részletesebben

Kommunikáció. 3. előadás

Kommunikáció. 3. előadás Kommunikáció 3. előadás Kommunikáció A és B folyamatnak meg kell egyeznie a bitek jelentésében Szabályok protokollok ISO OSI Többrétegű protokollok előnyei Kapcsolat-orientált / kapcsolat nélküli Protokollrétegek

Részletesebben

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat

Részletesebben

Programozás II. ATM példa Dr. Iványi Péter

Programozás II. ATM példa Dr. Iványi Péter Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert

Részletesebben

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő Több platform egy kódbázis Tanulságok a Tresorittól Budai Péter, vezető fejlesztő Miről lesz szó? A Tresorit szolgáltatás és platformjainak gyors bemutatása A Tresorit szoftver architektúrája Hogyan épül

Részletesebben

Hardver és szoftver követelmények

Hardver és szoftver követelmények Java-s Nyomtatványkitöltő Program Súgó Telepítési útmutató Hardver és szoftver követelmények A java-s nyomtatványkitöltő program az alábbi hardverigényt támasztja a számítógéppel szemben: 400 MHz órajelű

Részletesebben

Bóra Adatcsere. A webes modul működésének részletesebb leírását a csatolt dokumentum tartalmazza.

Bóra Adatcsere. A webes modul működésének részletesebb leírását a csatolt dokumentum tartalmazza. Bóra Adatcsere A Bóra Adatcsere a Bóra bérprogram webes modulja, ami a http://adatcsere.globo.hu címen érhető el. Természetesen a modult szeretnénk az Önök igényei alapján tovább fejleszteni, ezért kíváncsian

Részletesebben

Grafikus csővezeték és az OpenGL függvénykönyvtár

Grafikus csővezeték és az OpenGL függvénykönyvtár Grafikus csővezeték és az OpenGL függvénykönyvtár 1 / 32 A grafikus csővezeték 3D-s színtér objektumainak leírása primitívekkel: pontok, élek, poligonok. Primitívek szögpontjait vertexeknek nevezzük Adott

Részletesebben

Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok

Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok Informix 11.50 upgrade esettanulmány 2011. január. 31. Átalakítandó architektúra (2009) Alapvetően az üzleti logikát tárolt eljárásokkal

Részletesebben

Webcasting Editor Felhasználói kézikönyv és bemutató. A kapott Url -el valamint a kiadott felhasználónév jelszó párossal belépünk:

Webcasting Editor Felhasználói kézikönyv és bemutató. A kapott Url -el valamint a kiadott felhasználónév jelszó párossal belépünk: Webcasting Editor Felhasználói kézikönyv és bemutató A kapott Url -el valamint a kiadott felhasználónév jelszó párossal belépünk: A sikeres belépés után az alábbi oldal jelenik meg: A második lépés a zenei

Részletesebben

Virtuális gépek. Kiss Róbert, informatika IV. év, Babes-Bolyai t.e.

Virtuális gépek. Kiss Róbert, informatika IV. év, Babes-Bolyai t.e. Virtuális gépek Kiss Róbert, informatika IV. év, Babes-Bolyai t.e. 1. Bevezetés. A virtuális gépek fogalma egyáltalán nem új a számítástechnikában. Sokan nem is tudnak róla, hogy éppen virtuális gépet

Részletesebben

WP1 Vezérlő Használati Útmutató

WP1 Vezérlő Használati Útmutató WP1 Vezérlő Használati Útmutató Lásd a kötési diagram. 24Volt 9Volt A vezérlő egy 9V-os Rain Bird szolenoidot működtet. Győződjön meg róla, hogy a szelepeket a vezérlővel összekötő vezeték, kisfeszültségű

Részletesebben

Osztott Objektumarchitektúrák

Osztott Objektumarchitektúrák 1. Kliens szerver architektúra Osztott Objektumarchitektúrák Dr. Tick József Jól bevált architektúra Kliens-szerver szerepek rögzítettek Szerver szolgáltatást nyújt, vagy igénybe vesz Kliens csak igénybe

Részletesebben

JOGSISZOFT TESZTLAPNYOMTATÓ PROGRAM. A program az egyszer elkészített teszt feladatokat eltárolja, így azok később is kinyomtathatóak.

JOGSISZOFT TESZTLAPNYOMTATÓ PROGRAM. A program az egyszer elkészített teszt feladatokat eltárolja, így azok később is kinyomtathatóak. JOGSISZOFT TESZTLAPNYOMTATÓ PROGRAM Használati utasítás A program segítségével korlátlan számú hagyományos B kategóriás tesztlap nyomtatható, valamint 2345 kérdésből tetszőleges összeállítású tematikus

Részletesebben

Segesdi Dániel. OpenNebula. Virtualizációs technológiák és alkalmazásaik BMEVIMIAV89. 2011 ősz

Segesdi Dániel. OpenNebula. Virtualizációs technológiák és alkalmazásaik BMEVIMIAV89. 2011 ősz Segesdi Dániel OpenNebula Virtualizációs technológiák és alkalmazásaik BMEVIMIAV89 2011 ősz OpenNebula Előszó A feladatom az OpenNebula nyílt forráskódú cloud management eszköz megismerése, mely egységes

Részletesebben

Szövegek C++ -ban, a string osztály

Szövegek C++ -ban, a string osztály Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string

Részletesebben

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program A GeoEasy telepítése GeoEasy V2.05+ Geodéziai Feldolgozó Program (c)digikom Kft. 1997-2010 Tartalomjegyzék Hardver, szoftver igények GeoEasy telepítése A hardverkulcs Hálózatos hardverkulcs A GeoEasy indítása

Részletesebben

Pest Megyei Kamara 2006. január 20. Bagi Zoltán

Pest Megyei Kamara 2006. január 20. Bagi Zoltán Pest Megyei Kamara 2006. január 20. Bagi Zoltán Mitől korszerű egy rendszer? Funkcionalitás, program szolgáltatásai Integráltság (más partnerekkel való adatkapcsolat) Kommunikáció = távolságtól független

Részletesebben

Tartalom jegyzék 1 BEVEZETŐ 2 1.1 SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

Tartalom jegyzék 1 BEVEZETŐ 2 1.1 SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5 Tartalom jegyzék 1 BEVEZETŐ 2 1.1 SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5 3.1 ELSŐ FUTTATÁS 5 3.2 TULAJDONOSI ADATLAP 6 3.3 REGISZTRÁLÁS 6 3.4 AKTIVÁLÁS 6 3.5 MÉRÉS 7 3.5.1 ÜGYFÉL

Részletesebben

Ez a telepítési dokumentum segítséget nyújt abban, hogy szabályosan telepítse az Áfa átállító szoftvert Szerviz 7 programhoz.

Ez a telepítési dokumentum segítséget nyújt abban, hogy szabályosan telepítse az Áfa átállító szoftvert Szerviz 7 programhoz. 3Sz-s Kft. 1158 Budapest, Jánoshida utca 15. Tel: (06-1) 416-1835 / Fax: (06-1) 419-9914 e-mail: zk@3szs.hu / web: www.3szs.hu Tisztelt Felhasználó! Ez a telepítési dokumentum segítséget nyújt abban, hogy

Részletesebben

5. Gyakorlat. struct diak {

5. Gyakorlat. struct diak { Rövid elméleti összefoglaló 5. Gyakorlat Felhasználó által definiált adattípusok: A typedef egy speciális tárolási osztály, mellyel érvényes típusokhoz szinonim nevet rendelhetünk. typedef létező_típus

Részletesebben

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Programozás alapjai Ha egy adott adattáblára Ctrl + G t nyomunk,

Részletesebben

PRN1 / PRN 2 A távirányítók 433 MHz frekvencián működnek

PRN1 / PRN 2 A távirányítók 433 MHz frekvencián működnek Portos Hungary Kft 2220 Vecsés Dózsa György u. 86. Tel.: +36-29/550-280 Mobil.:+36-20/376-1776 +36-20/457-0266 E-mail: portos@portos.hu www.portos.hu R PORTOS motorok vezérlési rendszere KEZELÉSI ÚTMUTATÓ

Részletesebben

Telepítési Kézikönyv

Telepítési Kézikönyv Intelligens Dokumentum Kezelő Rendszer Telepítési Kézikönyv 1/15. oldal Dokumentum áttekintés Dokumentum címe: doknet telepítési kézikönyv Dokumentum besorolása: szoftver telepítési leírás Projektszám:

Részletesebben

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Inheritance beállítás Ez egy olyan beállítás, amely a modell alapján

Részletesebben

Dokumentáció. 1. Beadandó feladat

Dokumentáció. 1. Beadandó feladat Ballai Brigitta XG3077 gittacska91@gmail.com 2013.11.25. Dokumentáció 1. Beadandó feladat Feladat : A feladat egy kellően bonyolult osztálystruktúra megtervezése és implementálása Java nyelven. Minimális

Részletesebben

CAN alapú járműves adatokat megjelenítő szoftver fejlesztése

CAN alapú járműves adatokat megjelenítő szoftver fejlesztése CAN alapú járműves adatokat megjelenítő szoftver fejlesztése Beszámoló Dokumentum szám: D01-018-08-05 Dokumentum dátum: 2014. január 30. Szerző(k): Jánky Szabolcs (szabolcs.janky@inventure.hu) http://

Részletesebben

Advisor Master. GE Interlogix Magyarország Kft.

Advisor Master. GE Interlogix Magyarország Kft. Aritech A megoldás bármilyen biztonságtechnikai alkalmazásra mérettől és komplexitástól függetlenül az ATS Advisor Master Integrált Biztonságtechnikai rendszer. Néhány alkalmazási példa: Kisebb üzletek

Részletesebben

SZOFTVER = a számítógépet működtető és az azon futó programok összessége.

SZOFTVER = a számítógépet működtető és az azon futó programok összessége. SZOFTVEREK SZOFTVER = a számítógépet működtető és az azon futó programok összessége. Programok Programnak nevezzük egy algoritmus valamelyik számítógépes programnyelven való leírását, amely a számítógép

Részletesebben

A felhőről általában. Kacsuk Péter MTA SZTAKI

A felhőről általában. Kacsuk Péter MTA SZTAKI A felhőről általában Kacsuk Péter MTA SZTAKI Miért fontos a felhő? (I) Problémák, ha az infrastruktúra még nem létezik Az ötletek megvalósításához szükséges idő Kutatás a felhők előtt 1. Van egy jó ötlet

Részletesebben

BaBér bérügyviteli rendszer telepítési segédlete 2011. év

BaBér bérügyviteli rendszer telepítési segédlete 2011. év BaBér bérügyviteli rendszer telepítési segédlete 2011. év Ajánlott konfiguráció A program hardverigénye: Konfiguráció: 2800 MHz processzor 512 Mbyte memória (RAM) / Szerver gépen 1G memória (RAM) Lézernyomtató

Részletesebben

iseries Client Access Express - Mielőtt elkezdi

iseries Client Access Express - Mielőtt elkezdi iseries Client Access Express - Mielőtt elkezdi iseries Client Access Express - Mielőtt elkezdi ii iseries: Client Access Express - Mielőtt elkezdi Tartalom Rész 1. Client Access Express - Mielőtt elkezdi.................

Részletesebben

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport TANMENET Informatika szakmacsoport Programozási gyakorlatok III. tantárgy 12. évfolyam A osztály 2013/2014 tanév Heti óraszám: Éves óraszám: 3 óra 96 óra Készítette: Szikszai Gusztáv tanár Ellenőrizte:.

Részletesebben

Operációs rendszerek (I 1204)

Operációs rendszerek (I 1204) egyetemi docens Debreceni Egyetem 1999/2000 2. félév Mi az operációs rendszer? Korai rendszerek. Bevezetés A kötegelt feldolgozás egyszerû rendszerei. (Simple Batch) A kötegelt feldolgozás multiprogramozott

Részletesebben

italc felhasználói dokumentáció

italc felhasználói dokumentáció ITALC Felhasználói Leírás www.npsh.hu italc felhasználói dokumentáció a Nemzeti Fejlesztési Minisztérium részére Védjegyek és Jogi nyilatkozat Copyright Novell, Inc. Minden jog fenntartva. A Novell, és

Részletesebben

AF 4073-1. 5 hangú kód adó-vevő. Fő jellemzők:

AF 4073-1. 5 hangú kód adó-vevő. Fő jellemzők: AF 4073-1 5 hangú kód adó-vevő Fő jellemzők: SELECT 5 jelzések küldése - billentyüzeten beirt 5 hangú szekvencia küldése - szekvencia küldés 9 db programozható hivó-memória egyikéből - REDIAL funkció egy

Részletesebben

IV. Számítógépes vírusok és védekezési módszerek

IV. Számítógépes vírusok és védekezési módszerek IV. Számítógépes vírusok és védekezési módszerek Mi is az a VÍRUS? A számítógépes vírusok olyan programok, amelyek képesek önmagukat reprodukálni, s így szaporodni. Hogyan aktiválódnak? program használat

Részletesebben

Tartalom. Operációs rendszerek. 4.1 Holtpont definíciója. Bevezetés helyett... Rendszermodell 1. A klasszikus példa...

Tartalom. Operációs rendszerek. 4.1 Holtpont definíciója. Bevezetés helyett... Rendszermodell 1. A klasszikus példa... Tartalom Operációs rendszerek 4. A holtpont és kezelése Simon Gyula Bevezetés A holtpont kialakulásának szükséges feltételei Az erőforrás-használati gráf A holtpont kezelése holtpont megelőzése holtpont

Részletesebben

Egyetemi könyvtári nyilvántartó rendszer

Egyetemi könyvtári nyilvántartó rendszer RENDSZERTERV Egyetemi könyvtári nyilvántartó rendszer A rendszer célja A projekt célja egy egyetemi könyvtár nyilvántartó rendszerének megtervezése. A legfőbb követelmény, amit a rendszerrel szemben támasztok,

Részletesebben

TESZ INTERNET ÉS KOMMUNIKÁCIÓ M7

TESZ INTERNET ÉS KOMMUNIKÁCIÓ M7 TESZ INTERNET ÉS KOMMUNIKÁCIÓ M7 1. FELADAT 1. Továbbküldés esetén milyen előtaggal egészül ki az e-mail tárgysora? Jelölje a helyes választ (válaszokat)! [1 pont] a) From: b) Fw: c) To: d) Vá: 2. Melyik

Részletesebben