Matematikai és Informatikai Intézet. 4. Folyamatok



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

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

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

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

Fazekas Gábor. Operációs rendszerek. mobidiák könyvtár

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

Operációs rendszerek MINB240

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

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

Operációs rendszerek Folyamatok 1.1

(kernel3d vizualizáció: kernel245_graph.mpg)

Operációs rendszerek

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

Ütemezés (Scheduling),

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

Ütemezés (Scheduling),

Operációs Rendszerek II.

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

Konkurens TCP Szerver

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

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

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

Operációs rendszerek. Bemutatkozás

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

OPERÁCIÓS RENDSZEREK II GYAKORLAT

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

Fazekas Gábor. Operációs rendszerek. mobidiák könyvtár

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

Operációs rendszerek

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

386 processzor címzés

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

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

Operációs rendszerek. A Windows NT

Operációs Rendszerek II.

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

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

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

Elosztott rendszerek

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

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

Operációs rendszerek III.

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

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

Windows ütemezési példa

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

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

Informatikai rendszerek alapjai (Informatika I.)

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

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

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

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

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

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.

Párhuzamos és Grid rendszerek

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

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

8. Memória management

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

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

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

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

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

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

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

Operációs rendszerek MINB240

Programok, statikus linkelés

A Számítógépek felépítése, mőködési módjai

Digitális rendszerek. Digitális logika szintje

1. Fejezet: Számítógép rendszerek. Tipikus számítógép hirdetés

UNIX folyamatok kommunikációja

OPERÁCIÓS RENDSZEREK. Elmélet

es tanév őszi félév Tantárgyi követelményrendszer és programleírás

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

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

Az interrupt Benesóczky Zoltán 2004

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete






















Átírás:

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

A folyamat (processzus) fogalma A folyamat (processzus): végrehajtás alatt álló program. Betölthetô program (jellemzôi) passzív lemezen tárolt betöltési cím belépési pont Processzus (jellemzôi) aktív a memóriában van/volt program címszámláló értéke regiszterek értéke lokális/globális változók értéke verem állapota core dump A processzus állapotai új (new) felvéve interrupt befejezett (terminated) futásra kész (ready) ütemezô intézkedése futó (running) I/O vagy esemény befejezôdése várakozó (waiting) 50 I/O eredménye vagy esemény kell

Processzus - vezérlô blokk (Process Control Block PCB) processzus állapot (process state) : new, ready, running, waiting, halted, sleeping, Program címszámláló (PC) értéke CPU regiszterek tartalma memória foglalási adatok account/user adatok I/O státusz információ (a folyamathoz rendelt I/O erôforrások, állományok listája) Processzus állapot információk (UNIX: ps, top; NT: Task manager) TOP: last pid: 9099; load averages: 0.00, 0.00, 0.01 11:33:35 29 processes: 28 sleeping, 1 on cpu CPU states: 99.6% idle, 0.2% user, 0.2% kernel, 0.0% iowait, 0.0% swap Memory: 128M real, 58M free, 120M swap free PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND 9099 fazekas 1 58 0 2608K 1952K cpu 0:00 0.42% top 226 root 1 58 0 912K 672K sleep 0:00 0.02% utmpd 4081 root 1 58 0 1904K 1648K sleep 0:00 0.02% sshd 4084 fazekas 1 48 0 2600K 2160K sleep 0:00 0.00% tcsh 583 root 1 45 0 1760K 1024K sleep 3:30 0.00% sshd 1 root 1 58 0 680K 312K sleep 0:02 0.00% init 166 root 5 58 0 2720K 2144K sleep 0:01 0.00% automountd 8895 root 1 59 0 9208K 10M sleep 0:01 0.00% Xsun 239 root 5 22 0 2296K 1928K sleep 0:00 0.00% vold 212 root 3 22 0 1168K 848K sleep 0:00 0.00% powerd 170 root 8 35 0 3608K 1936K sleep 0:00 0.00% syslogd 592 root 1 38 0 1560K 1120K sleep 0:00 0.00% ttymon 51

PS: USER PID %CPU %MEM SZ RSS TT S START TIME COMMAND fazekasg 513 1.1 2.012192 9848? S 15:00:12 0:38 /usr/openwin/bin/xsun :0 -nobanner -auth /var/dt/a:0-0s6gpt root 989 0.2 0.2 1184 1064 pts/6 O 08:41:39 0:00 ps -augx fazekasg 722 0.1 0.4 1992 1784 pts/6 R 15:39:28 0:00 /bin/tcsh fazekasg 719 0.1 0.7 3840 3128?? S 15:39:28 0:00 /usr/openwin/bin/cmdtool fazekasg 984 0.1 0.7 4528 3424? S 08:40:53 0:00 /usr/openwin/bin/textedit root 3 0.1 0.0 0 0? S 14:52:17 0:37 fsflush fazekasg 744 0.1 0.7 3864 3176?? S 15:57:25 0:00 /usr/openwin/bin/cmdtool fazekasg 620 0.1 0.4 2472 2080 pts/2 S 15:01:22 0:00 olwm -syncpid 619 fazekasg 733 0.1 0.7 3848 3120?? S 15:43:04 0:00 /usr/openwin/bin/cmdtool fazekasg 636 0.0 1.0 5496 4896 pts/2 S 15:01:38 0:03 /usr/openwin/bin/filemgr -Wp 0 291 -Ws 592 439 -WP 81 833 +Wi root 0 0.0 0.0 0 0? T 14:52:16 0:00 sched root 1 0.0 0.1 664 312? S 14:52:17 0:00 /etc/init - root 2 0.0 0.0 0 0? S 14:52:17 0:00 pageout root 119 0.0 0.3 1872 1240? S 14:53:04 0:00 /usr/sbin/rpcbind root 121 0.0 0.3 1992 1296? S 14:53:04 0:00 /usr/sbin/keyserv root 127 0.0 0.3 1920 1488? S 14:53:05 0:00 /usr/sbin/nis_cachemgr root 149 0.0 0.4 1928 1712? S 14:53:18 0:00 /usr/sbin/inetd -s root 154 0.0 0.4 2264 1824? S 14:53:18 0:00 /usr/lib/nfs/statd root 156 0.0 0.3 1864 1528? S 14:53:18 0:00 /usr/lib/nfs/lockd root 174 0.0 0.5 2912 2488? S 14:53:19 0:00 /usr/lib/autofs/automountd root 178 0.0 0.4 3712 2032? S 14:53:20 0:00 /usr/sbin/syslogd root 189 0.0 0.3 1808 1456? S 14:53:20 0:00 /usr/sbin/cron root 201 0.0 0.5 2824 2512? S 14:53:21 0:00 /usr/sbin/nscd root 211 0.0 0.2 2640 952? S 14:53:24 0:00 /usr/lib/lpsched root 229 0.0 0.2 1152 840? S 14:53:27 0:00 /usr/lib/power/powerd root 232 0.0 0.4 2104 1696? S 14:53:27 0:00 /usr/lib/sendmail -bd -q1h root 244 0.0 0.2 888 712? S 14:53:28 0:00 /usr/lib/utmpd root 259 0.0 0.4 2248 1936? S 14:53:29 0:01 /usr/sbin/vold root 289 0.0 0.3 1840 1376? S 14:53:35 0:00 /usr/lib/snmp/snmpdx -y -c /etc/snmp/conf root 298 0.0 0.4 2496 1704? S 14:53:37 0:00 /usr/lib/dmi/dmispd root 299 0.0 0.5 3144 2304? S 14:53:38 0:00 /usr/lib/dmi/snmpxdmid -s pader 52

Folyamat ütemezés (scheduling) Cél: mindig legyen legalább egy processzus, amelyik képes és kész a processzort lefoglalni. Processzus ütemezési sorok: 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: 53

Folyamat ütemezôk: Hosszútávú ütemezô (long term scheduler, job scheduler) mi kerül a job queue-ba, lehet lassú, a multiprgramozás foka Rövidtávú ütemezô (short term scheduler, CPU scheduler) melyik folyamat kapja meg következô alkalommal a CPU-t, gyorsaság lényeges Szempontok: I/O igényes és CPU igényes folyamatok Context switch (process context a processzus továbbindításához szükséges összes információ rendszerezve, struktúrálva kapcsolódó adatszerkezetek.) 54

Folyamatokon végzett "mûveletek" (operációk) Processzus létrehozása (kezdeti betöltést kivéve processzust csak processzus hozhat létre!) Mechanizmusa: egy szülô (parent) folyamat létrehozhat gyermek (child) folyamatokat, majd a gyermekek további gyermekeket fastruktúra Erôforrás megosztás: Szülô és gyermek közösen használ minden erôforrást. A gyermek a szülô erôforrásainak egy részét használhatja. Nincs közös erôforráshasználat. Végrehajtás: Szülô és gyermek konkurens módon fut. (UNIX: parancs&) Szülô a gyermekre vár. (UNIX: parancs ) Címtér (address space) A gyermek a szülô duplikáltja. A gyermek betölt egy programot önmaga helyett. UNIX példák: fork, execve 55

Processzus megszün(tet)ése (termination) A folyamat végrehajtja az utolsó utasítását, majd megkéri az operációs rendszert, hogy törölje 56