OPERÁCIÓS RENDSZEREK. A mai program. Hiba és eseménykezelés. Alapfogalmak. Eseménykezelés, szignálozás
|
|
- Fruzsina Gizella Papp
- 8 évvel ezelőtt
- Látták:
Átírás
1 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 Vadász 2 Hiba és eseménykezelés. Alapfogalmak. Esemény: folyamatok (taszk, processz, fonál, rutin, utasítás, instrukció) futását befolyásoló, váratlan időpontban bekövetkező történés, amire reagálni kell (le kell kezelni). Feltétel állapot: egy állapottér állapotvektora. Jelzés keletkezik, ha a feltétel - az esemény - bekövetkezik. Jelződik az esemény. A jelződés az alapja a lekezelhetőségnek: ami kapja a jelzést, az lekezelheti az eseményt. Vadász 3 1
2 Az esemény jelződik: lekezelhető A lekezelés megváltoztatja a futás menetét: a normális futás mentét abba kell hagyni (Instrukciót? Utasítást? Rutint? Fonalat? Processzt? Taszkot?) Lekezelni instrukciófolyammal, rutinnal, fonállal, processzel. Dönteni, visszaadható-e a vezérlés (instrukcióra, utasításra, rutinba/fonálba/processzbe; [elejére, végére], vagy utánuk?), vagy az OS-nek adjuk a vezérlést? Vadász 4 Az események osztályai Egy processz szemszögéből belső esemény, külső esemény. Előállítója szerint HW által generált és detektált (IT, errors), SW által generált és detektált: SWIT, SW által generált kivétel, felhasználói akciók). Lekezelési szintjük szerint megszakítások (interrupts, IT), kivételek (exeptions), alkalmazás által kezelt események (felhasználói akciók). Vadász 5 Megszakítások A legalacsonyabb szintű események. Aszinkron. Külső. Előállítója rendszerint a HW, de lehet SW is. Lekezelői: az OS kernel IT handlerei. Kezelés módja: aktuális instrukció befejeződik, a lekezelő fut, soron következő instrukcióra tér vissza. IT prioritási szintek vannak. Le nem kezelt megszakítások HW-es sorokon várakoznak (pending ITs). Vadász 6 2
3 Kivételek, hibaesemények (exeptions) Abnormális helyzetet, gondot jelentenek. Szinkron jellegűek, de váratlanok. Lehetnek alacsony szintűek: túlcsordulás, Lehetnek magas szintűek: pl. laphiba. Az alacsony, magas szint megmondja minek szól a jelzés (instrukciónak,... processznek), a kezelés szintjét is. A klasszikus kivételnél: az entitás nem fejezhető be! Ha hatásosan lekezelhető, az entitás futását meg kell ismételni. Az OS-ekben vannak alapértelmezési kezelők. A programozó is lekezelhet egyes kivételeket (értelmet nyer a magasabb jelző, veszít a hiba jelző) Vadász 7 Alkalmazás által kezelt események Bekövetkezésüket a programozó eleve várja (de váratlanok időben). Tipikus példa: X11 vagy más GUI-is. Alkalmazás eseményvezérelt programozása. Magas szintűek: Fejlesztő eszközök kellenek (RTL rutinok), programozó maszkolhatja őket, lekezelő rutinjait ő írja meg, az eseménysorokat figyelheti. Kezelésükhöz használhatja az IT- és kivétel-kezelési technikákat. Vadász 8 Megszakítások versus kivételek Az IT aszinkron. Két instrukció között kiszolgálódnak. A kivétel váratlan, de szinkron (az adott instrukcióhoz tartozik). Tipikus a laphiba. Az IT nem kapcsolódik a futó processzhez (kiszolgálása nem a futó processz javára). A kivétel kiszolgálása kiegészítése a processz instrukciófolyamának. Vadász 9 3
4 Megszakítások - kivételek Az IT kiszolgálásnál prioritási szintek. Maszkolás. Kiszolgálásuk is megszakítható. HW-es a sorképzés. A kivételek kiszolgálását más kivétel nem szakíthatja meg. IT kiszolgálásra lehet közös rendszer verem. A kivétel kiszolgálására rendszerint processzenkénti kernel verem. Vadász 10 A jelzés fogalom Jelzés (signal) keletkezik feltétel állapot kialakulásakor (esemény bekövetkezésekor): a jelződés a fontos. A tárgyalás ekkor: van egy jelzés készlet; jelzés keletkezik HW vagy SW eredetből. A jelzés kikézbesítődik (CPU-nak, processznek). A kikézbesített jelzések sorokban várhatnak lekezelésre. A kikézbesített jelzéseket e megfelelő kezelő (handler) lekezeli. Ez a szignál fogalom tágabb értelmezése. Vadász 11 Szignálozás: szűkebb értelem Bizonyos szignálokat az OS küld és kezel le; de mi is küldhetünk, mi is kezelhetünk: szignálozással megszakításokat küldhetünk processzeknek. (A küldött szignál a processzeknek, az IT a CPU-nak szól.) A szignálozás kapcsolódik a processz állapotokhoz, állapotátmenetekhez. Blokkolt egy processz egy eseményen: szignál billenti futásra kész állapotba (pl. bufferre vár, lehet, hogy az IT kezelő küldi a szignált). Hogy értesül egy processz a szignálról? Hogy kezeli le azt? A vezérlés reakciója? Vadász 12 4
5 A szignál: jelzése egy eseménynek Generálódik (mikor az esemény bekövetkezik), elküldik egy processznek. A szignál diszpozíció fogalom (egy processz specifikálhatja, milyen rendszerakció menjen végbe a neki küldött szignálokra). Lehet: alapértelmezési akció, ignorálás (figyelmen kívül hagyás), saját kezelő kezelje. Kikézbesített szignál fogalom (amikor az akció beindul. Generálódás és kikézbesítés között idő telhet el). Függő szignál (pending signal) (generálódott, de még nem kézbesült ki. Külön érdekes a blokkolt függő szignál!) Vadász 13 Szignálozás SVID Unixban A kernel a szignál kézbesítéséhez A PCB egy mezejét beállítja. A processz a kernel módból való visszatéréskor ellenőrzi a mezőket: lekezel, ha van mit. A szignálkezelő alapértelmezésben: Legtöbbször terminálja a processzt, néha core dump-ot ad. Adhat hibajelzést a stderr-en, és utána terminál. Hatásosan lekezeli a szignált és folytatódhat a futás. Bizonyos szignálok kezelését a felhasználó programozó átveheti. Bizonyos szignálokat a programozó küldhet. Vadász 14 A felhasználó szignálkezelési lehetőségei Kérheti, hogy ignorálódjon (ekkor is kézbesül!) Kérheti, fusson saját kezelő függvény Kérheti, álljon vissza az alapértelmezés Postázhat bizonyos szignálokat (más processzeknek, de saját magának is) A lekezelhető és küldhető szignálkészlet majdnem egybeesik A szignálozást használhatja: szinkronizációra, kommunikációra. Vadász 15 5
6 Szignálozással kapcsolatos API 1 Nézd a /usr/include/sys/signal.h header fájlt! Ebben: Makrók, system call prototype-ok. # define SIGHUP 1 # define SIGINT 2... # define SIGALRM 14 # define SIG_IGN (void(*)()) 0 # define SIG_DFL (void(*)()) 1 stb. Vadász 16 Linux man 7 signal részlet Signal Value Action Comment SIGHUP 1 Term Hangup detected on controlling terminal or death of controlling process SIGINT 2 Term Interrupt from keyboard SIGQUIT 3 Core Quit from keyboard SIGILL 4 Core Illegal Instruction SIGABRT 6 Core Abort signal from abort(3) SIGFPE 8 Core Floating point exception SIGKILL 9 Term Kill signal SIGSEGV 11 Core Invalid memory reference SIGPIPE 13 Term Broken pipe: write to pipe with no readers SIGALRM 14 Term Timer signal from alarm(2) SIGTERM 15 Term Termination signal SIGUSR1 30,10,16 Term User-defined signal 1 SIGUSR2 31,12,17 Term User-defined signal 2 SIGCHLD 20,17,18 Ign Child stopped or terminated SIGCONT 19,18,25 Continue if stopped SIGSTOP 17,19,23 Stop Stop process SIGTSTP 18,20,24 Stop Stop typed at tty SIGTTIN 21,21,26 Stop tty input for background process SIGTTOU 22,22,27 Stop tty output Vadász for background process 17 Szignálozással kapcsolatos API 2 A signal() rendszerhívás [POSIX: sigaction()] void (*signal( )) ( ); A signal egy függvény, ami egy függvényre mutató pointerrel tér vissza. Ennek visszatérése pedig void. A szignál diszpozíció precízebben : void (*signal(int sig, void (*func)(int,..)))(int,..); A sig szignált a func függvény kezelje le. Siker esetén az előző lekezelő függvény címével, hiba esetén SIG_ERR értékkel tér vissza. Mind a func-nak, mind a visszatérési függvénynek lehetnek int argumentumai. Fontos! Saját kezelőre diszponált szignál bekövetkezése (és kezelése) után sok rendszerben visszaáll az alapértelmezett diszpozíció! Vadász 18 6
7 Szignálozással kapcsolatos API 3 A sigaction( ) rendszerhívás is dispozíció! POSIX stílusú. int sigaction(int sig, const struct sigaction *act, struct sigaction *oldact); Ahol a struct sigaction-nak van void (*sa_handler) (int); tagja. Ez a tag veheti fel az új és a régi kezelő címét. Vadász 19 Szignálozással kapcsolatos API 4 A kill() rendszerhívás [POSIX: sigsend()] int kill(pid_t pid, int sig); Küldjön sig szignált a pid processznek. Siker esetén 0-val, sikertelenség esetén -1-gyel tér vissza. Hasznos még a raise(), a pause(), az alarm(), a sigprocmask(), a sigsuspend(), a sigsetjmp() és a siglongjmp() rendszerhívás is. Vadász 20 Esettanulmányok, gyakorlatok Nézzék az helyen /signals/alarmra-var1.c és /signals/alarmra-var2.c példaprogramokat! Nézzék az /signals/alarm-ado1.c és /signals/alarm-ado2.c példaprogramokat! Vadász 21 7
8 #include <signal.h> void handler(int); /* one handler for both signals */ main(void) { if(signal(sigusr1,handler)==sig_err) exit(0); if(signal(sigusr2,handler)==sig_err) exit(1); for ( ; ; ) pause(); void handler(int signo) { /* arg is signal no */ if (signo==sigusr1) printf("received SIGUSR1\n"); else if (signo==sigusr2) printf("received SIGUSR2\n"); else exit(2); return; 1 kezelő 2 szignálhoz Vadász 22 Tanulmányozandó még... A sigprocmask()-hoz: létezik globális szignál maszk, ez definiálja, mely szignálok blokkoltak. A sigsetjmp() és siglongjmp() érdekességek: int sigsetjmp(sigjmp_buf env[, int savemask]); void siglongjmp(sigjmp_buf env[, int val]); A sigsetjmp lementi a C-stack-et és a regisztereket az env-be. Kétszer tér vissza! Először 0-val (direkt hívásakor), másodszor - a siglongjmp hívásával történő visszavétel miatt a val értékkel (ha az 0, akkor 1- gyel) A siglongjmp() visszaveszi a regisztereket, a stack-et, és a val értékkel tér vissza (amit nem 0-ra állítunk). Vadász 23 Példa #include <setjmp.h> jmp_buf env; int i = 0; main ( ) { if (setjmp(env)!= 0) { (void) printf("2nd from setjmp: i=%d\n", i); exit(0); (void) printf("1st from setjmp: i=%d\n", i); i = 1; g( ); /*NOTREACHED*/ g( ) { longjmp(env, 1); /*NOTREACHED*/ Vadász 24 8
9 A példa eredménye The program's output is: 1st from setjmp:i=0 2nd from setjmp:i=1 Vadász 25 További esetek.. Stevens példája a /signals/abort.c Írtunk saját abort() függvényt. Azt nem lehet ignorálni, nem lehet kezelését átvenni, és nem lehet blokkolni sem. Elemezzük. Vadász 26 OPERÁCIÓS RENDSZEREK Eseménykezelés, szignálozás Vége 9
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észletesebbenJelzések és kezelésük
Jelzések és kezelésük A jelzés egy nagyon egyszerű kommunikációs forma, az információ egy speciális egész szám, amelyet úgy is szoktak nevezni, hogy a jelzés típusa/értéke (signum). Jelzést általában a
RészletesebbenUNIX 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 és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
RészletesebbenOperá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észletesebbenOPERÁ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észletesebbenA 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észletesebbenOperá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észletesebbenArchitektú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észletesebbenOperá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észletesebbenOperá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észletesebbenUniprogramozá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észletesebbenOPERÁCIÓS RENDSZEREK. A mai program. A CPU által végrehajtott instrukciófolyam. A folyamat kontextus, processz menedzsment, processz állapotok
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
RészletesebbenAz 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észletesebbenOperá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észletesebbenOPERÁ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észletesebbenBevezeté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észletesebbenAz 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észletesebben2. 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(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észletesebbenOperá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észletesebbenOperációs rendszerek
Operációs rendszerek 10. előadás - Holtpont kezelés, szignálok 2006/2007. II. félév Dr. Török Levente Links A. Tanenbaum: Op. rendszerek http://www.iit.uni-miskolc.hu/%7evadasz/geial201/jegyzet/3rd.pdf
RészletesebbenOperá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észletesebbenKivé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észletesebbenKivételek, kivételkezelés a C++ nyelvben
2009. Kivételek, kivételkezelés a C++ nyelvben Haladó C++ programozás Kurucz Attila ELTE - IK 2009.06.09. Tartalomjegyzék Tartalomjegyzék... 2 Mi a kivételkezelés?... 3 Alapfogalmak... 3 Kivétel... 3 Try
RészletesebbenProcesszusok (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észletesebbenUNIX: 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észletesebbenKonkurens 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észletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
RészletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
RészletesebbenARM Cortex magú mikrovezérlők
ARM Cortex magú mikrovezérlők 6. NVIC Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2017 ARM7, ARM9 megszakítás kezelés ARM7,
RészletesebbenVé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észletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
RészletesebbenProcesszusok (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észletesebbenProgramozá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észletesebbenA C programozási nyelv VI. Parancssori argumentumok File kezelés
A C programozási nyelv VI. Parancssori argumentumok File kezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv VI. (Parancssori argumentum, file kezelés) CBEV6 / 1 Parancssori
RészletesebbenSzenzorhá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észletesebbenC# 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észletesebbenBevezeté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észletesebbenSocket programozás Példák
Socket programozás Példák Áttekintés Client Server socket socket bind connect Connection request listen accept Client / Server Session write read read write close EOF read close 3 Select demo Beej s guide
RészletesebbenC programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
RészletesebbenOperá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észletesebbenProgramozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények Dr. Bécsi Tamás 6. Előadás Bevezetés Egy idő után az egyetlen main(){ függvénnyel megírt programunk túl nagy méretű lesz. Vannak
RészletesebbenProgramozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE
Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1 Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb. Felülnézet 2 #include: hatására a preprocesszor
RészletesebbenObjektumorientá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észletesebbenOperá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észletesebbenElő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észletesebbenJava 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észletesebbenOperá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észletesebbenDr. 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észletesebbenMatematikai é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észletesebbenOperá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észletesebbenFüggvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r
Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti
RészletesebbenOPERÁ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észletesebbenFolyamatok. 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észletesebbenProgramozás I. 5. Előadás: Függvények
Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény
RészletesebbenS z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
RészletesebbenOperá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észletesebbenAz AVR programozás alapjai. Előadja: Both Tamás
Az AVR programozás alapjai Előadja: Both Tamás Fordító C nyelven programozunk Ehhez az AVR-GCC fordító áll rendelkezésre Ennek használatához a WinAVR-t kell telepíteni Teljes értékű C fordító, minden megengedett,
RészletesebbenAlternatí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észletesebbenOPERÁCIÓS RENDSZEREK II GYAKORLAT
OPERÁCIÓS RENDSZEREK II GYAKORLAT 4. óra: Folyamatok Windisch Gergely windisch.gergely@nik.uni-obuda.hu 2010 / 2011 tavaszi félév FOLYAMATKEZELÉS ALAPOK linuxban minden, amit elindítunk, az egy folyamat.
RészletesebbenOperá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észletesebbenFolyamatok kezelése. Az operációs rendszerek egyik legfontosabb feladata a folyamatok kezelése.
Tartalom Folyamatok kezelése Folyamatok...1 A UNIX feladat (job) fogalma...3 A wait parancs...5 A folyamatok követése...5 A ps parancs...5 A top parancs...7 Jelzések...8 A kill parancs...9 A killall parancs...10
RészletesebbenOperá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észletesebbenISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
RészletesebbenA 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észletesebbenC programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
RészletesebbenProgramozási paradigmák. Típusok, deklarációk ortogonalitása. Kombinációs ortogonalitás. Az imperatív paradigma II.
Programozási paradigmák Az imperatív paradigma II. Vadász 1 Típusok, deklarációk ortogonalitása Bármely típus-konstruktornál alkalmazható bármely már definiált típus (ez korlátlan ortogonalitást jelent).
Részletesebben3. gyakorlat Folyamatmodellek, kooperáló viselkedésmodellek Megoldások
3. gyakorlat Folyamatmodellek, kooperáló viselkedésmodellek ok Figyelem: Jelen anyag belső használatra készült megoldási útmutató, melyet a ZH felkészülés segítése érdekében publikáltunk. A feladatok részletesebb
RészletesebbenAutó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észletesebben1_Linux_bevezeto_bash
1_Linux_bevezeto_bash September 21, 2016 1 Számítógépes alapismeretek 1.1 ELTE - Fizika Bsc 1. évfolyam 1.2 # Félévés tematika: Linux alapismeretek Szövegszerkesztés Adatok ábrázolása Bevezetés a programozás
RészletesebbenTask-alapú párhuzamosítás C# környezetben
Task-alapú párhuzamosítás C# környezetben OE-NIK 1 Task Aszinkron elvégzett feladat A háttérben egy Thread vagy egy ThreadPool egy eleme van: magasabb absztrakciós szinten dolgozunk ThreadPool Gyakorlatilag
RészletesebbenInterrupt kezelés Debugger. Debugger működése. Megszakítás és nyomkövetés. Izsó Tamás szeptember 19. Izsó Tamás Debugger működése/ 1
Debugger működése Megszakítás és nyomkövetés. Izsó Tamás 2013. szeptember 19. Izsó Tamás Debugger működése/ 1 Section 1 Interrupt kezelés Izsó Tamás Debugger működése/ 2 Interrupt és kivételkezelés Interrupt
RészletesebbenProgramozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók Dr. Bécsi Tamás 7. Előadás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza.
Részletesebben16F628A megszakítás kezelése
16F628A megszakítás kezelése A 'megszakítás' azt jelenti, hogy a program normális, szekvenciális futása valamilyen külső hatás miatt átmenetileg felfüggesztődik, és a vezérlést egy külön rutin, a megszakításkezelő
RészletesebbenÉRZÉKELŐK ÉS BEAVATKOZÓK I. GY1.1 SENSACT0 PÉLDAPROGRAM
ÉRZÉKELŐK ÉS BEAVATKOZÓK I. GY1.1 SENSACT0 PÉLDAPROGRAM Dr. Soumelidis Alexandros 2018.09.06. BME KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR 32708-2/2017/INTFIN SZÁMÚ EMMI ÁLTAL TÁMOGATOTT TANANYAG SensAct0
RészletesebbenDr. 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észletesebbenSzá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észletesebbenSzámítógép architektúrák. Bemutatkozom. A tárgy címe, célja. Számítógépek, számítási modellek
Számítógép architektúrák Számítógépek, számítási modellek Bemutatkozom Dr. Vadász Dénes, tanszékvezető egyetemi docens vadasz@iit.uni-miskolc.hu http://www.iit.uni-miskolc.hu/~vadasz Informatikai Intézet
RészletesebbenObjektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
RészletesebbenSzoftver 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észletesebbenJárműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás 4.11. A C előfeldolgozó rendszer A fordítás első lépése a C esetében a különböző nyelvi kiterjesztések feldolgozása: másik állomány tartalmának
RészletesebbenProgramozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union
Programozás alapjai C nyelv 10. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.21. -1- Standard függvények Standard függvények amelyeket
RészletesebbenElosztott 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észletesebbenCekla. Készítette Doxygen Tue Sep :13:44
Cekla Készítette Doxygen 1.7.1 Tue Sep 20 2011 14:13:44 TARTALOMJEGYZÉK 1 Tartalomjegyzék 1. Cekla C++ könyvtár deklaratív C++-hoz 1 2. Modulmutató 1 2.1. Modulok............................................
RészletesebbenGlobális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
RészletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
RészletesebbenMiről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.
Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Dinamikus memóriakezelés Dinamikus tömbök Dinamikus stringek Program kapcsolata a
RészletesebbenMechatronika és mikroszámítógépek. 2018/2019 I. félév. Külső megszakítások
Mechatronika és mikroszámítógépek 2018/2019 I. félév Külső megszakítások Megszakítás, Interrupt A megszakítás egy olyan esemény, vagy feltétel teljesülése, amely felfüggeszti a program futását, a vezérlést
RészletesebbenInformációs Technológia
Információs Technológia (Struktúra, mutatók, függvényhívás) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 október 14/21. Struktúra
RészletesebbenAz UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Az UPPAAL egyes modellezési lehetőségeinek összefoglalása Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Résztvevők együttműködése (1) Automaták interakciói üzenetküldéssel Szinkron
RészletesebbenOPERÁ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észletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát
RészletesebbenA netfilter csomagszűrő tűzfal
A netfilter csomagszűrő tűzfal Történelem A linux kernelben 1994 óta létezik csomagszűrési lehetőség. A nagyobb állomásokat, lépcsőket általában a usertérbeli konfigurációs program nevéhez kötik: kernel
RészletesebbenTartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés
Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS
RészletesebbenProgramozás C és C++ -ban
Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új
RészletesebbenOperá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észletesebben6. fejezet: Ciklusok
6. fejezet: Ciklusok Mint a nyelvekben általában, itt is léteznek ciklusok. Az alapvető három ciklus-típus: elöltesztelő, hátultesztelő és számláló. Lássuk ezeket sorban! Elöltesztelő = while. A while
RészletesebbenA C++ szigorúbban kezeli a típuseltéréseket, mint a C nyelv Lehetséges típuskonverziók:
Típuskonverzió a C++ nyelvben Miskolci Egyetem Általános Informatikai Tanszék Típus konverzió a C++ nyelvben CPP3 / 1 Lehetséges konverziók A C++ szigorúbban kezeli a típuseltéréseket, mint a C nyelv Lehetséges
RészletesebbenBevezeté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észletesebbenMechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
Részletesebben