Előadás_#11. Előadás_11-1 -

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

Download "Előadás_#11. Előadás_11-1 -"

Átírás

1 Előadás_# Az NT belső mechanizmusai: A Windows NT kernel módú komponensei (Executive illetve Device driver) által használt legfontosabb rendszer mechanizmusok: megszakítás- és kivételkezelés objektumkezelés szinkronizáció lokális eljárás hívás (Local Procedure Calls / LPC s) Megszakítás- és kivételkezelés A megszakítások (interrupt) és a kivételek (exception) olyan műveletsorozatok, melyek hatására az éppen feldolgozás alatt lévő folyamat futásának félbehagyása történik, mivel egy magasabb prioritású igény végrehajtása válik indokolttá. A megszakítások és kivételek egyaránt lehetnek hardver vagy szoftver alapúak. A kivételek kezelését egy erre a célra szolgáló kernelmodul, a kivételkezelő (exception dispatcher) végzi. A kivételkezelő feladata a bekövetkezett kivétel beazonosítása (pl. hibás memóriacímzés, nullával való osztás, túlcsordulás, a nyomkövető programok töréspontjai), a szükséges adminisztráció elvégzése, a probléma megoldása, majd a felfüggesztett folyamat futásának folytatása. Az előbb felsorolt példák szoftveres események, melyek nyilván függetlenek az architektúra kialakításától. Az NT alapú rendszerekben létezik az úgynevezett csapda (trap) fogalma is. Ez esetben a azonban nem egy folyamat, hanem egy szál futásának a félbehagyásáról van szó. A mechanizmus végrehajtásához a CPU-t user módból kernel módba át kell váltani, majd meg kell hívni a trapkezelőt (trap dispatcher), amely azt hivatott eldönteni, hogy szoftveres úton kezelhető-e az adott probléma. Azért, hogy a szál végrehajtása az adott probléma lekezelése után folytatható legyen, a trapkezelő elvégzi a megfelelő adminisztrációt, eltárolja az operációs rendszer számára a folytatáshoz szükséges adatokat. Előadás_11-1 -

2 Objektumkezelés Az NT alapú rendszerekben az objektumok kezelését az executive egyik komponense az objektumkezelő (object manager) végzi. Feladata az objektumok előállítása, kezelése, törlése, és védelme. Az előbb felsorolt feladatokból következik, hogy az objektumkezelő tartalmazza az erőforrás kezelő műveleteket, melyek így jól definiáltan, egy helyen találhatók meg az operációs rendszeren belül. Az objektumkezelő felé támasztott igények: Biztosítson egységes mechanizmust a rendszer erőforrásainak elérésére, illetve használatára. Az objektumok kezelését, és védelmét biztosító kód egy helyen legyen. A rendszer erőforrásainak használatát optimálisan korlátozva, folyamatosan kövesse nyomon a folyamatok objektumhasználatát. Megfelelő névtérrel biztosítsa az objektumok és objektum csoportok egyértelmű azonosítását. Az NT alrendszerek által támasztott követelmények kielégítése. o A Win32 és a POSIX alrendszer esetében szempont az, hogy egy folyamat legyen képes erőforrásokat örökölni a szülő folyamattól. o Legyen lehetőség kis- és nagybetűt megkülönböztető fájlnevek használatára. Biztosítani kell az objektumok életben tartását, ami azt jelenti, hogy egy objektumnak mindaddig rendelkezésre kell hogy állnia, amíg az összes vonatkozó folyamat be nem fejezte az objektum használatát. Az NT alapú rendszerekben a következő két objektumtípust különböztetünk meg: executive objektum típus kernel objektum típus Az executive objektumok az összetettebb szerkezetűek, ezeket az executive réteg különböző komponensei hozzák létre. (a folyamatkezelő, a biztonsági alrendszer, a virtuálismemória-kezelő, az I/O-alrendszer) A kernel objektumok egyszerűbb szerkezetűek, mégis alapvető funkciókat valósítanak meg. Ilyen például a szinkronizáció, amelyet az executive objektumok is igénybe vesznek. Az executive objektumok jellemzően több kernel objektumból épülnek fel. A folyamatok az objektumokhoz egy úgynevezett handle (szószerinti jelentése fogantyú, nyél, - igazi magyar elnevezése nem használatos) igénybe vételével férhetnek hozzá. A handle tehát az objektumhoz való hozzáférési információkat tartalmazza. Tartalmilag egy összetett elérési címről van szó, ami gyakorlatilag egy Előadás_11-2 -

3 összetett pointer, aminek igénybe vételével lényegesen gyorsabban érhető el egy objektum annál, mintha az objektum nevével hivatkoznánk rá. Szinkronizáció A folyamatok szinkronizálásának alapvető eszköze a kölcsönös kizárás, különös tekintettel a nem osztott elérésű erőforrások elérésének szabályozására. A kölcsönös kizárás különösen fontos az NT alapú operációs rendszerek esetében, mivel a több CPU-s (és ezen belül is több magos CPU-k) architektúrák használatakor ez elengedhetetlen. A kernel, hogy elláthassa a több szál által is használt adatstruktúrák kezelését, a kölcsönös kizárást megvalósító alapmodulokat (a korábban már említett primitíveket) veszi igénybe. Ebben az esetben is elengedhetetlen a szinkronizáció, melyet az executive réteg biztosít, szintén a primitívek használatával. A kernel kódok végrehajtásakor a végrehajtás minden fázisában a kernelnek biztosítania kell, hogy egy kritikus szakaszt csakis egyetlen CPU (CPU mag) hajt végre. Mivel megszakítások gyakorlatilag bármikor bekövetkezhetnek, kezelésük a szinkronizáció során nem mindig oldható meg zökkenőmentesen. Amennyiben a kernel éppen egy globális adatstruktúrát módosít, előfordulhat, hogy pont egy olyan megszakítás történik, aminek a kezelő rutinja pontosan ugyanazt a globális struktúrát módosítaná. Az ilyen helyzetekben az NT alapú operációs rendszerek más megoldást alkalmaznak egy CPU mag esetén, illetve több CPU vagy CPU mag esetén. Egy CPU mag esetén az NT mozgástere kicsi. Az operációs rendszer mindössze annyit tehet, hogy a globális erőforrások használata előtt ideiglenesen letiltja azokat a megszakításokat, amelyek megszakítás kezelő programja ugyanazt a globális erőforrást venné használatba. Technikailag ez úgy történik, hogy a CPU futási szintjét a szóban forgó megszakítások közül a legmagasabb szintre emeli az operációs rendszer. Több CPU mag esetében ez nyilván nem elegendő, hiszen hiába emeli meg az operációs rendszer az egyik CPU mag prioritását, egy másik CPU mag ettől még készen állhat a megszakítás elfogadására. A kölcsönös kizárás ilyen esetben az úgynevezett lezárással (locking) garantálható, ami úgy valósítható meg, hogy a szóban forgó globális erőforráshoz tartozó spin-lock (szószerinti jelentése forgózár, - igazi magyar elnevezése nem használatos) segítségével a kernel zárolja az erőforrást. A spin-lock megszerzése után az operációs rendszer már priorizálhatja a globális erőforrás használatára jelentkező igények végrehajtási sorrendjét. Multiprocesszoros környezetben a globális adatstruktúrákhoz való hozzáférést az executive réteg komponenseinek is szinkronizálnia kell. A kernel funkciók hívásakor Előadás_11-3 -

4 is célszerű a lezárás használata. Természetesen nem szabad megfeledkezni arról sem, hogy ez szükségképpen időveszteséggel jár, hiszen a prioritási sorban elfoglalt helyének megfelelően minden folyamat több-kevesebb ideig várakozni kényszerül, sőt az összes érintett CPU mag is várakozni kényszerül. Ezért a módszer nem alkalmazható korlátozásmentesen: A lezárással védett erőforrásnak gyorsan elérhetőnek kell lennie, azaz nem lehetnek szerteágazó logikai kapcsolatai. A kritikus szakaszok nem lapozhatók ki a memóriából, nem hívhatnak külső eljárásokat (rendszerszolgáltatásokat sem), valamint nem okozhatnak se megszakítást, se kivételt. Ezek a korlátozások különösen annak figyelembe vételével, hogy az executive objektumok a kölcsönös kizárás mellett igényt tarthatnak az előidejűségre, illetve az egyidejűségre is, valamint a user folyamatokkal is megkövetelt szinkronizáció miatt nem minden esetben érvényesíthetők pusztán a spin-lock igénybevételével. Szükség van további szinkronizációs objektum kezelőkre (dispatcher object) is, melyek megfelelő függvényhívások segítségével képesek dinamikusan kezelni, azaz főleg várakoztatni a hozzáférést igénylő objektumokat (WaitForSingleObject, WaitForMultiplyObject). Az operációs rendszer a várakoztatott objektum felszabadulásakor annak típusától függően, egy vagy több várakozó folyamatot is futásra kész állapotba tehet. Lokális eljárás hívás (LPC) A lokális eljáráshívás (LPC / Local Procedure Call) a folyamatok közötti kommunikációt biztosítja gyors üzenet továbbítással. NT alapú operációs rendszerek esetében az LPC kizárólag a rendszer komponensek számára használható, így például a Win32 API-n keresztül nem érhető el. Az LPC tipikus esete az NT alapú operációs rendszerek szolgáltatásait realizáló szerver folyamatok és a kliens folyamatok közötti kapcsolattartás. LPC-kapcsolat létrehozható két felhasználói módú folyamat között, vagy egy kernel módú komponens és egy felhasználói módú folyamat között. 2. Az NT folyamatok Alapfogalmak: A program maga a végrehajtható kód. A folyamat egy végrehajtás alatt lévő program. A folyamat egy szála az, ami éppen fut egy CPU-n, és nem maga a folyamat. Minden folyamathoz tartozik legalább egy szál, ami elinduláskor elkezdi futni. Előadás_11-4 -

5 A folyamatok az NT-ben egy adott program kódját végrehajtó (egy vagy több) szálból, valamint a szálak által birtokolt erőforrásokból állnak. Az NT folyamat modellje a következő dolgokat foglalja magába: A végrehajtandó program kódját és adatait. Saját virtuális memória címteret, amit a folyamat használhat. Rendszererőforrásokat (szemaforokat, fájlokat stb.) amiket az operációs rendszer foglal a folyamat számára, amikor a folyamathoz tartozó szálak azokat megnyitják. A folyamat egyedi azonosítóját (process ID, PID). Legalább egy végrehajtható szálat. A szál az az egység (entitás) az NT-ben, amit az ütemező kezel és végrehajtásra ütemez a CPU-hoz. A szálak a következő komponensekből állnak: A szálat végrehajtó CPU regiszterei, melyek a processzor állapotát írják le. Két veremtárat (stack). Egyet a kernel módban történő programvégrehajtáshoz, egyet a felhasználói módban történő programvégrehajtáshoz. Kizárólagosan használható tárterületet a DLL-ek, run-time könyvtárak számára. A szál egyedi azonosítóját (thread ID). (Megjegyzendő, hogy a thread ID és a process ID ugyanabból a névtérből kerül ki, így egy rendszerben sohasem lehet két egyező.) A felsorolás első három elemét együttesen hívjuk a szál környezetének (thread context). Az egy folyamathoz tartozó szálak közös virtuális címtartományt használnak. Az egyes folyamatok viszont külön címtartományban futnak, csak osztott elérésű memória használata esetén lehet átfedés két folyamat által használt memóriaterület között. A folyamatok illetve egészen pontosan a folyamatokat alkotó szálak által használni kívánt memóriaterületeket természetesen a rendszertől kérni kell, le kell foglalni azokat. A memóriához hasonlóan a folyamatnak le kell foglalni a folyamat által használni kívánt erőforrásokat, amelyeket az NT objektumokként reprezentál. Minden ilyen objektumhoz a megnyitása után a folyamat a gyorsabb elérés érdekében egy ún. handle-t kap. Előadás_11-5 -

6 A rendszer erőforrásainak védelme, illetve az erőforrás használat szabályozása érdekében minden folyamat rendelkezik egy ún. elérési tokennel, mely tartalmazza a folyamat biztonsági azonosítóját, illetve a folyamat jogosultságainak leírását. Folyamatok és szálak adatstruktúrája A Windows NT executive rétege a folyamatokhoz tartozó adatokat egy ún. folyamatblokkban (EPROCESS) tárolja. Minden folyamathoz hozzárendel az NT egy ilyen adatstruktúrát a folyamat indulásakor. A blokk a folyamat kísérő adatait tartalmazza, valamint egy sereg mutatót a kapcsolódó adatstruktúrákra. Például minden folyamaton belül van egy vagy több szál, ahol a szálakat ún. executive szálblokk (ETHREAD) ír le. Az EPROCESS blokk és a hozzá tartozó adatstruktúrák a rendszer címterében helyezkednek el. Kivétel ez alól a folyamat futási környezetét leíró ún. folyamatkörnyezeti blokk (PEB / Process Environment Block), amely a folyamat címterében található. Ennek oka, hogy ez az adatstruktúra olyan információt tartalmaz, amit a felhasználói módban futó kód is megváltoztathat. Az EPROCESS blokkon felül a Win32 alrendszer folyamata is kezel egy folyamatleíró adatstruktúrát (W32PROCESS). Minden Win32 kódot végrehajtó folyamathoz tartozik egy-egy ilyen adatstruktúra. Előadás_11-6 -

7 Folyamat létrehozása Egy Win32 folyamat akkor jön létre, amikor egy alkalmazás meghívja a Win32 CreateProcess függvényét. A létrehozás több fázisból áll, amelyeket az operációs rendszer három részlete valósít meg: a Win32 kliensoldali könyvtárából a KERNEL32.DLL, a Windows NT executive, valamint a Win32 alrendszer folyamat (CSRSS). Mivel a Windows NT több környezeti alrendszert kezel, emiatt egy Windows NT executive réteg processz objektumának kezelése (amit más alrendszerek is tudnak használni) szét van választva attól a tevékenységtől, ami a Win32 folyamat létrehozásával jár. A következő felsorolás összefoglalja a Win32 CreateProcess hívásának főbb lépéseit: 1. A processzen belül végrehajtandó image-fájl (.EXE) megnyitása. 2. A Windows NT executive processz objektumának létrehozása. 3. A kezdeti szál létrehozása. 4. A Win32 értesítése az új processzről, azzal a céllal, hogy az felkészüljön az új processzre és szálra. 5. A kezdeti szál végrehajtásának elindítása. 6. Az újonan létrehozott processz és szál környezetben a címtér inicializálása (például a szükséges DLL-ek betöltése), majd a program végrehajtásának elkezdése. Előadás_11-7 -

8 A fenti lépések mindegyikére vonatkozóan az alábbi megjegyzések érvényesek: Egyetlen CreateProcess híváshoz egynél több prioritási osztály specifikálható. Ha nincs prioritási osztály specifikálva az új folyamathoz, a prioritási osztály a Normal besorolást kapja. Minden ablakot egy desktophoz rendel a rendszer. (Desktopnak nevezi az NT a felhasználó által használható grafikus környezetet. Egy munkahelyen több desktopot is képes kezelni a rendszer.) Ha a Create Processben nincs megadva, melyik desktopot használja a folyamat, akkor a folyamat automatikusan a hívó aktuális desktopjához rendelődik. Szálak kezelése Az operációs rendszer szintjén egy Windows NT szálat egy ún. executive szál blokk (ETHREAD) reprezentál. Az ETHREAD blokk és azok az adatstruktúrák, melyekre az ETHREAD blokkban tárolt pointerek mutatnak, a rendszer címtartományában találhatók, a szál környezeti blokkjának kivételével, ami a folyamat címtartományában van. (lásd előző ábra) Az ETHREAD blokkon kívül, a Win32 alrendszer folyamata is kezel egy szálleíró adatstruktúrát minden egyes szálhoz, ami egy Win32-es folyamatban jött létre. Az ábrán ez executive szálblokk felépítése látható. Az első mező a kernel szálblokk (KTHREAD). Ezt követi a szálazonosítási információ, a processzazonosítási információ, a saját processz hez tartozó pointerrel, biztonsági információ az elérési tokenre mutató pointer formájában, a megszemélyesítési információ, és végül az LPC-üzenetekre, illetve a függőben levő I/O-kérésekre vonatkozó mezők. Előadás_11-8 -

9 A KTHREAD blokk tartalmazza mindazokat az adatokat, amelyekre a kernelnek van szüksége a szálütemezés és a szinkronizáció végrehajtása érdekében. Szál létrehozása (CreateThread) Egy szál életciklusa akkor veszi kezdetét, amikor egy program új szálat hoz létre. Az erre irányuló kérés eljut a Windows NT executive-hoz, ahol a processzkezelő (elnevezése: process dispatcher) helyet jelöl ki egy szálobjektum számára, majd a kernelt hívja, a kernel szálblokk kezdeti értékeinek beállítása végett. Melyek tehát azok a lépések, amelyek a Win32 CreateThread függvénye szerint történnek a KERNEL32.DLL-ben, azzal a céllal, hogy egy Win32 szál jöjjön létre: 1. A folyamat kéréssel fordul az executive-hoz. 2. A processzkezelő elvégzi a helyfoglalást a szálobjektum számára 3. A processzkezelő meghívja a kernelt a KTHREAD kezdeti értékeinek beállítása végett. 4. A CreateThread egy felhasználói módú stacket hoz létre a szál részére, a folyamat címterében. 5. A CreateThread beállítja a kezdeti értékeket a szál hardverkapcsolataihoz. 6. Az NtCreateThread függvény hívására kerül sor, ami az executive szál objektumát hozza létre. Az ide tartozó lépések sorozata kernel módban hajtódik végre, a Windows NT executive-ján és kernelén belül. 7. A CreateThread értesíti a Win32 alrendszert az új szálról, amire az alrendszer különböző beállításokat eszközöl az új szál részére. 8. A szál összetett elérési címe (handle) és azonosítója (amik a 6. lépésben lettek generálva) visszaadódik a hívónak. 9. A szál olyan állapotba került, hogy ütemezni lehet a végre hajtását. 3. Az NT ütemezése: Alapfogalmak ismétlése, összefoglalása: Windows NT estén az ütemezés szál alapú, prioritásvezérelt, és preemptív. Folyamat (process): Egy program futásának számára biztosított, fenntartott rendszererőforrások egysége, mely nagy vonalakban a következőket tartalmazza. A program kódja, és adatai, saját virtuális címterület, operációs rendszer által hozzárendelt rendszererőforrások (szemaforok, kommunikációs portok, fájlok, stb.), egyedi azonosító, legalább egy szál. Szál (thread): Egy folyamathoz tartozó entitás, amin a program futása történik. Egy szálhoz a következő dolgok tartoznak: A processzor állapotát reprezentálandóan a regiszterek tartalma, két veremtár (kernel illetve user Előadás_11-9 -

10 módbeli futáshoz), egyedi azonosító, saját tárolóterület, ahol a szálhoz kapcsolódó információk tárolhatók. (A két vermet, a saját tárterületet és a tárolt regisztereket nevezzük a szál context-jének. Ez az egyetlen olyan publikusan elérhető adatstruktúra a Windows NT-ben, ami számítógépfüggő.) A Windows NT-ben két processzor-hozzáférési mód létezik. Az egyik a user mód, ahol a felhasználói programok futnak. Az itt futó két alkalmazás nem tudja sem egymás, sem az operációs rendszer fontos adatait módosítani, elérni. A másik a kernel mód, ahol az operációs rendszer fut. Egy kernel módban futó kód eléri a teljes memóriát, és minden processzorutasítást használhat. Megszakítási szintek (IRQL): A különböző típusú processzoroknak más a megszakítási rendszere, ezért a kernelben definiáltak egységes, hordozható megszakítási szinteket. Egy bizonyos szintű megszakítás után már nem fogadható el az aktuálisnál alacsonyabb szintű megszakítás, az aktuálisnál magasabb szintű megszakítás viszont félbeszakíthatja az aktuális megszakítás feldolgozásának menetét. Az ütemezés során az első három szinttel találkozhatunk (IRQL 0-2), melyek szoftver megszakítások (nem egy hardver eszköz váltja ki őket). (IRQL 0: a CPU egy normál kernel vagy user módú process-t futtat IRQL 1: a CPU egy asszinkron programhívást (APC) vagy laphibát futtat IRQL 2: a CPU egy halasztott eljáráshívást (DPC) és szálütemezést végez.) Mivel az ütemezés szál alapú, ezért ha egy processzben több szál fut, mint egy másik processzben, és a szálak prioritása azonos, akkor az első processznek több idő fog jutni (ha első megközelítésben úgy tekintjük, hogy minden szál azonos ideig fut). Azt, hogy egy szálnak mennyi idő áll rendelkezésre a futáshoz, egy quantum (időszelet) nevű mennyiség határozza meg. A megadott idő után a szál abbahagyja futását, majd ezután választás történik, hogy melyik szál fog futni következőnek. Az ütemezés prioritásvezérelt, vagyis az, hogy melyik szál fog futni, alapvetően a szálak prioritásától fog függeni. Egy ilyen rendszerben mindig a legnagyobb prioritású, futásra kész szál fut (eltekintve egy különleges esettől, ami többprocesszoros rendszerek esetén léphet fel.) Az ütemezés preemptív, vagyis egy szál futását az ütemező bármikor megszakíthatja, ha például egy magasabb prioritású szál lesz futásra kész. Előadás_

11 A Windows NT ütemezője a kernel kódjában szétszórva található (nincs egy kitüntetett ütemező modul). Az ütemezés jellemzői: Preemtivitás Időszelet alapú ütemezés Többprocesszoros ütemezés Többprocesszoros ütemezés esetén a cél a szálak (azaz a terhelés) egyenletes elosztása, három paraméter segítségével: processzor affinitás (a szál azon paramétere, hogy melyik processzoron fusson) ideális processzor (azaz az előnyben részesített processzor. Ha a szál külön nem kéri, akkor véletlenszerűen választódik ki a tétlen processzorok közül az, amelyiken a szál futni fog. Ha nincs tétlen processzor akkor a prioritás dönt a processzor használatról.) következő processzor (azaz a másodlagosan preferált processzor, jellemzően az, amin a szál legutóbb futott) Az ütemezéssel kapcsolatos rutinok (összefoglaló néven: diszpécser) IRQL2 esetén futnak, és a következő események válthatják ki a működésüket: egy szál futásra késszé válik (új szál, vagy wait állapotból kikerülő szál) egy szál abbahagyja a futást (terminálódik, wait állapotba kerül, lejár az időszelete) egy szálnak változik a prioritása (rendszerhívás változtatja meg, vagy az operációs rendszer módosítja) egy szálnak változik a processzor affinitása A quantum Minden szálnak van egy időszelete (quantum), melynek lejárta után mindenképpen abba kell hagynia a futást. Ezután újbóli döntés születik, hogy melyik szál legyen a következő, amely futni fog. Egy kvantum tehát az az időtartam, amennyit egy szál futhat, mielőtt a Windows NT megszakítja a szálat azért, hogy kiderítse, nem vár-e futásra egy másik szál ugyanakkora prioritással, vagy pedig nincs-e szükség a megszakított szál prioritásának csökkentésére. Az is lehetséges, hogy egy szál el sem jut a kvantumja végéig, a preemptív ütemezés következtében. Azaz ha egy másik szál, nagyobb prioritással, futásra kész állapotba kerül, a futásban levő szál ki lesz szorítva a saját időszelete lejárta előtt. Ezen felül még az is előfordulhat, hogy Előadás_

12 egy szál futásra lesz kiválasztva, és még azelőtt leállítódik, hogy elkezdené a kvantumját. Minden szálhoz nyilvántart a rendszer egy quantum-érték -et, mely nem időegység, hanem inkább egy darabszám. Ez a quantum-érték alapállapotban Windows NT Workstation esetén 6, Windows NT Server esetén 36. Server esetében azért nagyobb ez az érték, mert az a feltételezés, hogy ennyi idő alatt legtöbbször befejezhető egy kliens kiszolgálása, és a szerver program visszatérhet a várakozó állapotába. Minden óra megszakítás esetén a futó szálnak 3-mal csökken a quantum-értéke. Ha eléri a 0-t, akkor lejárt az időszelet. (Az óra megszakítások közti idő rendszerenként változhat, ezzel együtt az időszelet hossza is.) Windows NT Workstation esetén az előtérben futó alkalmazás szálainak quantumértéke nagyobb lehet a többi szálénál. Processzor Óraciklus ms NT Workstation Quantum Időszelet ms NT Server Quantum Időszelet ms Pentium és feljebb DEC AXP 7, , ,75 Prioritási szintek Amikor prioritási szintekről beszélünk, két dolgot különböztethetünk meg. Az egyik az a prioritás, mely a Windows alatt a programozó által elérhető, és a Windows API-n keresztül állítható be. A másik, mely a kernel belső ábrázolásában használatos, ehhez csak a kernel folyamatai férnek hozzá közvetlenül. Az API-ból beállított érték végül is egy ilyen értékké képeződik le. A Windows API-ból a következőképpen állíthatjuk a prioritást. Egy processznek adhatunk egy prioritási osztályt, amivel a processzünk fontosságát fejezhetjük ki. Ezen kívül a processzhez tartozó minden szálnak megadhatunk egy prioritást, mely a processzen belüli, szálak közötti fontosságot jelképezi. Előadás_

13 Az API-ból beállított prioritásból végül is minden szálra képződik egy 0 és 31 közötti érték, mely a processz és a szál megadott prioritásának kombinációjaként jön létre a következő, fentebb említett leképezés alapján: Processz prioritási osztályok Real-time High Normal Idle Time critical Highest Above normal Szál prioritási szintek Normal Below normal Lowest Idle A prioritási szintek három csoportra oszthatók valós idejű szintek változó szintek 0 zero szint (a táblázatban nem szerepel) Az első a real-time processz prioritási csoportban használatos értékek, vagyis 16-tól 31-ig terjedő prioritásértékek. Ha egy szálnak ilyen a prioritása, akkor azt az operációs rendszer nem módosítja. A real-time, azaz a valós idő a gyakorlatban nem feltétlenül garantálható. A másik csoport az 1-től 15-ig lévő tartomány, ahol is az operációs rendszer ezen a tartományon belül módosíthatja a szál aktuális prioritásának értéket egy időre, a megadott érték csak egy alapérték. A módosítás csak ebben a tartományban történhet, vagyis egy szál sohasem kerülhet fel ilyen módosítás során a lévő csoportba. A módosítás lehet emelés (éheztetés vagy I/O folyamat vége után) illetve csökkentés (a szál futásának megszakítása után). A harmadik csoport valójában nem is csoport, csak egy különálló érték, a 0 prioritás. Ez igazából egy szálhoz sem tartozhat, nem is szerepel a fenti táblázatban, hanem processzoronként egy darab látszólagos szálat rendel hozzá a rendszer, melyet a Task Manager-ben System Idle Process néven találhatunk meg. Alapvetően minden szál normál prioritással kezdi a futását. Előadás_

14 A szálak állapotai Egy szálnak a következő állapotai lehetnek az ütemezés során: Initialized Egy újonnan létrejött szál objektum inicializálása, vagy egy már terminálódott szál objektumának újrainicializálása során kerül a szál ebbe az állapotba. Innen a megfelelő ready sorba helyeződik el, és ready állapotba kerül. Ready Azok a szálak, melyek futásra készek, csak arra várnak, hogy sorra kerüljenek. A terminated állapot kivételével bármelyik másik állapotból ide kerülhet a szál, de innen csak a standby állapotba kerülhet. Standby Minden processzorhoz egy ilyen szál tartozhat, amely már ki van választva futásra, de még nem fut, mert pl. maga az ütemező ezen a proceszoron kerül végrehajtásra. Közvetlenül a ready állapotból kerülhet ide egy szál, és vagy a running állapotba, vagy egy magasabb prioritású szál megjelenése esetén a ready állapotba kerülhet innen a szál. Running A szál éppen végrehajtás alatt van. Vagy standby állapotból kerülhet ide a szál, vagy egy várakozás befejeztével. Az állapotból vagy terminálódik, vagy wait állapotba kerül, vagy ready állapotba kerül a szál (preemptálódás vagy időszelet lejárta esetén). Waiting A szál wait állapotba kerül, ha valamilyen szinkronizációs objektumra, vagy I/O műveletre vár. A várakozás véget értével a szál a prioritásától függően visszakerülhet running állapotba, vagy ready állapotba vagy transition állapotba. Transition Ebbe az állapotba csak akkor kerülhet egy szál, ha a szál kernel verme kilapozódott a memóriából a várakozás közben; a verem visszalapozása után a szál ready állapotba kerül. Terminated A szál befejezte a futását. Ezután vagy törölhető a szál objektum, vagy újrainicializálható Előadás_

Operációs rendszerek. Az NT folyamatok kezelése

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

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

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

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

Operációs rendszerek. Windows NT. A Windows NT

Operációs rendszerek. Windows NT. A Windows NT Operációs rendszerek Windows NT A Windows NT Felépítésében is új operációs rendszer: New Technology (NT) 32-bites Windows-os rendszerek felváltása Windows 2000: NT alapú 1 Operációs rendszerek felépítése

Részletesebben

Operációs rendszerek III.

Operációs rendszerek III. A WINDOWS NT memóriakezelése Az NT memóriakezelése Memóriakezelő feladatai: Logikai-fizikai címtranszformáció: A folyamatok virtuális címterének címeit megfelelteti fizikai címeknek. A virtuális memóriakezelés

Részletesebben

Operációs rendszerek. A Windows NT felépítése

Operációs rendszerek. A Windows NT felépítése Operációs rendszerek A Windows NT felépítése A Windows NT 1996: NT 4.0. Felépítésében is új operációs rendszer: New Technology (NT). 32-bites Windows-os rendszerek felváltása. Windows 2000: NT alapú. Operációs

Részletesebben

(kernel3d vizualizáció: kernel245_graph.mpg)

(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

Részletesebben

Operációs rendszerek. Az NT memóriakezelése

Operációs rendszerek. Az NT memóriakezelése Operációs rendszerek MS Windows NT (2000) memóriakezelés Az NT memóriakezelése 32-bites virtuális memóriakezelés: 4 GB-os címtartomány, alapesetben: a fels! 2 GB az alkalmazásoké, az alsó 2 GB az OPR-é.

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás: 2011. 09. 08. 1 A tantárggyal kapcsolatos adminisztratív kérdésekkel Micskei Zoltánt keressétek. 2 3 4 5 6 7 8 9 10 11 12 13 14 Erősen buzzword-fertőzött terület, manapság mindent szeretnek

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

Operációs Rendszerek II.

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

Részletesebben

Az operációs rendszer szerkezete, szolgáltatásai

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

Részletesebben

Matematikai és Informatikai Intézet. 4. Folyamatok

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

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

Konkurens TCP Szerver

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ó

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

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. Folyamatok ütemezése

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,

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás: 2012. 09. 06. 1 A tantárggyal kapcsolatos adminisztratív kérdésekkel Micskei Zoltánt keressétek. 2 3 4 5 6 7 8 9 Forrás: Gartner Hype Cycle for Virtualization, 2010, http://premierit.intel.com/docs/doc-5768

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

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é 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

Részletesebben

Előadás_#02. Előadás_02-1 -

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

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

A Windows NT tulajdonságai. Operációs rendszerek. Az NT története. Az NT története. Az NT felépítése. Az NT felépítése

A Windows NT tulajdonságai. Operációs rendszerek. Az NT története. Az NT története. Az NT felépítése. Az NT felépítése A Windows NT tulajdonságai Operációs rendszerek A Microsoft Windows NT 1 Bevezetés Felépítése Processzkezelés Ütemezés Többfelhasználós Multitasking / multithreading Virtuális memória / memória védelem

Részletesebben

Folyamatok. 6. előadás

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

Részletesebben

Balogh Ádám Lőrentey Károly

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

Részletesebben

Az interrupt Benesóczky Zoltán 2004

Az interrupt Benesóczky Zoltán 2004 Az interrupt Benesóczky Zoltán 2004 1 Az interrupt (program megszakítás) órajel generátor cím busz környezet RESET áramkör CPU ROM RAM PERIF. adat busz vezérlõ busz A periféria kezelés során információt

Részletesebben

Operációs Rendszerek II.

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

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

Ü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

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

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

Részletesebben

Operációs rendszerek MINB240

Operációs rendszerek MINB240 Operációs rendszerek MINB240 Ismétlés. előadás Processzusok 2 Alapvető hardware komponensek CPU Diszk Diszk kezelő Diszk Memória kezelő (Controller) Memória Nyomtató Nyomtató kezelő Rendszer busz 3 Alapvető

Részletesebben

PROJEKTLABOR PÁRHUZAMOS ÉS ELOSZTOTT RENDSZEREK OPERÁCIÓS RENDSZEREI

PROJEKTLABOR PÁRHUZAMOS ÉS ELOSZTOTT RENDSZEREK OPERÁCIÓS RENDSZEREI Írta: Rövid András Lektorálta: oktatói munkaközösség PROJEKTLABOR PÁRHUZAMOS ÉS ELOSZTOTT RENDSZEREK OPERÁCIÓS RENDSZEREI PÁRHUZAMOS SZÁMÍTÁSTECHNIKA MODUL PROAKTÍV INFORMATIKAI MODULFFEJLESZTÉS 1 COPYRIGHT:

Részletesebben

Windows 8 2012.10.26 Windows Server 2012 2012.09.04 6.3 9600

Windows 8 2012.10.26 Windows Server 2012 2012.09.04 6.3 9600 Előadás_#10. 1. Az NT kialakulása A Windows NT (New Technology) a Microsoft cég új generációs, eredetileg vállalati felhasználókat megcélzó operációs rendszerének az elnevezése. A Windows NT operációs

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 II. Folyamatok ütemezése

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

Részletesebben

Bevezetés a számítástechnikába

Bevezetés a számítástechnikába Bevezetés a számítástechnikába Megszakítások Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 9. Bevezetés Megszakítások

Részletesebben

UNIX ütemezése. Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés. Algoritmus követelményei. UNIX ütemezés jellemzése

UNIX ütemezése. Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés. Algoritmus követelményei. UNIX ütemezés jellemzése UNIX ütemezése Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés Meglehetősen összetett algoritmus Rendszerjellemzők: Többfelhasználós Interaktív és batch programokat egyaránt futatható

Részletesebben

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ű.

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

Részletesebben

Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés. UNIX ütemezése. Algoritmus követelményei. 4.

Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés. UNIX ütemezése. Algoritmus követelményei. 4. Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés 4. előadás Ütemezés Operációs rendszerek MINB240 1 UNIX ütemezése Meglehetősen összetett algoritmus Rendszerjellemzők: Többfelhasználós

Részletesebben

Operációs rendszerek

Operációs rendszerek Operációs rendszerek 2. EA Regiszter: A regiszterek a számítógépek központi feldolgozó egységeinek (CPU-inak), illetve mikroprocesszorainak gyorsan írható-olvasható, ideiglenes tartalmú, és általában egyszerre

Részletesebben

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely

Részletesebben

SAP vállalatirányítási rendszer alapjai

SAP vállalatirányítási rendszer alapjai SAP vállalatirányítási rendszer alapjai 2. előadás SAP technológiai alapok 2010.09.26. 1 SAP vállalatirányítási rendszer alapjai /2 Tantárgy kódja: VEMI5344i Tanév: 2009/10-1.félév Előadó: dr. Varga Ernő,

Részletesebben

Dr. Schuster György október 3.

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

Részletesebben

Előadás_# Az első ZH megírása

Előadás_# Az első ZH megírása Előadás_#05. 1. Az első ZH megírása 2. Szinkronizáció [OR_02_Folyamatok_zs.ppt az 57-114. diáig / nem minden diát érintve] Azok a folyamatok, melyek egymástól nem függetlenek, azaz valamilyen függőség

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

Előadás_#03. Előadás_03-1 -

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

Részletesebben

OPERÁCIÓS RENDSZEREK. Elmélet

OPERÁCIÓS RENDSZEREK. Elmélet 1. OPERÁCIÓS RENDSZEREK Elmélet BEVEZETÉS 2 Az operációs rendszer fogalma Az operációs rendszerek feladatai Csoportosítás BEVEZETÉS 1. A tantárgy tananyag tartalma 2. Operációs rendszerek régen és most

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

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

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC ADATBÁZISOK Adatbázis = adott formátum és rendszer szerint tárolt adatok összessége. DBMS feladatai: adatstruktúra (adatbázisséma)

Részletesebben

Alkalmazások típusai Szoftverismeretek

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á

Részletesebben

Tartalom. Történeti áttekintés. Történeti áttekintés 2011.03.23. Architektúra DCOM vs CORBA. Szoftvertechnológia

Tartalom. Történeti áttekintés. Történeti áttekintés 2011.03.23. Architektúra DCOM vs CORBA. Szoftvertechnológia Tartalom D Szoftvertechnológia előadás Történeti áttekintés Architektúra D vs CORBA 2 Történeti áttekintés 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is

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

Elosztott rendszer architektúrák

Elosztott rendszer architektúrák Elosztott rendszer architektúrák Distributed systems architectures Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 12. Andrew S. Tanenbaum, aarten van Steen: Distributed Systems: rinciples

Részletesebben

Előadás_#12. Előadás_12-1 -

Előadás_#12. Előadás_12-1 - Előadás_#12. 1. Az NT alapú rendszerek memóriakezelése A Windows feladatkezelő (a Teljesítmény fülön) információt ad a memória állapotáról (is) a felhasználó számára a következők szerint. A Fizikai memória

Részletesebben

Dr. Mileff Péter

Dr. Mileff Péter Dr. Mileff Péter 1 2 1 Szekvencia diagram Szekvencia diagram Feladata: objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé

Részletesebben

Windows Windows Server

Windows Windows Server Előadás_#10. 1. Az NT kialakulása A Windows NT (New Technology) a Microsoft cég új generációs, eredetileg vállalati felhasználókat megcélzó operációs rendszerének az elnevezése. A Windows NT operációs

Részletesebben

A Java EE 5 plattform

A Java EE 5 plattform A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési

Részletesebben

OE-NIK 2010/11 ősz OE-NIK. 2010. ősz

OE-NIK 2010/11 ősz OE-NIK. 2010. ősz 2010/11 ősz 1. Word / Excel 2. Solver 3. ZH 4. Windows 5. Windows 6. ZH 7. HTML 8. HTML 9. ZH 10. Adatszerkezetek, változók, tömbök 11. Számábrázolási kérdések 12. ZH 13. Pótlás A Windows felhasználói

Részletesebben

Windows történet. 1985 Windows 1.0. DOS kiegészítő Grafikus felület

Windows történet. 1985 Windows 1.0. DOS kiegészítő Grafikus felület Windows 1985 Windows 1.0 DOS kiegészítő Grafikus felület 1987 Windows 2.0 Átlapoló ablakok Utolsó lemezekre telepíthető verzió 1990 Windows 3.0 VGA felbontás (640x480), 16 szín Monokróm üzemmód is van,

Részletesebben

ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL

ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL nexonbér elektronikus munkabérjegyzék modul Kiszámolta már valaha, hogy mennyibe kerül egyetlen munkavállaló egyetlen havi munkabérjegyzéke (a nyomtatás, a borítékolás

Részletesebben

Programozás C++ -ban 2007/7

Programozás C++ -ban 2007/7 Programozás C++ -ban 2007/7 1. Másoló konstruktor Az egyik legnehezebben érthető fogalom C++ -ban a másoló konstruktor, vagy angolul "copy-constructor". Ez a konstruktor fontos szerepet játszik az argumentum

Részletesebben

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer 1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek ----------------------------------------- Könyvtár szerkezet -----------------------------------------

Részletesebben

BioAdmin 4.1 könnyű telepítés csak Kliens használatra

BioAdmin 4.1 könnyű telepítés csak Kliens használatra 1 BioAdmin 4.1 könnyű telepítés csak Kliens használatra A BioAdmin 4.1 programot szerver-kliens működésre fejlesztették, de ennek a leírásnak a használatával feltelepíthető a számítógépre normál (csak

Részletesebben

Elosztott rendszerek

Elosztott rendszerek Elosztott rendszerek NGM_IN005_1 Konkurrens folyamatok Folyamat koncepció Adatok (információ reprezetáció) M!veletek (input->output) Számítás (algoritmus) Program (formális nyelv) Folyamat (végrehajtás

Részletesebben

Java programozási nyelv 9. rész Kivételkezelés

Java programozási nyelv 9. rész Kivételkezelés Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék

Részletesebben

Számítógép architektúra

Számítógép architektúra Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek

Részletesebben

Előadás_#06. Előadás_06-1 -

Előadás_#06. Előadás_06-1 - Előadás_#06. 1. Holtpont, Éheztetés [OR_04_Holtpont_zs.ppt az 1-48. diáig / nem minden diát érintve] A holtpont részletes tárgyalása előtt nagyon fontos leszögezni a következőt: Az éheztetés folyamat szintű

Részletesebben

Dr. Schuster György október 14.

Dr. Schuster György október 14. Real-time operációs rendszerek RTOS 2011. október 14. A fordítás vázlata prog.c Előfeldolgozó Átmenti állomány Fordító prog.obj más.obj-tek könyvtárak indító kód Linker futtatható kód Ismétlés Előfeldolgozó

Részletesebben

Hálózati operációs rendszerek II.

Hálózati operációs rendszerek II. Hálózati operációs rendszerek II. Novell Netware 5.1 Web-es felügyelet, DNS/DHCP szerver, mentési alrendszer 1 Web-es felügyelet Netware Web Manager HTTPS protokollon keresztül pl.: https://fs1.xy.hu:2200

Részletesebben

A mai program OPERÁCIÓS RENDSZEREK. A probléma. Fogalmak. Mit várunk el? Tágítjuk a problémát: ütemezési szintek

A mai program OPERÁCIÓS RENDSZEREK. A probléma. Fogalmak. Mit várunk el? Tágítjuk a problémát: ütemezési szintek A mai program OPERÁCIÓS RENDSZEREK A CPU ütemezéshez fogalmak, alapok, stratégiák Id kiosztási algoritmusok VAX/VMS, NT, Unix id kiosztás A Context Switch implementáció Ütemezés és a Context Switch Operációs

Részletesebben

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 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

Részletesebben

Biztonságos mobilalkalmazás-fejlesztés a gyakorlatban. A CryptTalk fejlesztése során alkalmazott módszerek. Dr. Barabás Péter Arenim Technologies

Biztonságos mobilalkalmazás-fejlesztés a gyakorlatban. A CryptTalk fejlesztése során alkalmazott módszerek. Dr. Barabás Péter Arenim Technologies Biztonságos mobilalkalmazás-fejlesztés a gyakorlatban A CryptTalk fejlesztése során alkalmazott módszerek Dr. Barabás Péter Arenim Technologies Agenda CryptTalk Hálózati kommunikáció Authentikált kérések

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-2008 Tartalomjegyzék Hardver, szoftver igények GeoEasy telepítése A hardverkulcs Hálózatos hardverkulcs A GeoEasy indítása

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás:2011. 09. 29. 1 2 4 5 MMU!= fizikai memóriaillesztő áramkör. Az utóbbinak a feladata a memória modulok elektromos alacsonyszintű vezérlése, ez sokáig a CPU-n kívül a chipset északi hídban

Részletesebben

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal.

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal. Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal.hu. 1 Tartalom 1. BEVEZETŐ... 3 1.1 Architektúra (terv) felülvizsgálat...

Részletesebben

Dr. Schuster György október 30.

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

Részletesebben

Számítógépek felépítése

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

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

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

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/

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/ 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

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon Mi az IMDG? Nem memóriában futó relációs adatbázis NoSQL hagyományos relációs adatbázis Más fajta adat tárolás Az összes adat RAM-ban van, osztott

Részletesebben

vialan OS-103 vonalfordító készülék kezelési útmutató

vialan OS-103 vonalfordító készülék kezelési útmutató vialan OS-103 vonalfordító készülék kezelési útmutató A készülék szabványos (FXS) telefonvonalak összekapcsolására szolgál. A készülékhez 9V és 20V közötti váltakozó- vagy egyenfeszültségű tápegység csatlakoztatható

Részletesebben

Kivételkezelés a C++ nyelvben Bevezetés

Kivételkezelés a C++ nyelvben Bevezetés Kivételkezelés a C++ nyelvben Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Kivételkezelés a C++ nyelvben CPP9 / 1 Hagyományos hibakezelés Függvény visszatérési értéke (paramétere) hátrányai:

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

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

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat

Részletesebben

Fábián Zoltán Hálózatok elmélet

Fábián Zoltán Hálózatok elmélet Fábián Zoltán Hálózatok elmélet Tűzfal fogalma Olyan alkalmazás, amellyel egy belső hálózat megvédhető a külső hálózatról (pl. Internet) érkező támadásokkal szemben Vállalati tűzfal Olyan tűzfal, amely

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

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

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

Részletesebben

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról Az Informatikai Igazgatóság minden aktív egyetemi hallgató és munkaviszonnyal rendelkező egyetemi dolgozó részére úgynevezett proxy

Részletesebben

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek - 105 1. oldal LINUX

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek - 105 1. oldal LINUX 1. oldal LINUX 2. oldal UNIX történet Elozmény: 1965 Multics 1969 Unix (Kernighen, Thompson) 1973 Unix C nyelven (Ritchie) 1980 UNIX (lényegében a mai forma) AT&T - System V Microsoft - Xenix Berkeley

Részletesebben

A programozás alapjai

A programozás alapjai A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,

Részletesebben

Operációs rendszerek MINB240

Operációs rendszerek MINB240 Szemaforok Operációs rendszerek MINB24 3. előadás Ütemezés Speciális változók, melyeket csak a két, hozzájuk tartozó oszthatatlan művelettel lehet kezelni Down: while s < 1 do üres_utasítás; s := s - 1;

Részletesebben

Máté: Számítógép architektúrák 2010.12.01.

Máté: Számítógép architektúrák 2010.12.01. Máté: Számítógép architektúrák... A feltételes ugró utasítások eldugaszolják a csővezetéket Feltételes végrehajtás (5.5 5. ábra): Feltételes végrehajtás Predikáció ió C pr. rész Általános assembly Feltételes

Részletesebben

ArcGIS for Desktop 10.x License Borrowing (kölcsönzés) beállítása

ArcGIS for Desktop 10.x License Borrowing (kölcsönzés) beállítása ArcGIS for Desktop 10.x License Borrowing (kölcsönzés) beállítása 1. A dokumentum célja Az alábbi leírás az ArcGIS for Desktop szoftver Concurrent Use License típusának kölcsönzési (borrowing) folyamatát

Részletesebben

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor A szotverarchitektúra fogalma A szoftverarchitektúra nagyon fiatal diszciplína. A fogalma még nem teljesen kiforrott. Néhány definíció: A szoftverarchitektúra

Részletesebben