Dr. Illés Zoltán
|
|
- Gábor Pap
- 8 évvel ezelőtt
- Látták:
Átírás
1 Dr. Illés Zoltán
2 Operációs rendszerek kialakulása Sz.gép Op.rendszer generációk Op. Rendszer fogalmak, struktúrák Kliens-szerver modell, Rendszerhívások Fájlok, könyvtárak, fájlrendszerek Fizikai felépítés Logikai felépítés FAT, UNIX, NTFS, 2
3 Folyamatok Létrehozása, befejezése Folyamat állapotok Folyamatok kommunikációja Versenyhelyzetek, kritikus szekciók Szemaforok, mutexek, monitorok Klasszikus IPC problémák Ütemezés Elvek, megvalósítások Szálütemezés 3
4 Program folyamat különbsége Folyamat( processz): futó program a memóriában (kód+i/o adatok+állapot) Egyszerre hány folyamat működik? Single Task Multi Task Valódi Multi Task? Szekvenciális modell Processzek közti kapcsolás: multiprogramozás Egy időben csak egy folyamat aktív. 4
5 1 processzor + 1 rendszer memória + 1 I/O eszköz = 1 feladatvégrehajtás Interaktív (ablakos) rendszerek, több program, több processz fut Környezetváltásos rendszer: csak az előtérben lévő alkalmazás fut Kooperatív rendszer: az aktuális processz bizonyos időközönként, vagy időkritikus műveletnél önként lemond a CPU-ról (Win 3.1) Preemptív rendszer: az aktuális processztől a kernel bizonyos idő után elveszi a vezérlést, és a következő várakozó folyamatnak adja. Real time rendszer 5
6 Ma tipikusan preemptív rendszereket használunk (igazából a valós idejű is az) Több folyamat él, aktív. Folyamat létrehozás oka lehet: Rendszer inicializálás Folyamatot eredményező rendszerhívás Másolat az eredetiről (fork) Az eredeti cseréje (execve) Felhasználói kérés (parancs&) Nagy rendszerek kötegelt feladatai Előtérben futó folyamatok Háttérben futó folyamatok (démonok) 6
7 Szülő gyermek kapcsolat Folyamatfa: egy folyamatnak egy szülője van Egy folyamatnak több gyermeke lehet Összetartozó folyamatcsoport Pl: Init, /etc/rc script végrehajtása Az init id-je 1. Fork utasítás vigyázat a használatával Reinkarnációs szerver Meghajtó programok, kiszolgálók elindítója. Ha elhal az egyik, akkor azt újraszüli, reinkarnálja. 7
8 Folyamat elindulása után a megadott időkeretben végzi (elvégzi) a feladatát. A befejezés okai: Önkéntes befejezések Szabályos kilépés (exit, return stb.) Kilépés valamilyen hiba miatt, amit a program felfedez (szintén pl. return utasítással) Önkéntelen befejezések Illegális utasítás, végzetes hiba (0-val osztás, nem létező memória használat, stb) Külső segítséggel. Másik processz, netán mi lőjük ki az adott folyamatot. 8
9 Folyamat: önálló programegység, saját utasításszámlálóval, veremmel stb. Általában nem függetlenek a folyamatok Egyik-másik eredményétől függ a tevékenység Egy folyamat három állapotban lehet: Futó Futásra kész, ideiglenesen leállították, arra vár, hogy az ütemező CPU időt adjon a folyamatnak. Blokkolt, ha logikailag nem lehet folytatni a tevékenységet, mert pl. egy másik eredményére vár. (cat Fradi.txt grep Fradi sort, grep és sort blokkolt az elején ) 9
10 1. Futó -> Blokkolt Várni kell valamire 2. Futó ->Futásra kész 3. Futásra kész ->Futó Ezekről az ütemező dönt, a folyamatok nem nagyon tudnak róla. 4. Blokkolt->Futásra kész A várt adat megérkezett 10
11 A processzor csak végrehajtja az aktuális utasításokat (CS:IP) Egyszerre egy folyamat aktív. Folyamatokról nem tud. Ha lecseréljük az aktív folyamatot a következőre, mit kell megőrizni, hogy visszatérhessünk a folytatáshoz? Mindent.utasítás számlálót, regisztereket, lefoglalt memória állapotot, nyitott fájl infókat, stb. Ezeket az adatokat az un. Folyamat leíró táblában tároljuk (processz tábla, processz vezérlő blokk) I/O megszakításvektor 11
12 Időzítő, megszakítás, esemény, rendszerhívás kezdeményezés. Ütemező elmenti az aktuális folyamat jellemzőket a folyamatleíró táblába Betölti a következő folyamat állapotát, a processzor folytatja a munkát. Nem lehet menteni a gyorsító tárakat Gyakori váltás - többlet erőforrást igényel A folyamat váltási idő jó megadása nem egyértelmű. 12
13 A rendszer inicializáláskor létrejön 1 elem, rendszerindító már bent van mikor az rendszer elindul. Tömbszerű szerkezet(pid alapon) - de egyegy elem egy összetett processzus adatokat tartalmazó struktúra. Egy folyamat fontosabb adatai: Azonosítója (ID), neve (programnév) Tulajdonos, csoport azonosító Memória, regiszter adatok Stb. 13
14 Tipikus helyzet: Egy folyamat egy utasítássorozat egy szál Néha szükséges lehet, hogy egy folyamaton belül több utasítássorozat legyen Szál: egy folyamaton belüli különálló utasítás sor Gyakran lightweight process -nek nevezik Szálak: Egy folyamaton belül több egymástól független végrehajtási sor. Egy folyamaton belül egy szál Egy folyamaton belül több szál-ha egy szál blokkolódik, a folyamat is blokkolva lesz! Száltáblázat Folyamatnak önálló címtartománya van, szálnak nincs! 14
15 Csak folyamatnak van: Címtartománya Globális változók Megnyitott fájl leírók Gyermek folyamatok Szignálkezelők, ébresztők Szálnak is van: Utasításszámlálók Regiszterek, verem 15
16 Fork- Biztos, hogy a gyerekben kell több szál, ha a szülőben több van! (Igen) Fájlkezelés- Egy szál lezár egy fájlt, miközben a másik még használná! Hibakezelés- errno globális értéke Memóriakezelés- Lényeges: A rendszerhívásoknak kezelni kell tudni a szálakat (thread safe) 16
17 IPC Inter Process Communication Három területre kell megoldást találni: Két vagy több folyamat ne keresztezze egymást kritikus műveleteknél. Sorrend figyelembevétel (bevárás). Nyomtatás csak az adatok előállítása után lehetséges. Hogy küldhet egy folyamat információt, üzenetet egy másiknak. Szálakra mindhárom terület ugyanúgy érdekes, csak az információküldés, az azonos címtartomány miatt egyszerű. 17
18 Ütemező a folyamatok gyors váltogatásával teremt párhuzamos végrehajtás érzetet. Többprocesszoros rendszerek Több processzor egy gépben Nagyobb teljesítmény Megbízhatóságot általában nem növeli Klaszterek Megbízhatóság növelése elsősorban Kulcskérdés: a közös erőforrások használata 18
19 Avagy, amikor két folyamat ugyanazt a memóriát használja Közös ló Pl: 2 folyamat nyomtatása, közös nyomtatósor Versenyhelyzet: két vagy több folyamat közös memóriát ír vagy olvas, a végeredmény a futási időpillanattól függ! Nehezen felderíthető hibát okoz. Megoldás: Módszer ami biztosítja, hogy a közös adatokat egyszerre csak egy folyamat tudja használni 19
20 Kritikus programterület, szekció, az a rész mikor a közös erőforrást (memóriát) használjuk. A jó kölcsönös kizárás az alábbi feltételeknek felel meg: Nincs két folyamat egyszerre a kritikus szekciójában. Nincs sebesség, CPU paraméter függőség. Egyetlen kritikus szekción kívül levő folyamat sem blokkolhat másik folyamatot. Egy folyamat sem vár örökké, hogy a kritikus szekcióba tudjon belépni. 20
21 A kritikus szekcióba lép A kilép a kritikus szekcióból A processz B processz B megpróbál a kritikus szekcióba lépni B kritikus szekcióba lép B kilép a kritikus szekcióból T 1 T 2 T 3 T 4 Idő 21
22 Megszakítások tiltása (összes) Belépéskor az összes megszakítás tiltása Kilépéskor azok engedélyezése Ez nem igazán jó, mivel a felhasználói folyamatok kezében lenne a megszakítások tiltása persze a kernel használja. Osztott, un. zárolás változó használata 0 (senki) és 1 (valaki) kritikus szekcióban van Két folyamat is kritikus szekcióba tud kerülni! Egyik folyamat belép a kritikus szekcióba, de éppen az 1-re állítás előtt a másik folyamat kerül ütemezésre. 22
23 Szigorú váltogatás: Több folyamatra is általánosítható. A kölcsönös kizárás feltételeit teljesíti a 3 kivételével, ugyanis ha pl 1 folyamat a lassú, nem kritikus szekcióban van, és a 0 folyamat gyorsan belép a kritikus szekcióba, majd befejezi a nem kritikus szekciót is, akkor ez a folyamat blokkolódik mert a kovetkezo=1 lesz! 0. folyamat 1.folyamat while(1) { while(kovetkezo!=0) ; kritikus_szekcio(); kovetkezo=1; nem_kritikus_szekcio(); } while(1) { while(kovetkezo!=1) ; kritikus_szekcio(); kovetkezo=0; nem_kritikus_szekcio(); } 23
24 1981, a szigorú váltogatás javítása A kritikus szekció előtt minden folyamat meghívja a belépés, majd utána kilépés fv-t. #define N 2 int kovetkezo; int akarja[n]; /* a módosított folyamat*/ while(1) { belepes(processz); kritikus_szekcio(); kilepes(processz); nem_kritikus_szekcio(); } void belepes(int proc) { int masik; masik=1-proc; //mivel N=2 // masik=(proc+1) % N; akarja[proc]=1; //processz futni akar kovetkezo=proc; while( kovetkezo==proc && akarja[masik]); } void kilepes(int proc) { akarja[proc]=0; //hamis } 24
25 TSL utasítás Test and Set Lock Atomi művelet (megszakíthatatlan) belepes: TSL regiszter, LOCK cmp regiszter,0 jne belepes ret ; Kilepes: mov LOCK,0 ret ; LOCK a regiszterbe kerül ; és LOCK=1 ; TSL alatt a CPU zárolja a ; memóriasínt!!! ; ha nem 0, ugrás 25
26 A korábbi Peterson megoldás is, a TSL használata is jó, csak ciklusban várakozunk. A korábbi megoldásokat, tevékeny várakozással (aktív várakozás) megoldottnak hívjuk, mert a CPU-t üres ciklusban járatjuk a várakozás során! A CPU időt pazarolja A CPU pazarlása helyett jobb lenne az, ha a kritikus szekcióba lépéskor blokkolna a folyamat, ha nem szabad belépnie! 26
27 Az aktív várakozás nem igazán hatékony Megoldás: blokkoljuk(alvás) várakozás helyett a folyamatot, majd ha megengedett ébresszük fel. sleep wakeup, down-up, stb. Különböző paraméter megadással is implementálhatók. Tipikus probléma: Gyártó-Fogyasztó probléma 27
28 Korlátos tároló problémaként is ismert. PL: Pék-pékség-Vásárló háromszög. A pék süti a kenyeret, amíg a pékség polcain van hely. Vásárló tud venni, ha a pékség polcain van kenyér. Ha tele van kenyérrel a pékség, akkor a pék elmegy pihenni. Ha üres a pékség, akkor a vásárló várakozik a kenyérre. 28
29 Pék folyamat #define N 100 int hely=0; void pék() { int kenyér; while(1) { kenyér=új_kenyér() if (hely==n) alvás(); polcra(kenyér); hely++; if (hely==1) ébresztő(vásárló); } } Vásárló folyamat void vásárló() { int kenyér; while(1) { if (hely==0) alvás(); kenyér=kenyeret(); hely--; if (hely==n-1) ébresztő(pék); megesszük(kenyér); } } 29
30 A hely változó elérése nem korlátozott, így ez okozhat versenyhelyzetet. Vásárló látja, hogy a hely 0 és ekkor az ütemező átadja a vezérlést a péknek, aki süt egy kenyeret. Majd látja, hogy a hely 1, ébresztőt küld a vásárlónak. Ez elveszik, mert még a vásárló nem alszik. Vásárló visszakapja az ütemezést, a helyet korábban beolvasta, az 0, megy aludni. A pék az első után megsüti a maradék N-1 kenyeret és ő is aludni megy! Lehet ébresztő bittel javítani, de több folyamatnál a probléma nem változik. 30
31 E.W. Dijkstra (1965) javasolta ezen új változótípus bevezetését. Ez valójában egy egész változó. A szemafor tilosat mutat, ha értéke 0. A folyamat elalszik, megáll a tilos jelzés előtt. Ha a szemafor >0, szabad a pálya, beléphetünk a kritikus szakaszra. Két művelet tartozik hozzá: Ha beléptünk, csökkentjük szemafor értékét. (down) Ha kilépünk, növeljük a szemafor értékét. (up) Ezeket Dijkstra P és V műveletnek nevezte. 31
32 Elemi művelet: a szemafor változó ellenőrzése, módosítása, esetleges elalvás, oszthatatlan művelet, nem lehet megszakítani! Ez garantálja, hogy ne alakuljon ki versenyhelyzet. Ha a szemafor tipikus vasutas helyzetet jelöl, azaz 1 vonat mehet át csak a jelzőn, a szemafor értéke ekkor 0 vagy 1 lehet! Bináris szemafor Ezt MUTEX-nek (Mutual Exclusion) is hívjuk, kölcsönös kizárásra használjuk. 32
33 Up, Down műveleteknek atominak kell lenni. Nem blokkolhatók! Hogyan? Op. Rendszerhívással, felhasználói szinten nem biztosítható. Művelet elején például letiltunk minden megszakítást. Ha több CPU van akkor az ilyen szemafort védeni tudjuk a TLS utasítással Ezek a szemafor műveletek kernel szintű, rendszerhívás műveletek. A fejlesztői környezetek biztosítják. Ha mégsem gáz van 33
34 Gyártó (pék) függvénye typedef int szemafor; szemafor szabad=1; /*Bináris szemafor,1 mehet tovább, szabad a jelzés*/ szemafor üres=n, tele=0; /* üres a polc, ez szabad jelzést mutat*/ void pék() /* N értéke a kenyerespolc mérete */ { int kenyér; while (1) { kenyér=pék_süt(); down(&üres); /* üres csökken, ha előtte>0, mehet tovább*/ down(&szabad); /* Piszkálhatjuk-e a pékség polcát? */ kenyér_polcra(kenyér); /* Igen, betesszük a kenyeret. */ up(&szabad); /* Elengedjük a pékség polcát. */ up(&tele); /* Jelezzük vásárlónak, van kenyér. */ } } 34
35 Fogyasztó (Vásárló) függvénye. void vásárló() /* vásárló szemaforja a tele */ { int kenyér; while (1) { down(&tele); /*tele csökken, ha előtte>0, mehet tovább*/ down(&szabad); /*Piszkálhatjuk-e a pékség polcát? */ kenyér=kenyér_polcról(); /* Igen, levesszük a kenyeret. */ up(&szabad); /* Elengedjük a pékség polcát. */ up(&üres); /* Jelezzük péknek, van hely, lehet sütni. */ kenyér_elfogyasztása(kenyér); } } 35
36 Szabad: kenyér polcot (boltot) védi, hogy egy időben csak egy folyamat tudja használni (vagy a pék, vagy a vásárló) Kölcsönös kizárás Elemi műveletek (up, down) Tele, üres szemafor: szinkronizációs szemaforok, a gyártó álljon meg ha a tároló tele van, illetve a fogyasztó is várjon ha a tároló üres. 36
37 Unix környezetben: Semget: szemafor létrehozása Semctl: szemafor kontrol, kiolvasás, beállítás Semop: szemafor operáció (up,down művelet) Sembuf struktúra Gyakorlaton részletesen szerepel Most nézzünk egy C# példát szemaforokra. VS Szemafor-pék-vásárló példa. 37
38
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
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
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)
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)
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
Dr. Illés Zoltán
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 Fizikai felépítés Logikai felépítés Folyamatok Létrehozásuk,
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
Operációs rendszerek Folyamatközi kommunikáció 1.1
Operációs rendszerek Folyamatközi kommunikáció 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. Az IPC
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)
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ő
(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
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:
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
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
Előadás_# Az első ZH megírása
Előadás_#05. 1. Az első ZH megírása 2. Szinkronizáció [OR_02_Folyamatok_zs.ppt az 57-114. diáig / nem minden diát érintve] Azok a folyamatok, melyek egymástól nem függetlenek, azaz valamilyen függőség
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
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
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
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;
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
Windows ütemezési példa
Windows ütemezési példa A példában szereplő számolás erősen leegyszerűsített egy valós rendszerhez képest, csak az elveket próbálja bemutatni! Egyprocesszoros Windows XP-n dolgozunk, a rendszer úgy van
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
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ó
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
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ó
Regiszter: Processzor védelmi szintek: Megszakítások: Feladat maszkolása Nem maszkolható feladatok Operációs rendszer: Kommunikáció a perifériákkal:
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 csak 1 gépi
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
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:
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
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
Programozási nyelvek és módszerek Java Thread-ek
Programozási nyelvek és módszerek Java Thread-ek Laki Sándor lakis@inf.elte.hu 2006. május 3. 0-0 Szálak (Threads) Ahhoz, hogy egy mai rendszer m ködhessen több 10-100 folyamatnak kell futnia. A folyamatok
S 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
... 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
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
Operációs rendszerek. Folyamatok
Operációs rendszerek Folyamatok Folyamatok A folyamat (process) a multiprogramozott rendszerek alapfogalma. Folyamat általános definíciója: Műveletek meghatározott sorrendben történő végrehajtása. Műveletek
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
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
Pé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
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
Szkriptnyelvek. 1. UNIX shell
Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek
Dr. Schuster György október 3.
Real-time operációs rendszerek RTOS 2011. október 3. FreeRTOSConfig.h 3/1. Ez a header fájl tartalmazza az alapvető beállításokat. Ezek egyszerű #define-ok az értéküket kell beállítani: FreeRTOSConfig.h
OPERÁCIÓS RENDSZEREK. Elmélet
1. OPERÁCIÓS RENDSZEREK Elmélet BEVEZETÉS 2 Az operációs rendszer fogalma Az operációs rendszerek feladatai Csoportosítás BEVEZETÉS 1. A tantárgy tananyag tartalma 2. Operációs rendszerek régen és most
LabView Academy. 4. óra párhuzamos programozás
LabView Academy 4. óra párhuzamos programozás Ellenőrző kérdések Hogyan lehet letiltani az automatikus hibakezelés funkciót? a) Engedélyezzük az Execution highlighting ot b) A subvi error out cluster-jét
Mir l lesz szó? Operációs rendszerek. A sorbaállási modell. A sorbaállási modell. Er forrás csoportosítás 1. Er forrás csoportosítás 2
Mir l lesz szó? Operációs rendszerek Kölcsönös kizárás - szemaforok A probléma: vetélkedés er forrásokért Alapfogalmak, kívánalmak Megoldások Váltogatás és ki érdekelt, zároló-változó stb. (primitívek,
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
Tartalomjegyzék. Előszó... 10
Előszó... 10 1. Bevezetés a Symbian operációs rendszerbe... 11 1.1. Az operációs rendszer múltja...11 1.2. Az okos telefonok képességei...12 1.3. A Symbian felépítése...15 1.4. A könyv tartalma...17 2.
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
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.
Számítógépes alapismeretek
Számítógépes alapismeretek 0. (meta) 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 /
Számítógép felépítése
Alaplap, processzor Számítógép felépítése Az alaplap A számítógép teljesítményét alapvetően a CPU és belső busz sebessége (a belső kommunikáció sebessége), a memória mérete és típusa, a merevlemez sebessége
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
Operációs rendszerek. Folyamatok ütemezése
Operációs rendszerek Folyamatok ütemezése Alapok Az ütemezés, az események sorrendjének a meghatározása. Az ütemezés használata OPR-ekben: az azonos erőforrásra igényt tartó folyamatok közül történő választás,
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
Folyamatszálak. Folyamatszálak. Folyamat. Folyamatszál. Szálak felépítése. Folyamatszálak általános jellemzői
Folyamatszálak Folyamatszálak A több szál fogalma először az időszeletes rendszereknél (time sharing systems) jelent meg, ahol egyszerre több személy is bejelentkezhetett egy központi számítógépre. Fontos
A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.
Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód
Az 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
Tartalom. Operációs rendszerek. Precedencia. 3.2 Szinkronizáció. 3.1 Folyamatokból álló rendszerek. Együttműködő folyamatok használatának indokai
Tartalom Operációs rendszerek 3. Folyamatok kommunikációja Simon Gyula Bevezetés Szinkronizáció A kritikus szakasz megvalósítási módozatai Információcsere ok között Felhasznált irodalom: Kóczy-Kondorosi
BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!
BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA #A script bekér egy nevet és egy kort, majd kiírja a képernyőre echo -n "Adja meg a nevét: " read NEV echo -n "Adja meg az életkorát: " read KOR echo "Az Ön neve: $NEV, kora:
Balogh Ádám Lőrentey Károly
Architektúrák és operációs rendszerek: Folyamatok, ütemezés Balogh Ádám Lőrentey Károly Eötvös Loránd Tudományegyetem Informatikai Kar Algoritmusok és Alkalmazásaik Tanszék Tartalomjegyzék 1. A folyamat
Operációs rendszerek. 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ó
Informatikai rendszerek alapjai (Informatika I.)
Informatikai rendszerek alapjai (Informatika I.) NGB_SZ003_1 Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba 4. Előadás Operációs rendszer fogalma, funkciói Operációs rendszerek
Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges
Digitális technika VIMIAA01 9. hét
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges
Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread
Végrehajtási szálak Runnable, Thread Végrehajtási szálak Java-ban A Java program az operációs rendszer egy folyamatán (process) belül fut. A folyamat adat és kód szegmensekből áll, amelyek egy virtuális
Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED BASH bevezetés, script írása, futtatása Operációs rendszerek 4. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
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)
Podoski Péter és Zabb László
Podoski Péter és Zabb László Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök előnyeit és hiányosságait Kidolgoztunk egy saját megjelenítő
Szálak szinkronizálása (Ro- Sincronizarea threadurilor)
Szálak szinkronizálása (Ro- Sincronizarea threadurilor) A gyakorlat célja: Megismerkedni a szálak szinkronizációs metódusaival és alkalmazásuk a Windows környezetben. Elméleti bevezető: Szálak szinkronizálása:
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
Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek
Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő
Számítógépek felépítése
Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák
Digitális rendszerek. Utasításarchitektúra szintje
Digitális rendszerek Utasításarchitektúra szintje Utasításarchitektúra Jellemzők Mikroarchitektúra és az operációs rendszer közötti réteg Eredetileg ez jelent meg először Sokszor az assembly nyelvvel keverik
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
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
A programozás alapjai
A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,
Operá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
Magas szintű optimalizálás
Magas szintű optimalizálás Soros kód párhuzamosítása Mennyi a várható teljesítmény növekedés? Erős skálázódás (Amdahl törvény) Mennyire lineáris a skálázódás a párhuzamosítás növelésével? S 1 P 1 P N GPGPU
ELTE SAP Excellence Center Oktatóanyag 1
Oktatóanyag 1 A dataset egy az alkalmazás-szerveren megtalálható illetve ott létrejövő szekvenciális fájl. Szerveroldali fájlkezelésre használják az SAP-ban. Megjegyzés: Amennyiben kliens oldalon található
Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek - 105 1. oldal LINUX
1. oldal LINUX 2. oldal UNIX történet Elozmény: 1965 Multics 1969 Unix (Kernighen, Thompson) 1973 Unix C nyelven (Ritchie) 1980 UNIX (lényegében a mai forma) AT&T - System V Microsoft - Xenix Berkeley
Termelő-fogyaszt. fogyasztó modell
Termelő-fogyaszt fogyasztó modell A probléma absztrakt megfogalmazása Adott egy N 1 kapacitású közös tároló. Adott a folyamatok két csoportja, amelyek a tárolót használják. n 1 termelő folyamat, m 1 fogyasztó
Ü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
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-é.
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
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.
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
Fájlrendszerek. A Windows operációs rendszerek fájlrendszere
Fájlrendszerek A Windows operációs rendszerek fájlrendszere Fájlrendszerek definíció A számítástechnika egy fájlrendszer alatt a számítógépes fájlok tárolásának és rendszerezésének a módszerét érti, ideértve
Webprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
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
Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor
Ismerkedjünk tovább a számítógéppel Alaplap és a processzeor Neumann-elvű számítógépek főbb egységei A részek feladatai: Központi egység: Feladata a számítógép vezérlése, és a számítások elvégzése. Operatív
6. 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
Operációs rendszerek Elméleti zh összefoglaló anyag 8 oldal
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 csak 1 gépi
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.
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
Dr. Schuster György október 14.
Real-time operációs rendszerek RTOS 2011. október 14. A fordítás vázlata prog.c Előfeldolgozó Átmenti állomány Fordító prog.obj más.obj-tek könyvtárak indító kód Linker futtatható kód Ismétlés Előfeldolgozó
Operációs rendszerek. Folyamatok
Operációs rendszerek Folyamatok Folyamatok A folyamat (process) a multiprogramozott rendszerek alapfogalma. Folyamat általános definíciója: műveletek meghatározott sorrendben történő végrehajtása. A műveletek
Vezérlési szerkezetek
Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását
SZÁMÍTÓGÉP ARCHITEKTÚRÁK
SZÁMÍTÓGÉP ARCHITEKTÚRÁK Az utasítás-pipeline szélesítése Horváth Gábor, Belső Zoltán BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 2018-05-19 1 UTASÍTÁSFELDOLGOZÁS
es tanév őszi félév Tantárgyi követelményrendszer és programleírás
I. Követelményrendszer 1. Tantárgynév, kód, kredit, választhatóság: Operációs rendszerek, MAI3A8IN, 5 kredit, kötelező 2. Felelős tanszékszakcsoport: Automatizálási és Alkalmazott Informatikai szakcsoport
Előadás_#06. Előadás_06-1 -
Előadás_#06. 1. Holtpont, Éheztetés [OR_04_Holtpont_zs.ppt az 1-48. diáig / nem minden diát érintve] A holtpont részletes tárgyalása előtt nagyon fontos leszögezni a következőt: Az éheztetés folyamat szintű
Bevezetés az informatikába
Bevezetés az informatikába 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 Matematikus BSc - I. félév / 2008 / Budapest Dr.