Valós idejű funkcionalitás Windows-ban
|
|
- Márk Balla
- 6 évvel ezelőtt
- Látták:
Átírás
1 Valós idejű funkcionalitás Windows-ban Szabó Dávid, Dr Illés Zoltán, Heizlerné B. Viktória sasasoft, illes, ELTE IK Absztrakt: Az elmúlt években tapasztalhatjuk, hogy az időzítések, határidők szerepe az élet minden területén egyre jelentősebbé vált, így van ez a számítógépek világában is, elterjedt a valós idejű alkalmazások iránti igény. Szoftverek, melyeknek nem elég gyorsan reagálniuk, a választ határidőre kell előállítaniuk. Az átlag felhasználók között egyik legelterjedtebb operációs rendszer, a Windows, ennek ellenére teljes funkcionalitásában nem támogatja a valós idejű alkalmazásokat, így azok ütemezését sem. Megvizsgáljuk, hogy milyen szolgáltatásai és programozható felületei érhetők el a rendszernek, melyekkel mégis alkalmassá tehető valós idejű alkalmazások fejlesztéséhez. Kulcsszavak: valós idő, folyamat, szál, ütemező, Windows,.NET, C# 1. Bevezetés A számítógépek sebességének növekedésével párhuzamosan a mindennapjaink is egyre gyorsabbak lesznek. Korábban percek, órák vagy akár csak napok alatt elvégezhető tevékenységekre nem várunk néhány másodpercnél többet. Számítógépek, telefonok és egyéb okos eszközök vesznek minket körül a nap 24 órájában és egy olyan világba nyújtanak belépést, melyben minden mindennel össze van kapcsolva. Ezt a változást nem csak a használt hardverek, de a használt szoftverek is követik. Egy külső szemlélő ebből mindössze annyit láthat, hogy a szoftvereknek még gyorsabbnak kell lenniük, de ez több ennél. A válaszokat és reakciókat határidőre kell a rendszernek előállítania. Nem elég gyorsan vagy még gyorsabban reagálni, valós időben mérhető időbeli követelményeket támasztunk a szoftverrel szemben. Több időbeli követelmény fajtát is megfigyelhetünk: 1. Bankkártya használata során elvárjuk, hogy a fizetés folyamata gyorsabb legyen, mintha készpénzzel fizetnénk, ezért a terminál és a bank közötti hálózati kommunikációra, tranzakció végrehajtására csupán néhány másodperce van a rendszernek. 2. Online videojátékok esetében meghatározó tényező a ping, avagy a szerver válaszideje. Minél rosszabb a válaszidő annál rosszabb lesz a szinkronizáció a játékosok között, ugyanazt a jelenséget nem ugyanakkor fogják látni a képernyőkön. A manapság feltörő e-sport világában akár néhány milliszekundumos késés is hátrányba juttathat versenyzőket. 3. Az előző problémák előfordulása jórészt kellemetlenséggel és bosszankodással jár, de egyes szoftverkörnyezetekben a határidők elmulasztása katasztrofális következményekkel járhat. Egy gyógyszergyár gyártósorát vezérlő szoftverének milli-, vagy akár mikroszekundumos pontossággal kell a műszereit vezérelnie. Egy apró hiba és a hibásan előállított termék, gyógyszer akár emberi életeket is veszélybe sodorhat!
2 2. Valós idejű szoftverfejlesztés Szabó, D.; Dr. Illés, Z.; H. Bakonyi, V. Valós idejű szoftverfejlesztésről akkor beszélhetünk, amikor a fejlesztés alatt álló szoftver követelményrendszerében az időtől függő feltételeket és követelményeket adunk meg. Követelmények, melyek megszabják, hogy egy eseményre előállított válasz elkészítésére mennyi ideje van a rendszernek. Megadott határidővel vagy időkorláttal kell a szoftvernek feldolgoznia az eseményt és végrehajtania az esemény által kiváltott feladatokat a válasz előállításához. Egy követelmény akkor jó követelmény, ha minden eshetőségre kitér. Mi a teendő, ha ezt a határidőt mégis elmulasztja a rendszer? Két megközelítést alkalmazunk [1]. Laza valós idejű rendszer esetében (soft real-time) a rendszer törekszik a határidők betartására. A késés elkerülendő, de ha mégis bekövetkezik nincs túl nagy probléma, csupán az előállított válasz hasznossága csökken. Ezzel szemben a szigorú valós idejű rendszerek (hard real-time) határidő elmulasztása rendszerhibát vagy egyéb súlyos következményeket okozhat, a késés nem tolerálható. Adott egy követelmény, melyben szoftverünknek egy eseményre adott határidőn belül kell a választ előállítania, végrehajtania egy kódrészletet. A beérkező eseményhez egy adat tartozik szorosan, a határidő és egy adat lazán, a válasz kódrészlet végrehajtási ideje. Sajnos attól, hogy a szoftverünk elég gyorsan (pl. valamennyi milliszekundum alatt) le tudja futtatni a szükséges kódot, még nem jelenthetjük ki, hogy ez a szoftver minden esetben tartani fogja az előírt határidőt. Ehhez garantálni kellene, hogy a végrehajtáshoz szükséges processzor időt meg is kapja a programunk még a határidő lejárta előtt. 2.1 Ütemezők általánosságban Egy számítógépen egyszerre sokkal több alkalmazást és folyamatot futtatnak a felhasználók, mint amennyi feldolgozó egység elérhető az adott rendszeren. Az operációs rendszer feladata, hogy ezen folyamatokat úgy ütemezze a processzorokra, hogy a felhasználó számára ne tűnjön föl, hogy igazából ezek az alkalmazások nem egyszerre futnak, hanem felváltva. Az Ütemező az Ütemezési Algoritmus alapján dönti el, hogy melyik folyamat, melyik szála kaphat processzort és mikor kell lemondania arról [2]. Az ütemezésnek pártatlannak kell lennie, minden szál ugyanazon szabályrendszer szerint kell, hogy ütemezésre kerüljön. Az évek során használt rendszerek több Ütemezési Algoritmust is bemutattak, mind más és más környezetben alkalmazható kényelmesen. Korábbi többfeladatos rendszerek kooperatív ütemezést alkalmaztak, melynek során az ütemező nem dönthet úgy, hogy egy végrehajtás alatt álló folyamattól elveszi a processzort. A folyamatoknak maguktól kell lemondaniuk a processzorról (pl. egy várakozó utasítás, vagy yield parancs használatával). Ennek a Run-to-Completition elvű ütemezőnek előnye, hogy a futás alatt álló folyamat a lehető leggyorsabban végre tudja hajtani feladatát, mert az ütemező nem szakítja meg munkáját váratlan kontextus váltásokkal. Cserébe a rendszer válaszideje és interaktivitása rendkívül gyenge, a futó folyamatok kiéheztetik a többi várakozó folyamatot. A mai átlag felhasználók által használt rendszerek időosztásos, prioritásos preemptív ütemezőket használnak. Az ütemező nem csak egy processzor szálhoz rendelését teheti meg, a processzort el is veheti a szálaktól (preemption). Egy processzor felszabadulásakor egy várólistában várakozó szál kapja meg a processzort, előre megadott időegységnyi processzor időt kap az ütemezőtől. Az időkorlát lejárásakor az ütemező elveszi a processzort a száltól, a szál visszakerül a várólistába a processzort pedig a következő várakozó szál kapja meg [3]. A felhasználók (és fejlesztők is) prioritásokat rendelhetnek a szálakhoz, ezzel tippet adva az ütemezőnek, hogy mely folyamatainkat szeretnénk nagyobb vagy kisebb sűrűséggel végrehajtás alatt tudni. Egy interaktív rendszerben ez az algoritmus jól működik, viszont valós idejű környezetben nem garantál semmit! Egy esemény beérkezésekor nem garantált, hogy a folyamatunk ütemezésre kerül, sem az, hogy elegendő processzor időt kap a válasz előállításához szükséges feladatok 2
3 Valós idő Windows-ban végrehajtásához. Egy ténylegesen valós idejű rendszer figyelembe veszi az idő szerepét is a folyamatok végrehajtása során! Az operációs rendszer garantálja, hogy egy esemény bekövetkezésekor a rá várakozó folyamat processzorhoz jut és a szükséges utasítások lefutnak. Ezen funkcionalitást támogató valós idejű rendszerek lehetnek például a beágyazott rendszerek, illetve a Linux rendszernek érhetők el valós idejű bővítményei (pl. Suse Linux Enterprise Real-Time Extension). A Linux kernel 3.14 verziótól kezdve támogatja a SCHED_DEADLINE ütemezést, mely egy EDF (Earliest Deadline First) ütemezés [4]. A folyamatokhoz hozzárendelhető határidőt és szükséges végrehajtási időt figyelembe véve képes a rendszer folyamatokat ütemezni. A helyzet tovább bonyolódik többmagos/többprocesszoros rendszerek esetében. Futó folyamatok váltása során az ütemezőnek kontextus váltást (context switch) kell végrehajtania. Az eddig futó szállnak az állapotát (utasításszámláló, stack, regiszterek, cache állapotok stb.) el kell tárolni, a következő szál állapotát pedig be kell tölteni. Ez egy drága, időigényes feladat, ha pedig a szál állapotát a különböző processzormagok között is meg kell osztani, akkor még több időt fog igénybe venni. Éppen ezért szeretnénk irányítani, hogy az ütemező, mely processzorokra ütemezheti egyes folyamatainkat. Ezt az opciót processzor affinitásnak nevezik. Valós idejű rendszerek a processzor shield opciót is támogatják, mellyel kijelölhetjük processzoroknak egy halmazát, melyekre csak valós idejű folyamatokat ütemezhetnek, ezzel csökkentve egy beérkező valós idejű folyamat várakozási idejét. 2.2 Windows ütemező Windows rendszerben megkülönböztetjük a folyamat és szál fogalmát [5]. A folyamat egy kontextus az alkalmazásunknak, menedzseli az erőforrásait, memóriaterületét és nyilvántartja a szálait. A szálak a különböző végrehajtási útjai egy folyamatnak, az ütemező a szálakat ütemezi a processzorra. Két lépésben rendelhetünk prioritást a szálakhoz: először egy prioritási osztályt kell a folyamathoz rendelni (Realtime, High, Above Normal, Normal, Below Normal, Idle), mely minden a folyamatban lévő szálnak a prioritását a megfelelő szintre módosítja, majd az osztályon belül a szálaknak az egymáshoz képesti relatív prioritását is megadhatjuk. A Windows kliens, illetve szerver változata sem támogatja a valós idejű ütemezéshez szükséges szolgáltatásokat. Habár a prioritási szintek (0-31) között megjelennek a valós idejű prioritások (16-31) ezek nem igazi valós idejű algoritmusokat rejtenek maguk mögött. A rendszer nem garantálja a határidők betartását, csak annyit, hogy a legtöbb szál előtt ütemezésre kerülhet a valós idejű prioritású szálunk. Használata nem veszélymentes: több rendszerszintű szál is a valós idejű szinteken dolgozik, ha egy számításigényes szállal blokkoljuk ezeket a folyamatokat a rendszer instabillá válhat. Egy szál csak akkor lehet valós idejű, ha a szálat tartalmazó folyamat valós idejű prioritási osztályba tartozik, melynek beállításához rendszergazdai jogosultságra van szükség. Valós idejű prioritási osztályban csak valós idejű szálak lehetnek. Quantum néven hívják az időegységet, mely a folyamatok által felhasználható időszeletet határozza meg. A Quantum hosszát a kernel számítja ki a rendszer indulásakor. Egy szál processzorhoz jutáskor kap valamennyi Quantum-ot, végrehajtási időt. A kapott Quantum-ok száma változó, kliens Windows-on kevesebb Quantum-ot kap egy szál mind szerver Windows-on, illetve az előtérben lévő alkalmazás további Quantum-okat kap. Válaszidők csökkentésére és elosztott rendszerekben felmerülő erőforrás és blokkolási problémák feloldására a Windows rendszer a Priority Boost funkciót használja. A felhasználó (vagy fejlesztő) által megadott prioritás a szálaknak az alap prioritása (base priority), a Priority Boost felülbírálhatja ezt a prioritást, melyet jelenlegi prioritásnak (current priority) nevezünk. Egyes események hatására a rendszer ideiglenesen megnövelheti egyes szálak prioritását. Például hosszabb várakozás után, egy erőforrás elérhetővé válásakor a várakozó szál prioritás növelést kaphat, így az ütemező nagyobb eséllyel fogja ütemezni és gyorsabban hozzáláthat a munkához. Az előtérben lévő alkalmazás (mellyel 3
4 Szabó, D.; Dr. Illés, Z.; H. Bakonyi, V. a felhasználó aktívan foglalkozik) is automatikusan prioritás növelést kap. A Priority Boost Quantum növeléssel is járhat, tehát a szálak nagyobb időszeletet kapnak a processzor használatára. A Windows is biztosít lehetőséget processzor affinitás beállítására, viszont a rendszer rávilágít egy lehetséges hátrányára az affinitásnak: Egy magasabb prioritású szálat nem fog másik processzorra ütemezni egy alacsonyabb prioritású szál affinitása miatt. Éppen ezért, lehetséges, hogy a szálunknak tovább kell várakoznia, mert egy nagyobb prioritású szál dolgozik a szálunknak megfelelő processzoron. Ennek feloldására vezették be az Ideális és Utolsó Processzor fogalmát. Ideális processzorral megadhatjuk, hogy melyik processzoron szeretnénk futtatni a szálunkat és az alábbi módon befolyásolhatjuk vele az ütemező döntését: 1. Amikor a szálunk processzorhoz jut, először az ideális processzort próbálja az ütemező biztosítani a számára. 2. Ha az ideális processzor nem elérhető akkor az előzőleg a szálat futtató processzor elérhetőségét ellenőrzi. 3. Ha az előző processzor sem elérhető akkor a többi processzor közül fog választani egyet a szál végrehajtására. Nem garantált, hogy a szálunk mindig az ideális processzoron fog dolgozni. Ennek az algoritmusnak a cache miss minimalizálása a célja, a szál állapot processzorok közötti átvitelének minimalizálása. Az asztali Windows rendszerek nem támogatják a valós idejű funkcionalitást, de a korábbi Windows CE rendszerek közelebb állnak egy teljes valós idejű rendszerhez. Windows CE rendszert kis teljesítményű, főleg beágyazott rendszerekre fejlesztettek, régebbi Windows telefonok és hordozható eszközök használták főleg a rendszert. A valós idejű feladatok végzését a pontos és determinisztikus megszakítások és megszakításokat kezelő szál segíti. Utolsó verziója 2013-ban készült (illetve a Windows 10 Mobile rendszer tartalmazza egyes részeit), utódja a Windows IoT Core, mely a modern kis teljesítményű Internet-of-Things eszközökre juttatja el a Microsoft ökoszisztémát és valós idejű környezetet együtt. 3. Valós idejű.net API Az említett ütemező funkcionalitások elérhetők a Microsoft folyamatos fejlesztése alatt álló.net C# programozási nyelven keresztül is. Mivel egy virtuális gépben futó nyelvről van szó ezért fontos megemlíteni, hogy vannak veszélyei a C# alapú szigorú valós idejű alkalmazások fejlesztésének. A lefordított programot alkotó IL kód (Intermediate Language) futás közben Just-In-Time fordító segítségével fordul natív gépi utasításokra. Ezek a fordítási fázisok futás közben késleltethetik alkalmazásunkat. Szerencsére a modern.net Core.NET Native előfordítási technológiájával és CoreRT futtatókörnyezetével eliminálható a JIT fordító használata [6]. A másik veszélyforrás a szemétgyűjtő használata. A memória rohamos csökkenése esetén a futtatókörnyezet szemétgyűjtést végez, melynek során a programunk szálait szünetelteti. Egy szerencsétlen pillanatban kiváltódó szemétgyűjtés a határidők elmulasztásával járhat. A futtatókörnyezet menedzseli az alkalmazásunk szálait is, éppen ezért szükséges megkülönböztetni a virtuális gép felügyelt szálait és az operációs rendszer számára ütemezhető natív végrehajtási szálakat. Egy a Thread osztállyal létrehozott felügyelt szálat egy natív szálnak feleltet meg a futtatókörnyezet. Habár a.net Core dokumentációja felhívja a figyelmet: a felügyelt szálakat a futtatókörnyezet áthelyezheti másik natív szálakra, jelenleg ezt a funkciót még nem támogatja a virtuális gép. ThreadPool és egyéb beépített párhuzamos könyvtárak használata során a virtuális gép különböző felügyelt szálakat ütemez ugyanazon natív szálakra (ezzel lecsökkentve az operációs rendszer ütemezőjének terhelését), tehát ilyen esetekben a natív szálak tulajdonságainak módosítása 4
5 Valós idő Windows-ban nem ajánlott. Natív szálak működésének konfigurálását csak akkor érdemes végezni mikor a szálat mi magunk hoztuk létre a Thread osztály segítségével [7]. Thread mythread = new Thread(new ThreadStart(ThreadJob)); mythread.start(); static void ThreadJob() //Do something... A Thread osztálypéldány birtokában az adott szál prioritását állíthatjuk. Ezzel a tulajdonsággal a szálak prioritás osztályon belüli relatív prioritását adhatjuk meg. Thread.CurrentThread.Priority = ThreadPriority.Highest; Thread mythread = new Thread(new ThreadStart(ThreadJob)); mythread.priority = ThreadPriority.BelowNormal; mythread.start(); További konfiguráláshoz hozzá kell férnünk az alkalmazásunk Process osztálypéldányához. Ügyeljünk rá, hogy a Process osztály megvalósítja az IDisposable interfészt ezért használjuk a using blokkot az erőforrások helyes kezelésére! A Process példányon keresztül hozzáférhetünk és módosíthatjuk az alkalmazásunk prioritás osztályát, affinitását és Priority Boost engedélyét [8]. using (Process process = Process.GetCurrentProcess()) process.priorityclass = ProcessPriorityClass.RealTime; process.processoraffinity = new IntPtr(0x0002); process.priorityboostenabled = true; A Process példányon keresztül hozzáférhetünk az alkalmazásunk szálaihoz és bővebb konfigurálásához ProcessThread példányokon keresztül. A Thread és ProcessThread két különböző osztály és különböző funkcionalitást is biztosítanak. Előbbivel a felügyelt szálunk állapotát és élettartamát kezelhetjük, még utóbbival natív szálak tulajdonságaihoz férhetünk hozzá. Több szálat láthatunk, mint amennyit létrehoztunk, mert a futtatókörnyezet is használ szálakat az alkalmazásunk futtatásához (például a szemétgyűjtő vagy a Just-In-Time fordító végrehajtásához). Ahhoz, hogy az aktuális végrehajtás alatt álló szálunk ProcessThread példányához hozzájussunk szükségünk van a szálunk natív azonosítójára. Ehhez a feladathoz a C# API nem biztosít metódusokat, P/Invoke segítségével kell a kernel32.dll-ben elérhető GetCurrentThreadId API vetületet használnunk. A visszatérő érték az aktuális végrehajtási szál natív azonosítója, melyet felhasználva hozzájuthatunk a szál ProcessThread példányához. 5
6 Szabó, D.; Dr. Illés, Z.; H. Bakonyi, V. public static class ThreadExtension public static ProcessThread GetProcessThread(this Thread thread) uint threadid = GetCurrentThreadId(); using (Process process = Process.GetCurrentProcess()) return process.threads.oftype<processthread>().firstordefault(pt => pt.id == threadid); [DllImport("kernel32.dll")] static extern uint GetCurrentThreadId(); using (ProcessThread pt = Thread.CurrentThread.GetProcessThread()) pt.idealprocessor = 7; A fenti API-k elérhetők.net Framework és.net Core keretrendszerek használatával is..net Core-t használva még a.net Native előfordítási technológiát alkalmazva is elérhetjük a szükséges metódusokat. A Windows 10 rendszerben támogatott Universal Windows Platform biztonsági okokból az API-t csak minimális mértékben támogatja, és legtöbb esetben a támogatott részek használata a Microsoft Store áruházi szabályzatába ütközik. 4. Összegzés Manapság a valós idejű alkalmazások fejlesztésének igénye már nem csak az ipari, hanem az átlag felhasználói környezetben is jelentős. Az átlag felhasználói operációs rendszerek közül a Linux egyes változatai támogatnak valós idejű funkcionalitást. Azt vizsgáltuk, hogy Windows rendszerben, milyen ütemezési opciók és konfigurálási lehetőségek elérhetők, melyek mégis alkalmassá tehetik a Windows rendszert valós idejű szoftverfejlesztéshez. A.NET C# programozási nyelv hatalmas fejlődéseken ment át az elmúlt években. Az elért sebesség növekedésnek és technológiai újításoknak köszönhetően sokkal magabiztosabban használhatjuk valós idejű környezetben. Megfelelő könyvtárakat használva a rendszer szintű szálak működésének konfigurálását is elvégezhetjük, ezzel tanácsokat adva az ütemezőnek az alkalmazásunk helyes ütemezéséhez. 6
7 Valós idő Windows-ban Köszönetnyilvánítás EFOP VEKOP : Tehetséggondozás és kutatói utánpótlás fejlesztése autonóm járműirányítási technológiák területén A projekt a Magyar Állam és az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg. Hivatkozások [1] Dr. Illés Zoltán, Heizlerné Bakonyi Viktória, Illés Zoltán: Valós időben, valós világban: INFODIDACT 2015, Zamárdi (2015), ISBN: [2] Dr. Illés Zoltán: Operációs rendszerek 4. előadás, (utoljára megtekintve: ) [3] Dr. Illés Zoltán, Szabó Dávid: Operációs rendszerek 5. előadás (utoljára megtekintve: ) [4] Yoshitake Kobayashi: Deadline Miss Detection with SCHED_DEADLINE: ELC Embedded Linux Conference, San Francisco, California, [5] Mark Russinovich, David A. Solomon, Alex Ionescu: Windows Internals, Part 1, 6th Edition, Microsoft Press, 2012, [ ], ISBN: [6] Szabó Dávid: C# Multi-Platform Környezetben, MSc Diplomamunka, 2018, (utoljára megtekintve: ) [7] Bart de Smet: C# 4.0 Unleashed, Pearson Education, 2011, [ ], ISBN: [8] Andrew Troelsen, Philip Japikse: Pro C# 7: With.NET and.net Core, Apress, 2017, [ ], ISBN:
Windows ütemezési példa
Windows ütemezési példa A példában szereplő számolás erősen leegyszerűsített egy valós rendszerhez képest, csak az elveket próbálja bemutatni! Egyprocesszoros Windows XP-n dolgozunk, a rendszer úgy van
(kernel3d vizualizáció: kernel245_graph.mpg)
(kernel3d vizualizáció: kernel245_graph.mpg) http://www.pabr.org/kernel3d/kernel3d.html http://blog.mit.bme.hu/meszaros/node/163 1 (ml4 unix mérés boot demo) 2 UNIX: folyamatok kezelése kiegészítő fóliák
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)
Autóipari beágyazott rendszerek. Komponens és rendszer integráció
Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása
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
Operációs rendszerek. Az NT folyamatok kezelése
Operációs rendszerek Az NT folyamatok kezelése Folyamatok logikai felépítése A folyamat modell: egy adott program kódját végrehajtó szál(ak)ból és, a szál(ak) által lefoglalt erőforrásokból állnak. Folyamatok
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ű
Szenzorhálózatok programfejlesztési kérdései. Orosz György
Szenzorhálózatok programfejlesztési kérdései Orosz György 2011. 09. 30. Szoftverfejlesztési alternatívák Erőforráskorlátok! (CPU, MEM, Energia) PC-től eltérő felfogás: HW közeli programozás Eszközök közvetlen
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
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
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)
OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -
OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc - koczka.ferenc@ektf.hu KÖVETELMÉNYEK GYAKORLATI JEGY: Két zárthelyi dolgozat eredményes megírása. Forrás: http://wiki.koczka.hu ELMÉLETI VIZSGA Az előadások
Konkurens TCP Szerver
A gyakorlat célja: Konkurens TCP Szerver Megismerkedni a párhuzamos programozás és a konkurens TCP szerver készítésének az elméleti és gyakorlati alapjaival és egy egyidejűleg több klienst is kiszolgáló
Programozási nyelvek és módszerek Java Thread-ek
Programozási nyelvek és módszerek Java Thread-ek Laki Sándor lakis@inf.elte.hu 2006. május 3. 0-0 Szálak (Threads) Ahhoz, hogy egy mai rendszer m ködhessen több 10-100 folyamatnak kell futnia. A folyamatok
OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS
OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS A PROCESSZ A PROCESSZ Program: a végrehajtandó utasítások sorozata Processz: a végrehajtás alatt levő program ÁLLAPOTOK LÉTREHOZÁS ALATT Belépés Kilépés TERMINÁLT
Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread
Végrehajtási szálak Runnable, Thread Végrehajtási szálak Java-ban A Java program az operációs rendszer egy folyamatán (process) belül fut. A folyamat adat és kód szegmensekből áll, amelyek egy virtuális
Operációs rendszerek. Folyamatok ütemezése
Operációs rendszerek Folyamatok ütemezése Alapok Az ütemezés, az események sorrendjének a meghatározása. Az ütemezés használata OPR-ekben: az azonos erőforrásra igényt tartó folyamatok közül történő választás,
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:
Balogh Ádám Lőrentey Károly
Architektúrák és operációs rendszerek: Folyamatok, ütemezés Balogh Ádám Lőrentey Károly Eötvös Loránd Tudományegyetem Informatikai Kar Algoritmusok és Alkalmazásaik Tanszék Tartalomjegyzék 1. A folyamat
Operációs Rendszerek II.
Operációs Rendszerek II. Második előadás Első verzió: 2004/2005. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter Visszatekintés Visszatekintés Operációs rendszer a számítógép hardver elemei és az
Java I. A Java programozási nyelv
Java I. A Java programozási nyelv története,, alapvető jellemzői Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzők, JDK JAVA1 / 1 Egy kis történelem
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
A NetSupport School oktatást támogató rendszer
A NetSupport School oktatást támogató rendszer 1. Célcsoport A NetSupport School oktatást támogató rendszer alkalmas valamennyi tanár-diák, oktatóhallgató kapcsolatot igénylő oktatási folyamat támogatására.
Könyvtári címkéző munkahely
Könyvtári címkéző munkahely Tartalomjegyzék A RENDSZER HARDVER ELEMEI...3 1 RFID CÍMKÉK... 3 2 RFID ASZTALI OLVASÓ... 3 A RENDSZER SZOFTVER ELEMEI... 4 1 KÖNYV CÍMKÉZŐ MUNKAÁLLOMÁS... 4 2 A PC- S SZOFTVEREK
Dr. Schuster György október 30.
Real-time operációs rendszerek RTOS 2015. október 30. Jellemzők ONX POSIX kompatibilis, Jellemzők ONX POSIX kompatibilis, mikrokernel alapú, Jellemzők ONX POSIX kompatibilis, mikrokernel alapú, nem kereskedelmi
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-2008 Tartalomjegyzék Hardver, szoftver igények GeoEasy telepítése A hardverkulcs Hálózatos hardverkulcs A GeoEasy indítása
Webes alkalmazások fejlesztése 10. előadás. Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 10. előadás Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Tesztelés
Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése Bevezetés Célkitűzés, tematika, követelmények A.NET Core keretrendszer Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu
Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:
Operációs rendszerek MS Windows NT (2000) folyamatok Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok: szálak ütemezése végrehajtásra
Java-s Nyomtatványkitöltő Program Súgó
Java-s Nyomtatványkitöltő Program Súgó Hálózatos telepítés Windows és Linux operációs rendszereken A program nem használja a Registry-t. A program három könyvtárstruktúrát használ, melyek a következők:
Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése Célkitűzés, tematika, követelmények A.NET Core keretrendszer Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Célkitűzés
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,
Gyorskalauz SUSE Linux Enterprise Desktop 11
Gyorskalauz SUSE Linux Enterprise Desktop 11 NOVELL GYORSKALAUZ KÁRTYA A SUSE Linux Enterprise Desktop 11 új verziójának telepítéséhez a következő műveletsorokat kell végrehajtani. A jelen dokumentum áttekintést
Utolsó módosítás:
Utolsó módosítás:2010. 09. 15. 1 2 Kicsit konkrétabban: az utasítás hatására a belső regiszterek valamelyikének értékét módosítja, felhasználva regiszter értékeket és/vagy kívülről betöltött adatot. A
BMD Rendszerkövetelmények
BMD Rendszerkövetelmények Rendszerkövetelmények BMD 1. SZERVER Az alábbiakban áttekintést nyerhet azokról a szerver rendszerkövetelményekről, melyek szükségesek a BMD zavartalan működéséhez. Ezen felül
Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.
Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb
Ü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
Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.
12. Felügyeleti eszközök Néhány számítógép és szerver felügyeletét viszonylag egyszerű ellátni. Ha sok munkaállomásunk (esetleg több ezer), vagy több szerverünk van, akkor a felügyeleti eszközök nélkül
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.
Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata
Kutatási beszámoló a Pro Progressio Alapítvány számára Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Mérnök informatika szak Orvosi készülékekben használható modern
Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs
Szoftver labor III. Dr. Csébfalvi Balázs Irányítástechnika és Informatika Tanszék e-mail: cseb@iit.bme.hu http://www.iit.bme.hu/~cseb/ Tematika Bevezetés Java programozás alapjai Kivételkezelés Dinamikus
A Microsoft terminálszolgáltatás ügyfél oldali hardverigényének meghatározása
S SDA Stúdió kft. A Microsoft terminálszolgáltatás ügyfél oldali hardverigényének meghatározása Kiadva: 2002.02.12. Oldalak száma: 7 A dokumentum története Verzió Dátum Módosítás rövid leírása Módosító
A DNS64 és NAT64 IPv6 áttérési technikák egyes implementációinak teljesítőképesség- és stabilitás-vizsgálata. Répás Sándor
A DNS64 és NAT64 IPv6 áttérési technikák egyes implementációinak teljesítőképesség- és stabilitás-vizsgálata Répás Sándor Lépni Kell! Elfogytak a kiosztható IPv4-es címek. Az IPv6 1998 óta létezik. Alig
PolyVision illesztőprogram Kibocsátási megjegyzések 2.2. változat
PolyVision illesztőprogram Kibocsátási megjegyzések 2.2. változat C. átdolgozás 2011. február 3. Áttekintés Ez a dokumentum a PolyVision illesztőprogram 2.2. változatára vonatkozó kibocsátási megjegyzéseket
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
Ü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
Concurrency in Swing
Concurrency in Swing A szálkezelés a swing alkalmazásokban is fontos. Cél egy olyan felhasználói felület készítése, amely soha nem fagy, mindig válaszol a felhasználói interakciókra, bármit is csináljon
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
Informatika A versenyzők a feladatlapot mindkét kategóriában a II. kategória első fordulójának kivételével csak elektronikus formában kapják meg
Informatika A tantárgy versenyében az alább leírtakon túl az 1. pontban foglaltakat is figyelembe kell venni. A verseny két kategóriában és három fordulóban zajlik. A versenyzők a feladatlapot mindkét
Az operációs rendszer szerkezete, szolgáltatásai
Az operációs rendszer szerkezete, szolgáltatásai Felhasználói programok Rendszerhívások Válaszok Kernel Eszközkezelők Megszakításvezérlés Perifériák Az operációs rendszer szerkezete, szolgáltatásai Felhasználói
ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése
ÁNYK53 Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése Az ÁNYK53 egy keretprogram, ami a személyi jövedelemadó bevallás (SZJA,
K&H token tanúsítvány megújítás
K&H token tanúsítvány megújítás felhasználói kézikönyv 2014.10.15. verzió: 1.2 1 Tartalomjegyzék 1 Bevezetés... 3 2 Technikai feltételek... 3 3 A tanúsítványok megújításának folyamata Firefox... 6 4 A
Rendszermodernizációs lehetőségek a HANA-val Poszeidon. Groma István PhD SDA DMS Zrt.
Rendszermodernizációs lehetőségek a HANA-val Poszeidon Groma István PhD SDA DMS Zrt. Poszeidon EKEIDR Tanúsított ügyviteli rendszer (3/2018. (II. 21.) BM rendelet). Munkafolyamat támogatás. Papírmentes
Felhőalkalmazások a. könyvvizsgálatban
Felhőalkalmazások a könyvvizsgálatban Bevezetés cloud computing google keresés Nagyjából 247 000 000 találat (0,39 másodperc) Felhő alapú szolgáltatások jellemzője: bárhonnan (ahol Internet elérés biztosított),
A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.
A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja. A hálózat kettő vagy több egymással összekapcsolt számítógép, amelyek között adatforgalom
Folyamatok. 6. előadás
Folyamatok 6. előadás Folyamatok Folyamat kezelése, ütemezése folyamattábla új folyamat létrehozása átkpcsolás folyamatok elválasztása egymástól átlátszó Szál szálkezelő rendszer szálak védése egymástól
Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge
Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge Tartalomjegyzék Bevezetés 2 Szükséges hardver és szoftver konfiguráció 3 Testreszabások lementése előző Solid Edge verzióból 4 Előző Solid
Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák
Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák https://www.vik.bme.hu/kepzes/targyak/vimiav89/ Mi is az a Virtualizáció? Az erőforrások elvonatkoztatása az
Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt
Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt segédlet A Szilipet programok az adatok tárolásához Firebird adatbázis szervert használnak. Hálózatos
Dr. Schuster György október 3.
Real-time operációs rendszerek RTOS 2011. október 3. FreeRTOSConfig.h 3/1. Ez a header fájl tartalmazza az alapvető beállításokat. Ezek egyszerű #define-ok az értéküket kell beállítani: FreeRTOSConfig.h
Informatika Informatika
Informatika Informatika A tantárgy versenyében az alább leírtakon túl az 1. pontban foglaltakat is figyelembe kell venni. A verseny két kategóriában és három fordulóban zajlik. A versenyzők a feladatlapot
Gyorskalauz SUSE Linux Enterprise Server 11
Gyorskalauz SUSE Linux Enterprise Server 11 NOVELL GYORSKALAUZ KÁRTYA A SUSE Linux Enterprise 11 új verziójának telepítéséhez a következő műveletsorokat kell végrehajtani. A jelen dokumentum áttekintést
Matematikai és Informatikai Intézet. 4. Folyamatok
4. Folyamatok A folyamat (processzus) fogalma Folyamat ütemezés (scheduling) Folyamatokon végzett "mûveletek" Folyamatok együttmûködése, kooperációja Szálak (thread) Folyamatok közötti kommunikáció 49
Operációs Rendszerek II.
Operációs Rendszerek II. Harmadik előadás Első verzió: 2004/2005. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter Visszatekintés: folyamatok Programok és erőforrások dinamikus összerendelése a program
tanácsok játék és nyeremény weboldal-ajánló Munka az irodán kívül Távoli munka hatékonyan
tanácsok játék és nyeremény weboldal-ajánló Munka az irodán kívül Távoli munka hatékonyan Munka az irodán kívül Távoli munka hatékonyan Egy vállalkozás termelékenységének, hatékonyságának megőrzése érdekében
Gyorskalauz SUSE Linux Enterprise Server 11 SP1. Gyorskalauz. Köszönti az SUSE Linux Enterprise Server! Minimális rendszerkövetelmények
Gyorskalauz SUSE Linux Enterprise Server 11 SP1 Gyorskalauz SUSE Linux Enterprise Server 11 SP1 NOVELL GYORSKALAUZ KÁRTYA A SUSE Linux Enterprise Server új, 11 SP1 verziójának telepítéséhez a következő
Szoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
30 MB INFORMATIKAI PROJEKTELLENŐR
INFORMATIKAI PROJEKTELLENŐR 30 MB DOMBORA SÁNDOR BEVEZETÉS (INFORMATIKA, INFORMATIAKI FÜGGŐSÉG, INFORMATIKAI PROJEKTEK, MÉRNÖKI ÉS INFORMATIKAI FELADATOK TALÁKOZÁSA, TECHNOLÓGIÁK) 2016. 09. 17. MMK- Informatikai
ÓBUDAI EGYETEM Neumann János Informatikai Kar Informatikai Rendszerek Intézet Témavezető: Bringye Zsolt
Témavezető: Bringye Zsolt Diplomamunka/szakdolgozat címe: X64 szerver virtualizáció technológiai kérdéseinek áttekintése, kereskedelmi termékekben történő megvalósításuk elemzése (funkcionalitás, teljesítmény,
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
Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
Oktatási cloud használata
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnikai és Információs Rendszerek Tanszék Oktatási cloud használata Készítette: Tóth Áron (BME MIT), 2013. A segédlet célja a tanszéki oktatási cloud
Zoiper VoIP mobil alkalmazás szoftver beállítása Android rendszerre
Zoiper VoIP mobil alkalmazás szoftver beállítása Android rendszerre A Zoiper VoIP szoftver Android operációs rendszert futtató mobil okos telefonokra is telepíthető. Egy nagyon jó minőségű SIP kompatibilis
Alkalmazások típusai Szoftverismeretek
Alkalmazások típusai Szoftverismeretek Prezentáció tartalma Szoftverek csoportjai Operációs rendszerek Partíciók, fájlrendszerek Tömörítés Vírusok Adatvédelem 2 A szoftver fogalma A szoftver teszi használhatóvá
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ó
Szoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html 1 Kivételkezelés I. szokatlan, váratlan
EgroupWare: A csoportmunka megoldás
EgroupWare: A csoportmunka megoldás Bemutatás Az egroupware egy üzleti szintű, PHP alapú, szabad csoportmunka szerver megoldás, a Stylite AG terméke. A közösségi verzió szabadon letölthető és ingyenesen
Miért jó nekünk kutatóknak a felhő? Kacsuk Péter MTA SZTAKI
Miért jó nekünk kutatóknak a felhő? Kacsuk Péter MTA SZTAKI Szolgáltatások halmaza: o Erőforrások, alkalmazások, eszközök o Nagy méretű, heterogén, gazdaságos, mobil, zöld El van takarva, hogy o Hol van
Előadás_#02. Előadás_02-1 -
Előadás_#02. 1. Folyamatok [OR_02_Folyamatok_zs.ppt az 1-12. diáig / Előadás_#02 (dinamikusan)] A multiprogramozott rendszerek előtt a tiszta szekvenciális működés volt a jellemző. Egy program (itt szándékosan
Microsoft SQL Server telepítése
Microsoft SQL Server telepítése Az SQL Server a Microsoft adatbázis kiszolgáló megoldása Windows operációs rendszerekre. Az SQL Server 1.0 verziója 1989-ben jelent meg, amelyet tizenegy további verzió
Bevezetés az informatikába
Bevezetés az informatikába 5. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
Előadás_#03. Előadás_03-1 -
Előadás_#03. 1. Ütemezés [OR_05_Ütemezés_ok.ppt az 1-30. diáig / Előadás_#03 (dinamikusan)] Tekintsük át, hogy eddig minek a kapcsán merült fel ütemezés. Tulajdonképpen minden olyan lépés, ami állapot
Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET Core) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 7. előadás Autentikáció és autorizáció (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Autentikáció
Operációs rendszerek II. Folyamatok ütemezése
Folyamatok ütemezése Folyamatok modellezése az operációs rendszerekben Folyamatok állapotai alap állapotok futásra kész fut és várakozik felfüggesztett állapotok, jelentőségük Állapotátmeneti diagram Állapotátmenetek
Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI
Az MTA Cloud a tudományos alkalmazások támogatására Kacsuk Péter MTA SZTAKI Kacsuk.Peter@sztaki.mta.hu Tudományos alkalmazások és skálázhatóság Kétféle skálázhatóság: o Vertikális: dinamikusan változik
Podoski Péter és Zabb László
Podoski Péter és Zabb László Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök előnyeit és hiányosságait Kidolgoztunk egy saját megjelenítő
Számítógépek felépítése
Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák
VIRTUALIZÁCIÓ KÉSZÍTETTE: NAGY ZOLTÁN MÁRK EHA: NAZKABF.SZE I. ÉVES PROGRAMTERVEZŐ-INFORMATIKUS, BSC
VIRTUALIZÁCIÓ KÉSZÍTETTE: NAGY ZOLTÁN MÁRK EHA: NAZKABF.SZE I. ÉVES PROGRAMTERVEZŐ-INFORMATIKUS, BSC A man should look for what is, and not for what he thinks should be. Albert Einstein A számítógépek
TELE-OPERATOR UTS v.14 Field IPTV műszer. Adatlap
TELE-OPERATOR UTS v.14 Field IPTV műszer Adatlap COMPU-CONSULT Kft. 2009. augusztus 3. Dokumentáció Tárgy: TELE-OPERATOR UTS v.14 Field IPTV műszer Adatlap (6. kiadás) Kiadta: CONSULT-CONSULT Kft. Dátum:
Mértékegységek a számítástechnikában
Mértékegységek a számítástechnikában BIT legkisebb adattárolási egység Értékei lehetnek: 0,1. Bájt= 8 BIT a számítógép számára egységesen kezelhető legkisebb egység. (Bit,) Bájt, KiloBájt, MegaBájt, GigaBájt,
Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor
Ismerkedjünk tovább a számítógéppel Alaplap és a processzeor Neumann-elvű számítógépek főbb egységei A részek feladatai: Központi egység: Feladata a számítógép vezérlése, és a számítások elvégzése. Operatív
A CCL program használatbavétele
A CCL program használatbavétele Tartalomjegyzék 1.1 Hardver és szoftverkövetelmények... 2 1.2 CCL program telepítése hálózatba. Telepítés szerver számítógépre... 2 1.3 Cégek... 6 1.3.1 Egy céges felhasználás....
MOBILTELEFONON keresztüli internet telefonálás
MOBILTELEFONON keresztüli internet telefonálás A FRING egy olyan alkalmazás, aminek segítségével hívásokat tud kezdeményezni a FONIO, az internet telefon szolgáltatást felhasználva. Igen költségkímélő,
Webes alkalmazások fejlesztése
Webes alkalmazások fejlesztése 3. gyakorlat Authentikáció, adatok feltöltése Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu Authentikáció Manapság már elvárás, hogy a felhasználó regisztrálni
Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás
Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás A Mobil multimédiás kliens fejlesztői eszközkészlet létrehozása című kutatás-fejlesztési projekthez A dokumentum célja A dokumentum
Útmutató az OKM 2007 FIT-jelentés telepítéséhez
Útmutató az OKM 2007 FIT-jelentés telepítéséhez 1. OKM 2007 FIT-JELENTÉS ASZTALI HÁTTÉRALKALMAZÁS telepítése 2. Adobe Acrobat Reader telepítése 3. Adobe SVG Viewer plugin telepítése Internet Explorerhez
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
Nokia N9 - MeeGo Harmattan bemutatkozik
Nokia N9 - MeeGo Harmattan bemutatkozik Bányász Gábor 1 Az előd: Fremantle Nokia N900 2 Fremantle (aka Maemo 5) Okostelefonokra, internet tabletekre (csak ARM proc.) Debian alap
OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)
OCSP Stapling Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10) 1. Tartalomjegyzék 1. Tartalomjegyzék... 2 2. Bevezető... 3 3. OCSP Stapling támogatással rendelkező webszerverek...
Védené értékes adatait, de még nem tudja hogyan?
Védené értékes adatait, de még nem tudja hogyan? Ismerje meg az easysafe kulcs által nyújtott megoldást! Az easysafe kulcs két megoldást ötvöz az adatvédelem érdekében: 1. easydrive: titkosított adattárolásra