OPERÁCIÓS RENDSZEREK. A mai program. A CPU által végrehajtott instrukciófolyam. A folyamat kontextus, processz menedzsment, processz állapotok

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

Download "OPERÁCIÓS RENDSZEREK. A mai program. A CPU által végrehajtott instrukciófolyam. A folyamat kontextus, processz menedzsment, processz állapotok"

Átírás

1 OPERÁCIÓS RENDSZEREK A folyamat kontextus, processz menedzsment, processz állapotok A mai program A processz és a processz kontextus fogalmak Kontextus váltás (processz rendszer processz kontextus) Processz kontroll, rendszerhívásai Processz állapotok, állapotátmenetek, futási mód A taszk, processz, fonál fogalmak Vadász 2 A CPU által végrehajtott instrukciófolyam Hogyan működik a számítógép: a CPU veszi a soron következő instrukciót és végrehajtja Van képzetünk az instrukciófolyamról. Ez struktúrálatlan. A HW ad egy struktúráltságot: felhasználói módban/kernel módban végrehajtott instrukciófolyam szakaszok vannak. Köztük a trap és a visszaállítás. Vadász 3 1

2 Az instrukciófolyam másik struktúrálása Logikailag szakaszoljuk az instrukciófolyamot Egy adott program futásához tartozó instrukciófolyam a kezdetétől a végéig egy szakasz Ez a job/taszk/processz Ez a szakaszolás nem következik a hardverből Ezt a szakaszolást az OS végzi A processzhez persze az instrukciófolyamon kívül az adatai (és még további információk) is hozzátartoznak... Vadász 4 A folyamat fogalma A folyamat (processz, taszk) egy végrehajtási példánya egy párhuzamosságot nem tartalmazó végrehajtható programnak. Processz végrehajtható program Pongyolán: processzben fut a program. A processzhez dedikált PC tartozik, ami egyetlen helyre tud mutatni a program szövegben Vadász 5 Folyamat tartalom (Process Context) A folyamat kontextus: adatstruktúrákba rendezve minden olyan információ, ami a folyamat futásához szükséges. Minden olyan információ, ami a rendszer számára szükséges, hogy a CPU-t a folyamatok között kapcsolja, a folyamatok szekvencialitásának illúzióját biztosítva. Tartalom szerint: - a program kódszegmensei (instrukciók sorozatai), - a program adatszekciói (inicializált adatszekciók, konstans szekciók stb.), - a processz veremtárai, -a processz menedzselési információi (állapotokat leíró, számlázási, hozzáférési stb. információk, erőforrás leírók) -Regisztertartalmak. Vadász 6 2

3 A processz kontextus Egy szemléletmód: hardver kontextus: HW regiszterek, MMU regiszterek stb. (volatile context/environment) szoftver kontextus (Address space) Egy másik szemléletmód: felhasználói szintű kontextus, amit a felhasználói címtartomány (User Level Address Space) címez rendszer szintű kontextus (System Address Space) Vadász 7 Futási mód - kontextus - címtartomány Emlékezz: módváltás=trap/kivételes esemény/it User mód User Address Space Kernel mód Kernel Address Space Processz kontextus (program, adat, verem) Admin. adatok Kivétel kezelők, szolgáltató rutinok stb. A processz javára System Stacks, IT handlerek, ütemező stb. Vadász 8 Futási mód - kontextus -címtartomány A processz címtartományának Egy része a felhasználói címtartomány. Processzenként szétválasztott memóriaterületet címez. Egy része kernel szintű címtartomány. Minden processz ugyanazt a kernel memóriarészt címezi Fontosak az MMU regiszterek (VM címleképzéshez). Ezek is részei a processz kontextusnak. Fontos fogalom a futó processz (kurrens) MMU regiszterei segítik a címleképzést Vadász 9 3

4 Egy kérdés, és a válasz Van már fogalmunk a processz címtartományairól és a kontextusáról. Mi van a kernel kóddal? Az tartozik valamilyen kontextushoz? A válasz: Bizonyos kernel szolgáltatások kliens-szerver módban, önálló processzekként teljesítődnek. Saját processz kontextusuk van, IPC-vel kérhetők szolgáltatásaik. Mások: rutinok a kernelben Egyes rutinok a futó processz javára dolgoznak (sycall, kivételkezelők) Az IT kezelőknek (valószínűleg) nincs közük a futó processzhez. Lehet, nincs is futó processz. Vadász 10 Tovább a válasz A futó processz javára dolgozó kernel rutinok a processz kontextusán (fölötte) futnak Ekkor a kernel közvetlenül elérheti a futó processz kontextusának elemeit A független processz modellből levezethető tárgyalásban a kernel kódok, adatok nem is részei a processz kontextusnak (fölötte fut). De egy másik tárgyalásmód szerint részei (kontextusán fut) Az IT kezelők semmiképp nem részei egyetlen processz kontextusnak sem. Nem processz kontextusban futnak, minden processz kontextusa fölött: rendszer kontextusban Vadász 11 Tovább a válasz Tárgyaljuk így: A CPU futhat egy processz kontextusán (kontextusában) Felhasználói módban: a program kódját futtaja Kernel módban: Sycall rutint, kivételkezelőt futtat. Ezek közvetlenül elérhetik a processz címtartományát A CPU futhat rendszer kontextusban Kernel módban: IT kezelést végez, tevékenysége nem köthető egy processzhez (sem). Valamely processz kontextusa csak közvetetten érhető el. Van processz kontextus váltás (két processz közti akció), és van processz kontextusról rendszer kontextusra való váltás: egyszerű kontextus váltás (futó processz MMU regiszterei helyett rendszer MMU regiszterek betöltődnek, ez olcsóbb ) fogalom Vadász 12 4

5 A processz kontextus adatstruktúrái Process Table Entry (kernel címtartományban) a processz kreáláskor keletkezik, nem kisöpörhető: rezidens, "statikus" adatokat tartalmaz (melyek a processz létezését jelzik, de nem elegendőek a futásához): azonosítók (pid, pname, statikus kvóták, attributumok), kód és adatszegmens pointerek és hosszok, vermek hossza stb. Processz leíró (Process Descriptor) a processz futtathatóvá válásakor keletkezik, esetleg kisöpörhető: nem feltétlenül rezidens, "dinamikus" adatokat tartalmaz (melyek a processz futásához is kellenek): volatile kontextus (regisztertartalmak: PC, PSW stb.), ütemezési, számlázási, állapot információk, vermek pointerei stb. Vadász 13 A processz kontextus adatstruktúrái A kiinduló pont A processz tábla (Process Table) A kernel által kezelt, adott méretű táblázat (array of structure), melynek egy-egy bejegyzése egy-egy processz vezérlő blokk (process table entry). A tábla mérete kritikus. Mi történne, ha betelne? Processz vezérlő blokk (Process Control Block) folyamat azonosítási információi (pid, ppid, pname) folyamat számlázási információi (CPU használat stb.) időkiosztással (scheduling) kapcsolatos információk erőforrás használati határértékek (limitek, kvóták) mutatók a kontextus további részeire stb. next/prev pointerek láncolt listákhoz. ( Más elnevezések is lehetnek) Vadász 14 Unix processz kontextus adatstruktúrái u-area Processzenkénti region table Közös region table Process Table proc-structure Memória Vadász 15 5

6 Unix processz kontextus adatstruktúrái Proc structure (olyan adatok, melyek akkor is kellenek, ha kisöprött a processz) uid, gid, pid, ppid (azonosítók) program méret, memóriaigény állapotjelzők a memóriamenedzseléshez, a globális ütemezéshez szignál mezők stb. U area (1K-4K)(kisöpörhető, kilapozható; olyan információk, melyek akkor kellenek, ha a processz nincs kisöpörve) user structure + mutató a kernel veremre erőforrás limitek, kvóták, default eszköz, dir, terminál nyitott I/O folyamok leírói, idő, számlázási információk az ütemezéshez stb. Vadász 16 Unix processz kontextus komponensek A kontextus statikus része Felhasználói szintű kontextus Program szöveg Adatok Veremtár Osztott adatok Rendszer szintű kontextus statikus része Process Table bejegyzése U Area Processzenkénti Region Table A kontextus dinamikus (volatile)része Keret a 3. rétegnek Keret a 2. rétegnek Keret az 1. rétegnek Felhasználói szint Vadász 17 Összefoglalás Vettük a processz fogalmat, szétválasztva a program - processz fogalmakat. a processz kontextus fogalmat tartalom szerint, adatstruktúráival, címtartományok szerint. Kérdés: miért jó a processz koncepció? Milyen előnye van? Vadász 18 6

7 Folyamatok vezérlése (Process Control, Process Management) A folyamatok születnek, élnek, valamilyen feladatot végeznek, versenyeznek erőforrásokért, osztoznak erőforrásokon, kommunikálnak, együttműködnek, szinkronizáció köztük. Végül exitálnak. Általában processzt csak processz kreálhat. Így: szülő - gyermek kapcsolat lehet közöttük. Van ősszülő processz. (Lehetnek a rendszer betöltéskor keletkező processzek, amiknek nincs szülője.) Vadász 19 A processzek élete Szülő folytatja futását gyermekével párhuzamosan Szülő megvárja, amíg gyermekei befejeződnek A szülő és gyermeke osztozik az erőforrásokon Részben, alig, vagy egyáltalán nem osztoznak Processzek együttműködése Független processzek (nincs hatásuk egymásra) Kooperáló/versenyző processzek Vadász 20 A független processz modell A kernel saját virtuális gépet biztosít minden processznek. Ezen a processz szekvenciálisan fut. Saját időtere van, csak ezt látja Egy rendszerhívás a virtuális gép egy virtuális instrukciója. Saját időterében megszakíthatatlan. A kivételes esemény, a megszakítás a virtuális gép számára esemény, le tudja kezelni. Nem szükségesek a processz állapot, állapotváltás, az ütemezés, módváltás fogalmak sem Ez egy idealizált modell. Nem igaz, hogy a processzeknek nincs hatásuk egymásra Vadász 21 7

8 A kooperáció A kooperáció kiváltó oka Információ osztás, pl. közös fájlok stb. Sebesség növelés. Feltétel: több CPU, vagy I/O csatorna Modularitás (bonyolult rendszerek dekompozíciója) Kényelem (pl. editál-fordít párhuzamosan a felhasználó) Mit kíván a kooperáció? Processzek közötti kommunikációs mechanizmusokat (IPC mechanizmusokat). Kölcsönös kizárási mechanizmusokat. Vadász 22 Processz kontroll rendszerhívások Processz kreáció hívásai fork(), vfork(), system(), clone() LINUX, ptrace() Statikus kontextus megváltoztatása execl(), execlp(), execle(), execv(), execvp() Processz terminációval kapcsolatos hívások exit(), _exit(), abort() (a szignálkezelők is terminálhatnak) atexit(), on_exit() // terminációt befolyásoló hívások wait(), waitpid() // terminációt kiváró hívások Segítő hívások sleep(), pause(), szignálkezelések, attribútum lekérdezések és beállítások stb. Vadász 23 Processz kreáció A kernel elkészíti a processz tábla bejegyzést; memóriát biztosít a kód és adatszegmenseknek, inicializál; elkészíti a processz leírót, memóriát biztosít a vermeknek; Elkészíti a regiszter kontextust (a PC értéket kap); futtatható állapotba teszi a processzt. Vadász 24 8

9 Processz befejeződés Az exit/return rendszerhívás család egyik tagjának meghívása, vagy a vezérlésnek a main függvény utolsó utasításának végrehajtása a normális termináció A termináció során háztartási munka folyik, Az atexit() és on_exit() hívásokkal befolyásolhatjuk ezt. Néhány mozzanat a háztartási munkából: Processz szignáloz a szülőjének, hogy exitál; Gyermekeit átadja más processznek, hogy azok legyenek s szülők; (Esetleg) leszármazottainak szignáloz (pl. üléslétesítő processz SIGHUP szignált küld). Az abort() rendszerhívás erőszakosan terminálja hívóját. A szignálok (az alapértelmezési szignálkezelők) többnyire szintén terminálnak. Vadász 25 Processz kreáció: fork() A fork és a join mechanizmus A fork az instrukciófolyamot két párhuzamos ágra osztja, elágaztatja, a join pedig a két ágat összeolvasztja. A fork() POSIX, Unix rendszerhívás a processz instrukció folyamát úgy ágaztatja ketté, hogy az egyik ág a hívó processz instrukció folyama marad, a másik ág számára pedig gyermek processzt kreál A szülőben a fork-kal szétválasztott ágakat a wait() v. waitpid() POSIX hívással lehet összeolvasztani: a szülő megvárja gyermekének terminálódását. Vadász 26 Gyermek processz készítés: fork() Szintaxisa Prototípus deklarációja: pid_t fork(); Hívása: #include <sys/types.h> #include <unistd.h>... pid = fork()... Vadász 27 9

10 A fork szemantikája Készít gyermek folyamatot, melynek kontextusa a pid-et és az időfelhasználást kivéve ugyanaz, mint a készítőjé (ugyanaz a szöveg, ugyanott fut!) A pontos egyezőségekért, különbözőségekért nézzék a man fork-ot! Vadász 28 A fork tevékenysége Ellenőrzi, készíthető-e a gyermek. Meghatározza a gyermek pid-jét. Előkészíti a VM kisöprési/kilapozási területét Bejegyzést készít a processz táblába a gyermek számára Bizonyos adatok a szülőtől jönnek (uid, gid, signal mask, ppid), mások 0-val, vagy a processzre jellemzően indulnak (idők) VM címleképző táblá(kat) allokál a gyermeknek Elkészíti a processz leírót (másolja a szűlőjét, majd a gyermek címleképzéséhez igazítja). Ezzel a szülő kontextusának logikai másolatát elkészíti. A nyitott adatfolyamok hivatkozásait inkrementálja. Inicializálja a gyermek HW kontextusát (a szülő regisztereit másolva), futtatható állapotba teszi a gyermeket. Mindkét processzben visszatér: szülőben a gyermek pid-jével (negatív értékkel, ha hiba van), gyermekben 0 értékkel. Vadász 29 Egy egyszerű példa main() { int pid, gpid; pid = getpid(); if((gpid = fork()) == 0) { /* Itt a gyermek fut */ gpid = getpid(); exit(0); /* Gyermek befejeződik */ } /* itt a szulo fut */ exit(1); /* Szulo befejeződik */ } Vadász 30 10

11 Két kérdés main() { if (fork() /*1*/) exit(1); else if (fork() /*2*/) exit(2); else fork() /*3*/; exit(3); } Hány processz fut, ha a fenti programot futtatjuk? (Feltesszük, minden fork() sikeres). main() { int i; És itt? for (i=0; i<3; i++) fork(); } Vadász 31 A 2-es példa magyarázata main() { if (fork() /*1*/) exit(); else if (fork() /*2*/) exit(); else fork() /*3*/; exit(); } Az első processzben végrehajtódik az /*1*/ fork, készül a második processz. Mindkettőben visszatér: az első exitál, a másodikban ráfut a /*2*/-es forkra. A másodikban végrehajtódik a /*2*/ fork, készül a harmadik processz. A /*2*/ fork a másodikban nem nullával tér vissza: exitál a második. A harmadikban nullával tér vissza: ráfut a /*3*/-as forkra. Ez elkészíti a negyedik processzt is. A harmadik és a negyedik az utolsó exit-en exitál. Vadász 32 Statikus processz kontextus megváltoztatása Új programot tölt a kontextusra. Az exec* család Egyikük deklarációjának szintaxisa: int execl(char *path, char *arg0[, char *arg1, ](char *) 0); Visszaad: státust. Hívása: #include <unistd.h> int status;... status=execl( /public/myname/myexec_file, pname, elso, masodik,null); Vadász 33 11

12 Az exec? lépései Elemzi a path-ot, ellenőrzi, hogy futtatható-e (permissions, executable, SUID, SGID) Másolja az argumentumokat és beállítja a lörnyezetet (environment) VM-hez swap területet allokál, a régit elereszti VM-hez címleképző táblá(kat) allokál, felállítja az új címtartományokat Default szignálkezelést állít be (a blokkolt vagy ignorált szignálokat megtartja) Inicializálja a HW kontextust (PC felveszi a belépési pont címet, többi regiszter nullázódik) Vadász 34 Esettanulmányok Nézzék a helyet. Itt a /proc jegyzékben a következő fájlok: system-syscall-pelda.c // system() rendszerhívások szulo-gyermek-egyutt-fut.c // fork() hívás fork-exec-villak.c & echoall.c // fork után execle és execlp A következő fájlok processz terminálódási példák: processz-terminalodasok.c // különböző terminálódások processz-terminalodas-2.c // terminálódó processz gyermekei esete zombie-processz.c // zombie előállítás Vadász 35 Foglaljunk össze! Tudunk processzt kreálni, statikus kontextust váltani a fork-exec "villával". Az exec*() hívásnál argumentumokat adhatunk át a main()-nek! Érdemes megnézni a wait() SVID, waitpid() POSIX, wait3() BSD hívásokat, ezekkel a szülő megvárhatja a gyermeke lefutását! Processzek terminálódását elérhetjük az exit() rendszerhívásokkal. Az exit során háztartási munkát végeztethetünk. Most újabb téma jön: processz állapotok Vadász 36 12

13 Processz állapotok Az OS szempontjából nézve több processz (futó program) létezik a rendszerben, ezeknek aktivitása van, futásuk közben különböző állapotokat vehetnek fel. Az operációs rendszernek nyomon kell követni az állapotokat, állapotváltozásokat, hogy erőforrásokat és szolgáltatásokat biztosítson a processzek számára. A "global system state" a létező processzek állapotainak összessége. Vadász 37 Egy processz állapotai A legalapvetőbb állapotok: Futó állapot (running, current stb.). A processzé a CPU. Futásra kész állapot (ready, computable etc.). A processz számára minden erőforrás rendelkezésre áll, kivéve a CPU-t. A CPU-t igényli a processz. Blokkolt állapot (blocked, sleeping stb.) A processz a CPUn kívül valamilyen erőforrást igényel még. Előbb ezt kell megkapja, csak utána vehet részt a CPU-ért való versengésben. A futásra kész és a blokkolt állapotokat együtt szokás várakozó (waiting) állapotoknak is nevezni. Általában az állapot elnevezésekben sok változat van. Vadász 38 Processz állapotok, állapotátmenetek futó sleep/wait/request preempt schedule/run blokkolt signal/assign várakozó kész Ellipszisek az állapotok, nyilak az állapotátmenetek Más elnevezések is szokásosak (pl. ready=computable=on, blocked=sleeping=suspended, running=current=active stb.) Mi válthatja ki az átmeneteket? Látható a Process Context Switch jelenség Vadász 39 13

14 Az állapot átmenetek A wait/sleep/request állapotátmenetet maga a processz "okozza", azzal, hogy bejelenti igényét valamilyen -a processzortól különböző -erőforrásra (pl. bufferre, diszk blokkra, eseményre stb.) A signal/assign állapotátmenetet rendszerint egy IT kezelő (handler) rutin "okozza", jelzés, hogy már rendelkezésre áll az a más erőforrás. A elvétel (preempt) és a kioszt (schedule/run) állapotátmeneteket az ütemező (scheduler/dispatcher) "hajtja végre". Vadász 40 A Process Context Switch A CPU "kapcsolása" két processz között. Egyik "elveszti" a CPU-t, a másik megkapja. Mindig két processz vesz részt benne, az egyiknél wait/sleep/request (maga "mond le" a CPU-ról) vagy preempt (elveszik tőle a CPU-t, bár még használná) állapotátmenet történik, a másiknál a schedule/run átmenet (megkapja a CPU-t). Figyeljük meg: blokkolt processz állapotból előbb kész állapotba kell jutni, hogy a kapcsolásban részt vehessen processz! Vadász 41 Egy bővebb - de általános - állapot diagramm running exit zombie wait preempt-schedule delete signal create blocked ready non existent suspend resume suspend suspend resume suspended blocked signal suspended ready Vadász 42 14

15 A processz állapotok nyilvántartása A kontextusban (rendszerint a PCB-ben) rögzítettek az állapotok, de láncolt lista adatszerkezeteken, sorokon (queues) is! Ready queue Sorfej head tail PCB PCB NULL MT1 head queue tail NULL Disk1 head queue tail PCB PCB NULL Blokkolt processzek sorai Terminal queue head tail PCB NULL Vadász 43 A láncolt listák és a Context Switch Run queue Ready queue Sorfej head tail Sorfej head tail PCB1 PCB2 NULL PCB6 NULL A PCB1 processz időszelete letelt, preempcióval elveszik tőle a CPU-t Run queue Ready queue Sorfej head tail Sorfej head tail PCB2 PCB6 NULL PCB1 NULL Vadász 44 Processz állapot - processz futási mód A futási módok alapvetően a CPU jellemzői: felhasználói (normál, user) mód, kernel (privilegizált, védett) mód: ebben szélesebb címtartomány, bővebb utasításkészlet. Mivel a a CPU regiszterek is hozzátartoznak processz kontextushoz (dinamikus/volatile kontextus), mondhatjuk: a processzeknek is van futási módjuk. Különböztessük meg az állapotot a futási módtól! Vadász 45 15

16 Futási mód - kontextus Emlékezz: módváltás=trap/kivételes esemény/it User mód User Address Space Kernel mód Kernel Address Space Processz kontextus Program, adat, verem Admin. adatok Kivétel kezelők, szolgáltató rutinok stb. A processz javára System Stacks, IT handlerek, ütemező stb. Vadász 46 Processz állapotok (Bach szerint) U Run syscall, it, trap trap, it, iret (i)ret/ exec ret Zombie exit K Run preempt Preem -ted wait schedule Sleep signal Ready fork Vadász 47 Processz állapotok trap, it, iret syscall, it, trap U Run (i)ret/ exec Zombie exit wait K Run schedule preempt Sleep signal Ready fork Vadász 48 16

17 Taszk, processz, fonál Ismerjük a klasszikus processz fogalmat. A modern OS-ek (és alkalmazásfejlesztők) támogatják a konkurens programozást, a párhuzamosságot Fonál (thread): a CPU használat alapegysége, egy szekvenciálisan futó instrukciósorozat, van dinamikus kontextusa (regiszterkészlete, verme). Osztozik más fonalakkal egy taszk statikus kontextusán (címkészlet: adat, kód; stb.). A fonalak valódi vagy pszeudó párhuzamosságban futhatnak. Taszk: van statikus kontextusa (címkészlete, erőforrásai: nyitott I/O-k, adminisztrációs információk, szignálok stb.) Fonál nélkül egy taszk passzív entitás. Egy taszk egyetlen fonállal: a klasszikus processz. További egységek programozói szemmel: rutinok, utasítások, instrukciók Vadász 49 Párhuzamosság A valódi párhuzamosság attól függ, hány processzor van hány processzort használhat egy alkalmazás A klasszikus processz koncepciójú multitasking vagy multiprocessing rendszereken is van párhuzamosság Előzőn pszeudó Másodikon már valódi A fonál koncepció (többprocesszoros rendszeren) kiterjeszti a párhuzamosságot, de konkurens programozási módszereket igényel Vadász 50 Konkurencia Az alkalmazás fejlesztéséhez kapcsolódó fogalom A konkurens programozás lehet rendszer szintű, vagy felhasználói szintű, vagy vegyes Rendszer szinten a fonál kontrollhoz (kreálás, terminálás, attribútum lekérdezés-beállítás stb.) rendszerhívások biztosítottak A kernel ismeri a fonalakat, allokál nekik CPU-t, ütemezi őket, nyilvántartja állapotukat stb. Felhasználói szinten a fejlesztőhöz adott RTL rutinok végzik a fonál kontrollt (kreáció, megszüntetés, állapot nyilvántartás, ütemezés). Olcsóbb. A kernelnek nincs is tudomása a fonalakról. Miután felhasználói szintről a CPU allokálás védelmi problémákhoz vezetne, nem biztos, hogy valódi párhuzamosságot ad. De teljesítménynövelést azért adhat (a saját fonalak szinkronizációjával, ütemezésével) Dual konkurencia: a fonál támogatás funkcionalitása megoszlik Vadász 51 17

18 Taszk, processz, fonál Ellentmondásos a terminológia Taszk vagy processz? (task, process) Fonál, szál, könnyűsúlyú processz (thread, lightweight process: LWP) Felhasználói szintű fonál (user thread) Kernel fonál (kernel thread) Kernel támogatott felhasználói fonál (kernel supported user thread) Vadász 52 A kernel fonalai Nem tartozik felhasználói taszkokhoz Kernel kontextusuk van A kernel menedzseli őket (kreáció, megszüntetés, állapot nyilvántartás, ütemezés, CPU allokálás és kapcsolás stb.) Viszonylag olcsó a menedzselésük Kernel funkciókat látnak el Ide tartoznak a kernel szintű taszkok kernel kontrollált fonalai is (ezeknek már taszk kontextusuk van) Vadász 53 Kernel támogatott fonalak Ezeket hívják (gyakran) könnyűsúlyú processzeknek (LWP) is Taszkhoz rendeltek, de a kernel ismeri őket Rendszerhívások kellenek a kontrolljukhoz (kreáció, megszüntetés, attribútum kezelés) A kernel nyilvántartja állapotukat, allokál nekik CPU-t, ütemezi és kapcsolja őket Viszonylag drága a menedzselésük Osztoznak a taszk kontextusán, erőforrásain Felhasználói taszkok ilyen fonalai felhasználói módban futnak Vadász 54 18

19 Felhasználó kontrollált fonalak A fejlesztő RTL rutinjait használva programozzuk őket (POSIX pthreads) A kernel nem is tud róluk A RTL rutinokkal kreáljuk, szinkronizáljuk, ütemezzük, kapcsoljuk őket. Állapotukat is csak a taszk tartja nyilván. Menedzselésük olcsó (nem kellenek rendszer-hívások) Osztoznak a taszk kontextusán (erőforrásain) A taszkhoz allokált processzoron is osztoznak, azaz csak pszeudó párhuzamosságban futhatnak. Természetesen felhasználói módban futnak Vadász 55 Taszk, K kontrollált fonalakkal Taszk Fut Fut fonál1 fonál2 Blokkolt Ready Blokkolt Ready A taszknak nincsenek állapotai. A fonalaknak viszont vannak. A fonalak (LWP) ütemezését - akár több CPU-ra - a scheduler végzi. Vadász 56 Taszk, U fonalak Vannak taszk és fonál állapotok is. Run taszkállapotban mikor egy fonál blokkolódik, a taszk kiválaszt másikat és annak adja a CPU-ut. Ready taszkállapotban legalább egy fonál futásra-kész. Blokkolt taszkállapotban nincs kész fonál. Blokkolt Run fut fut bl kesz bl kesz Ready A kernel nem is tud a fonalakról. Vadász 57 19

20 OPERÁCIÓS RENDSZEREK A folyamat kontextus, processz menedzsment, processz állapotok Vége 20

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

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

(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

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

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

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

Részletesebben

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

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

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

Operációs rendszerek

Operációs rendszerek Operációs rendszerek 7. előadás processzek 2007/2008. II. félév Dr. Török Levente A mai program A multi programozástól a process-ekig A process-ek állapotai, állapot átmenetei A process-eket leíró táblák

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

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

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

Operációs rendszerek. 4. gyakorlat: Szignálok küldése, kezelése

Operációs rendszerek. 4. gyakorlat: Szignálok küldése, kezelése Operációs rendszerek 4. gyakorlat: Szignálok küldése, kezelése Ajánlott irodalom UNIX programozáshoz: Kernighan & Pike: A Unix operációs rendszer Stewens: Advanced Programming in the UNIX Environment (APUE)

Részletesebben

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

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

Részletesebben

OPERÁCIÓS RENDSZEREK. A mai program. Hiba és eseménykezelés. Alapfogalmak. Eseménykezelés, szignálozás

OPERÁCIÓS RENDSZEREK. A mai program. Hiba és eseménykezelés. Alapfogalmak. Eseménykezelés, szignálozás OPERÁCIÓS RENDSZEREK Eseménykezelés, szignálozás A mai program Alapfogalmak: esemény, jelződés, kezelés Megszakítások és kivételek Szignálozás Rendelkezés szignálról (SVID, POSIX) Postázás Esettanulmányok

Részletesebben

OPERÁCIÓS RENDSZEREK. A mai program. Fogalmak. Ütemezés és a Context Switch

OPERÁCIÓS RENDSZEREK. A mai program. Fogalmak. Ütemezés és a Context Switch OPERÁCIÓS RENDSZEREK Ütemezés és a Context Switch A mai program 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,

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

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

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

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

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

Részletesebben

Operációs rendszerek. UNIX fájlrendszer

Operációs rendszerek. UNIX fájlrendszer Operációs rendszerek UNIX fájlrendszer UNIX fájlrendszer Alapegység: a file, amelyet byte-folyamként kezel. Soros (szekvenciális) elérés. Transzparens (átlátszó) file-szerkezet. Link-ek (kapcsolatok) létrehozásának

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

Operációs rendszerek. Bemutatkozás

Operációs rendszerek. Bemutatkozás Bevezetés az operációs rendszerek világába dr. Benyó Balázs benyo@sze.hu Bemutatkozás www.sze.hu/~benyo 1 Számítógép HW-SW felépítése felhasználó felhasználó felhasználó Operációs rendszer Operációs rendszer

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

Operációs rendszerek. A Windows NT

Operációs rendszerek. 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ú Operációs rendszerek felépítése

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

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

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

UNIX: folyamatok kommunikációja

UNIX: folyamatok kommunikációja UNIX: folyamatok kommunikációja kiegészítő fóliák az előadásokhoz Mészáros Tamás http://home.mit.bme.hu/~meszaros/ Budapesti Műszaki Egyetem Méréstechnika és Információs Rendszerek Tanszék 1 A kommunikáció

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

Szenzorhálózatok programfejlesztési kérdései. Orosz György

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

Részletesebben

Nem biztos, hogy mindenhol helytáll, helyenként hiányos, de az eddigi kérdések össze vannak gyűjtve őszi félév első zhval bezárólag.

Nem biztos, hogy mindenhol helytáll, helyenként hiányos, de az eddigi kérdések össze vannak gyűjtve őszi félév első zhval bezárólag. Nem biztos, hogy mindenhol helytáll, helyenként hiányos, de az eddigi kérdések össze vannak gyűjtve. 2013 őszi félév első zhval bezárólag. 1. Mi az operációs rendszer kernel módja és a felhasználói módja

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

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

OPERÁCIÓS RENDSZEREK. Célkitűzések, tárgyfelépítés. Módszerek. OS fogalom, struktúrák. 2005/2006. tanév II. félév Dr. Vadász Dénes

OPERÁCIÓS RENDSZEREK. Célkitűzések, tárgyfelépítés. Módszerek. OS fogalom, struktúrák. 2005/2006. tanév II. félév Dr. Vadász Dénes OPERÁCIÓS RENDSZEREK OS fogalom, struktúrák 2005/2006. tanév II. félév Dr. Vadász Dénes Célkitűzések, tárgyfelépítés Alapfogalmak, koncepciók, struktúrák, működés megismerése OS példák: Unix, Linux, W

Részletesebben

Operációs rendszerek. 3. előadás Ütemezés

Operációs rendszerek. 3. előadás Ütemezés Operációs rendszerek 3. előadás Ütemezés 1 Szemaforok 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; Up:

Részletesebben

Operációs rendszerek II. jegyzet

Operációs rendszerek II. jegyzet Operációs rendszerek II. jegyzet Bringye Zsolt tanár úr fóliái alapján Operációs rendszer: A számítógép hardver elemei és az (alkalmazói) programok közötti szoftver réteg, amely biztosítja a hardver komponensek

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

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX

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

Operációs rendszerek 1.

Operációs rendszerek 1. Operációs rendszerek 1. Folyamatok Balla Tibor balla.tibor@inf.unideb.hu Processzus - Folyamat Az OR főbb feladatai között szerepel a végrehajtási környezet biztosítása a futtatandó programok és alkalmazások

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

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

Processzus. Operációs rendszerek MINB240. Memória gazdálkodás. Operációs rendszer néhány célja. 5-6-7. előadás Memóriakezelés

Processzus. Operációs rendszerek MINB240. Memória gazdálkodás. Operációs rendszer néhány célja. 5-6-7. előadás Memóriakezelés Processzus Operációs rendszerek MINB40 5-6-7. előadás Memóriakezelés Egy vagy több futtatható szál Futáshoz szükséges erőforrások Memória (RAM) Program kód (text) Adat (data) Különböző bufferek Egyéb Fájlok,

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

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

Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben

Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben 2011. október 13. Az alapprobléma A processzek állapotát gyakran le kell kérdezni. Az ehhez használatos eszközök: ps top

Részletesebben

Operációs rendszerek. 6. gyakorlat: Processzusok közti kommunikáció (osztott memória, üzenetsor)

Operációs rendszerek. 6. gyakorlat: Processzusok közti kommunikáció (osztott memória, üzenetsor) Operációs rendszerek 6. gyakorlat: Processzusok közti kommunikáció (osztott memória, üzenetsor) A UNIX System V Release-óta minden rendszer biztosít három egyszerűabsztrakciót a processzusok közti kommunikáció

Részletesebben

UNIX folyamatok kommunikációja

UNIX folyamatok kommunikációja UNIX folyamatok kommunikációja kiegészítő fóliák az előadásokhoz Mészáros Tamás http://www.mit.bme.hu/~meszaros/ Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Részletesebben

10. előadás Párhuzamos programozási kérdések. Az Ada taszkok (1).

10. előadás Párhuzamos programozási kérdések. Az Ada taszkok (1). 10. előadás Párhuzamos programozási kérdések. Az Ada taszkok (1). Párhuzamos programozás Program: több tevékenység egyidőben Önálló folyamatok Együttműködnek Többféle lehetőség Elosztott rendszer (distributed

Részletesebben

Bevezetés a számítógépes rendszerekbe programozóknak

Bevezetés a számítógépes rendszerekbe programozóknak INCK??? előadási segédlet Bevezetés a számítógépes rendszerekbe programozóknak Végh János Debreceni Egyetem Informatikai Kara c 2010 2014 Végh János (Janos.Vegh@unideb.hu) Ez a segédlet a Bevezetés a számítógépes

Részletesebben

Operációs rendszerek MINB240

Operációs rendszerek MINB240 Mutex Operációs rendszerek MINB24 3. előadás Ütemezés Bináris szemafor Szemaforváltozója csak két értéket vehet fel ( / 1; foglalt / szabad) Kölcsönös kizárásra 1 kezdőértékű mutex A kritikus szakaszba

Részletesebben

Bevezetés a párhuzamos programozási koncepciókba

Bevezetés a párhuzamos programozási koncepciókba Bevezetés a párhuzamos programozási koncepciókba Kacsuk Péter és Dózsa Gábor MTA SZTAKI Párhuzamos és Elosztott Rendszerek Laboratórium E-mail: kacsuk@sztaki.hu Web: www.lpds.sztaki.hu Programozási modellek

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úrák

Számítógép architektúrák Számítógép architektúrák Számítógépek felépítése Digitális adatábrázolás Digitális logikai szint Mikroarchitektúra szint Gépi utasítás szint Operációs rendszer szint Assembly nyelvi szint Probléma orientált

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

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1 DCOM Áttekintés Miskolci Egyetem Általános Informatikai Tanszék DCOM /1 Mi a DCOM? DCOM: Distributed Component Object Model A Microsoft osztott objektum modellje Bináris együttmÿködési szabvány és annak

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

Bevezetés az informatikába

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.

Részletesebben

Operációs rendszerek MINB240

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

Részletesebben

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc 4. fejezet Fordítók felépítése Grafikus Processzorok Tudományos Célú Programozása Fordítók Kézzel assembly kódot írni nem érdemes, mert: Egyszerűen nem skálázik nagy problémákhoz arányosan sok kódot kell

Részletesebben

Dr. Illés Zoltán zoltan.illes@elte.hu

Dr. Illés Zoltán zoltan.illes@elte.hu Dr. Illés Zoltán zoltan.illes@elte.hu Operációs rendszerek kialakulása Op. Rendszer fogalmak, struktúrák Fájlok, könyvtárak, fájlrendszerek Folyamatok Folyamatok kommunikációja Kritikus szekciók, szemaforok.

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

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

Utolsó módosítás:

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

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

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

Operációs rendszerek 1. 8. előadás Multiprogramozott operációs rendszerek

Operációs rendszerek 1. 8. előadás Multiprogramozott operációs rendszerek Operációs rendszerek 1. 8. előadás Multiprogramozott operációs rendszerek Soós Sándor Nyugat-magyarországi Egyetem Faipari Mérnöki Kar Informatikai és Gazdasági Intézet E-mail: soossandor@inf.nyme.hu 2011.

Részletesebben

Párhuzamos programozási platformok

Párhuzamos programozási platformok Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási

Részletesebben

Operációs rendszerek Memóriakezelés 1.1

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

Részletesebben

SQLServer. SQLServer konfigurációk

SQLServer. SQLServer konfigurációk SQLServer 2. téma DBMS installáció SQLServer konfigurációk 1 SQLServer konfigurációk SQLServer konfigurációk Enterprise Edition Standart Edition Workgroup Edition Developer Edition Express Edition 2 Enterprise

Részletesebben

UNIX / Linux rendszeradminisztráció

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

Részletesebben

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter 1 Mai témák ZFS NTFS 2 ZFS Új koncepció, nem továbbgondolás Pooled storage modell Minden művelet copy-on-write

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

Memóriakezelés (Memory management)

Memóriakezelés (Memory management) 1 Memóriakezelés (Memory management) Háttér, alapok Logikai és fizikai címtér Valós címzésű menedzselés Partíciók Szabad/foglalt partíciók kezelése 2 Háttér, alapok Az számítógép (processzor) kapacitásának

Részletesebben

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

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

Concurrency in Swing

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

Részletesebben

Számítógépes alapismeretek

Számítógépes alapismeretek Számítógépes alapismeretek 3. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Programtervező Informatikus BSc 2008 / Budapest

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

Az informatika alapjai. 10. elıadás. Operációs rendszer

Az informatika alapjai. 10. elıadás. Operációs rendszer Az informatika alapjai 10. elıadás Operációs rendszer Számítógépek üzemmódjai Az üzemmód meghatározói a számítógép adottságai: architektúra hardver kiépítés, térbeli elhelyezés, szoftver, stb. Üzemmód

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

Programok, statikus linkelés

Programok, statikus linkelés Memória kezelés 1 Programok, statikus linkelés Rendszer könyvtár, mint bármelyik másik tárgykód (object file) Előny Egyszerű Nincs verzió probléma, program és library illeszkedik Hátrány Nagy bináris kód

Részletesebben

Végh János Bevezetés a számítógépes rendszerekbe programozóknak

Végh János Bevezetés a számítógépes rendszerekbe programozóknak Miskolci Egyetem... és Informatikai Kara Végh János Bevezetés a számítógépes rendszerekbe programozóknak Kivételes utasítás kezelés Copyright 2008-2015 (J.Vegh@uni-miskolc.hu) V0.12@2015.03.12 Ez a segédlet

Részletesebben

8. Memória management

8. Memória management 8. Memória management Háttér Logikai és fizikai címtér Swapping Folytonos allokálás Lapozás Szegmentáció Szegmentáció lapozással 101 Háttér Az számítógép (processzor) kapacitásának jobb kihasználása megköveteli,

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

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

Ü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

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

Operációs rendszerek. A védelem célja. A fenyegetés forrásai. Védelmi tartományok. Belső biztonság. Tartalom

Operációs rendszerek. A védelem célja. A fenyegetés forrásai. Védelmi tartományok. Belső biztonság. Tartalom Tartalom Operációs rendszerek 12. Az operációs rendszerek biztonsági kérdései Simon Gyula A védelem célja A fenyegetés forrásai Belső biztonság Külső biztonság Felhasznált irodalom: Kóczy-Kondorosi (szerk.):

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

Párhuzamos programozási platformok

Párhuzamos programozási platformok Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási

Részletesebben

Programozás alapjai. 10. előadás

Programozás alapjai. 10. előadás 10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:

Részletesebben

Programozás II. 4. Dr. Iványi Péter

Programozás II. 4. Dr. Iványi Péter Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include

Részletesebben

Podoski Péter és Zabb László

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ő

Részletesebben

7. fejezet: Mutatók és tömbök

7. fejezet: Mutatók és tömbök 7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata

Részletesebben