Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)



Hasonló dokumentumok
Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Matematikai és Informatikai Intézet. 4. Folyamatok

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

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

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. Folyamatok kezelése a UNIX-ban

Windows ütemezési példa

(kernel3d vizualizáció: kernel245_graph.mpg)

Ütemezés (Scheduling),

Ütemezés (Scheduling),

Operációs rendszerek Folyamatok 1.1

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése

Operációs Rendszerek II.

Feladatok (task) kezelése multiprogramozott operációs rendszerekben

Operációs Rendszerek II.

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

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

Operációs rendszerek MINB240

Operációs rendszerek

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés / 21

Bevezetés az informatikába

Számítógépes alapismeretek

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

Folyamatok. 6. előadás

Informatikai rendszerek alapjai (Informatika I.)

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

Operációs rendszerek II. Folyamatok ütemezése

Architektúra, megszakítási rendszerek

386 processzor címzés

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

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

Operációs rendszerek

Tartalom. Operációs rendszerek Bevezetés CPU ütemezés. Középtávú ütemezés. Hosszútávú ütemezés

Operációs rendszerek 1. kidolgozott tételsor Verzió: 1.0 (Build: )

Operációs rendszerek MINB240

Operációs rendszerek

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

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

Konkurens TCP Szerver

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

Operációs rendszerek. A Windows NT

Magas szintű optimalizálás

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

Párhuzamosság a modern operációs rendszerekben

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

OPERÁCIÓS RENDSZEREK II GYAKORLAT

Operációs rendszerek. Bemutatkozás

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

Operációs rendszerek III.

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

Feladatok (task) kezelése multiprogramozott operációs rendszerekben

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

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

Operációs rendszerek. Folyamatok ütemezése

Operációs rendszerek MINB240

OPERÁCIÓS RENDSZEREK. Elmélet

Operációs rendszerek MINB240

Mértékegységek a számítástechnikában

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

Digitális rendszerek. Digitális logika szintje

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

Folyamatok kezelése. Az operációs rendszerek egyik legfontosabb feladata a folyamatok kezelése.

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Utolsó módosítás:

Hozzáférés a HPC-hez, kezdő lépések (előadás és demó)

A számítógép egységei

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

Dr. Illés Zoltán

Programozási nyelvek és módszerek Java Thread-ek

Condor rendszer röviden. IKTA NI-2000/0008 munkaszkasz zárókonferencia

Operációsrendszerek. 2. elıadás. Standard ismeretek II.

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

Operációs rendszerek. 1. Bevezetö. Operációs rendszer: nincs jó definíció

Analitikai megoldások IBM Power és FlashSystem alapokon. Mosolygó Ferenc - Avnet

Operációs rendszerek előadás Multiprogramozott operációs rendszerek

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

Az előadás magáncélra szabadon felhasználható. Köz- és felsőoktatásban felhasználható, csak előtte kérlek írj egy t nekem.

Operációs rendszerek Folyamatközi kommunikáció 1.1

Párhuzamos és Grid rendszerek

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

Programok, statikus linkelés

Dr. Illés Zoltán

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

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

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Balogh Ádám Lőrentey Károly

Dr. Illés Zoltán

Számítógép Architektúrák

Az időhöz kötődő parancsok

A Számítógépek hardver elemei

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

Az interrupt Benesóczky Zoltán 2004

Operációs rendszerek 1.

Adatbázis és alkalmazás konszolidáció Oracle SPARC T4/5 alapon

3Sz-s Kft. Tisztelt Felhasználó!

SQLServer. SQLServer konfigurációk

Tartalom 1 BIZTONSÁGI UTASÍTÁSOK 2 2 CSOMAG TARTALMA 3 3 A TERMÉK NÉZETEI 4 4 RENDSZERCSATLAKOZTATÁS 5

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

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

Párhuzamos és Grid rendszerek. Hol tartunk? Klaszter. Megismerkedtünk az alapfogalmakkal,

Átírás:

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) 4. Ütemezés (scheduling) 5. Kommunikáció

2 A folyamat (processzus, process) fogalma A program - a háttértárolón várakozó, végrehajtható fájl. A folyamat - a program egy memóriában futó példánya + az adott példány végrehajtásával kapcsolatos OS tevékenysége. Def: a program végrehajtása + vele (azzal) kapcsolatos teendők. Példa: Tortasütés +Darázscsípés

3 A teendők: ahol PCB Process Control Block folyamat leíró blokk

4 Műveletek: 1. A folyamat létrehozása (rendszer inicializáció, felhasználó kérés, kötegelt csomag indítása) 2. A folyamat befejezése (normális, belső hiba, kritikus/javíthatatlan hiba, erőteljes/erőszakos befejezése, azaz killing) 3. Megszakítása (magasabb rangú folyamat indítása miatt, várakozás) 4. Gyermek (child) létrehozása Hierarchia: Egy folyamatnak lehet gyermeke. Gyermek-folyamatnak lehet saját gyermeke. Minden gyermeknek csak egy szülő-folyamata van. Együtt csoportot (UNIX/LINUX - group) alkotnak. Windowsban ilyen hierarchia nincsen.

5 Állapot (state): 1. Futásra kész (ready) 2. Fut (running) 3. Várakozik (blocked)

6 Processzus állapot információk: UNIX/LINUX: ps, top; Windows: Task manager (Ctrl-Al-Del) vagy What Process, stb % ps -ef more UID PID PPID C STIME TTY TIME CMD root 0 0 0 Sep 18? 0:17 sched root 418 1 0 Sep 18? 0:00 /usr/lib/saf/sac -t 300 daemon 156 1 0 Sep 18? 0:00 /usr/lib/nfs/statd % top load averages: 0.01, 0.03, 0.05 22:46:49 81 processes: 80 sleeping, 1 on cpu CPU states: 99.4% idle, 0.4% user, 0.2% kernel, 0.0% iowait, 0.0% swap Memory: 256M real, 27M free, 61M swap in use, 451M swap free PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND 13066 boris 1 33 0 1472K 1384K cpu 0:00 0.16% top 164 root 6 7 0 7952K 4088K sleep 25:32 0.15% automountd 13072 www 4 24 0 5928K 3288K sleep 0:00 0.09% httpd

7

8

9 Megvalósítás - Folyamat tábla mezei (process table)

10 Szálak - folyamatokhoz hasonló fogalom. A folyamaton belül több tevékenység végezhető párhuzamosan (ha egy processzor van) vagy párhuzamosan (ha több processzor van). Nincs saját memória, saját erőforrás csak a regiszterek, program címszámláló (PC Program Counter) és a verem sajátja (+állapot) minden más közös a folyamatával (fájlok, nyomtatók, stb.) Előny: Gyors váltást tesz lehetővé Osztott erőforrások (memória!) Párhuzamosság Időszelet kvantum (quantum): az a maximális idő, ameddig az OS futni engedi a szálat. A kvantum értéke a szálakhoz van rendelve, szálanként változhat.

11 Példák: Szövegszerkesztő, táblázatkezelő, Web-szerver, Nagy méretű adatok feldolgozása, stb.: Szöveg formálása Mentés Billentyűzet, egér Helyesírás ellenőrzés még egy szál?

12 Sok adat esetén: Folyamat 2. szál: Feldolgozás 1. szál: az adatok beolvasása 3. szál: Az eredmények mentése

13 Problémák Természetes megoldás: párhuzamos kód több folyamat (hiszen erre való!) Ez így jó (is volt sokáig), de: Létrehozásuk, megszűntetésük drága (regiszterek, memória, adatok) Kommunikáció, együttműködés (drága) kernel műveletekkel lehetséges Kell szálállapot-tábla (Hol? Programban? Kernelben?) Folyamatok közötti váltás költséges (szálakat is kell lekezelni!) Általában: kernel funkciók futtatása drága!

14 Megvalósítás: Kernel által támogatott szálak (Machintosh és OS/2)

15 Felhasználói szintű szálak (Windows NT-tól)

16 Vegyes (hibrid) megközelítés: kernel- és felhasználói szintű szálak (Solaris 2)

17 Ütemezés (scheduling) Cél: mindig legyen legalább egy processzus, amelyik képes és kész a processzort lefoglalni. Processzus ütemezési sorok (queue): job queue (munka sor) ready queue (készenléti sor) device queue (berendezésre váró sor) Folyamat migráció az egyes sorok között: FIFO First In First Out, FILO First In Last Out,

18 Folyamat ütemezők: 1. Hosszútávú ütemező (long term scheduler, job scheduler) Feladat: a job queue kezelése 2. Rövidtávú ütemező (short term scheduler, CPU scheduler) Feladat: melyik folyamat kapja meg következő alkalommal a CPU-t, gyorsaság lényeges Szempontok: A. I/O igényes és CPU igényes folyamatok B. Context switch tartalma (process context a várakozó processzus további indításához vagy folytatásához szükséges összes információ rendszerezve) C.

19 Kommunikáció szükséges a következő szituációkban: 1. Adatok átadása az egyik folyamatból a másiknak (Pipelining) 2. Közös erőforrások használata (memória, nyomtató, stb.) Példa: Az eredmény: az a.txt fájl a nyomtatási sorba nem kerül.

20 Versenyhelyzet race condition Kritikus szekció (Critical section): a program (vagy folyamat) az a része, ahol előfordulhat versenyhelyzet. Megoldás: Egyszerre csak egy folyamat lehet kritikus szekcióban. Amíg a folyamat kritikus szekcióban van, azt nem szabad megszakítani. Ebből a megoldásból származhatnak új problémák