OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

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

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

Matematikai és Informatikai Intézet. 4. Folyamatok

OPERÁCIÓS RENDSZEREK II GYAKORLAT

UNIX folyamatok kommunikációja

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

Operációs Rendszerek II. labor alkalom

(kernel3d vizualizáció: kernel245_graph.mpg)

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

Gyors tippek linuxra

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

chmod umask chown, chgrp

Példa: Aktuális könyvtár tartalmának fájlba mentése, melynek neve az aktuális dátum és idő: ls l > `date+%f_%h-%m`.txt

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

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

Szkriptnyelvek. 1. UNIX shell

Operációs rendszerek Folyamatok 1.1

Ütemezés (Scheduling),

Ütemezés (Scheduling),

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

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

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

Windows ütemezési példa

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

OPERÁCIÓS RENDSZEREK. A mai program. Hiba és eseménykezelés. Alapfogalmak. Eseménykezelés, szignálozá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

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

UNIX folyamatok kommunikációja

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

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

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

Folyamatok követése. Tartalom. 1. Folyamatok

Néhány kihagyhatatlan Linux tipp és trükk. Ezeket a tippeket olvasóink osztották meg velünk

Jelzések és kezelésük

Operációs Rendszerek II.

Thermo1 Graph. Felhasználói segédlet

Operációs rendszerek

Az interrupt Benesóczky Zoltán 2004

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

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

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

Operációs rendszerek MINB240

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

Operációs rendszerek MINB240

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

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

Informatikai rendszerek alapjai (Informatika I.)

Belépés a rendszerbe. Gyors menü

Számítógépes alapismeretek

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

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

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

Operációs rendszerek MINB240

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

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek oldal LINUX

Architektúra, megszakítási rendszerek

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

Dr. Schuster György október 3.

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Operációs rendszerek. UNIX fájlrendszer

Konkurens TCP Szerver

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

Unix-Linux alapok II. gyakorlatvezető: Lutár Patrícia

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

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

Bevezetés az informatikába

Balogh Ádám Lőrentey Károly

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

Programozás alapjai gyakorlat

Az Ön kézikönyve STRONG SRT 50

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

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

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

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

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Perifériák hozzáadása a rendszerhez

Számítógépes alapismeretek

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

Telepítési Kézikönyv

Operációs rendszerek

Dr. Illés Zoltán

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

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Operációs rendszerek. Bemutatkozás

Operációs rendszerek

UNIX: folyamatok kommunikációja

A perzisztens adatkezelő rendszer tesztelése és demonstrálása a GRID környezetben

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

Operációs Rendszerek példatár. Utolsó frissítés: február 10.

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.

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Laborgyakorlat: A Windows XP haladó telepítése

S z á m í t ó g é p e s a l a p i s m e r e t e k

Átírá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 FUTÁSKÉSZ Ütemező FUTÓ IO művelet vagy esemény bekövetkezett VÁRAKOZÓ IO műveletre vagy eseményre vár

A PROCESS CONTROL BLOCK Pointer: egy következő PCB-re mutat. POINTER PROCESSZ ÁLLAPOT PROCESSZ SORSZÁMA PROGRAM COUNTER CPU REGISZTEREK MEMÓRIA INFORMÁCIÓK NYITOTT FÁJLOK FUTÁSI IDŐK lsof parancs Processz állapot: új, futáskész, futó, várakozó, terminált. Processz sorszáma: a process azonoítására szolgáló szám. Program counter: a soron következő utasításra mutató pointer. CPU regiszterek: a program futása során beállított CPU regiszterek (akkumulátorok, stack pointerek stb.) Memória információk: a processz memória felhasználásával kapcsolatos információk. Nyitott fájlok listája (lsof parancs). Futási idők: a processz áktal elhasznált rendszer idők (time parancs).

MULTITASKING CONTEXT SWITCH Megszakítás Állapot elmentése a PCB-be Állapot visszatöltése PCB-ből Tétlen Tétlen Megszakítás Állapot elmentése PCB-be Tétlen Állapot visszatöltése PCB-ből

ÜTEMEZÉSI ALGORITMUSOK FIRST COME FIRST SERVE (FCFS) A legrégebben várakozó processz kerül előre. A processzek egy várakozási listában helyezkednek el, az ütemező a sor elején levőt szolgálja ki. Hátránya: nem időosztásos eljárás, így egy hosszú futási idejű processz feltartja az őt követőket. Process Érkezési idő Futási idő P0 0 5 P1 1 3 P2 2 8 P3 3 6 P0 P1 P2 P3 0 5 8 16 22

ÜTEMEZÉSI ALGORITMUSOK ROUND ROBIN Időosztásos eljárás. Minden processz azonos időszeletet kap, ennek neve: quantum. Hátránya: a priorizálás hiánya. Túl nagy quantum esetén átmegy FCFS-be, túl rövid esetén nagyon sok időt vesz el a processzek váltásának feladata. Process Érkezési idő Futási idő P0 0 5 P1 1 3 P2 2 8 P3 3 6 P2 P3 P0 P1 P2 P3 0 3 6 9 12 15 18

ÜTEMEZÉSI ALGORITMUSOK PRIORITÁSOS ÜTEMEZÉS Időosztásos eljárás. Minden processzhez egy prioritást is rendel az operációs rendszer, a következő futtatandó processz kiválasztásának ez az alapja. Azonos prioritású processzek round robin ütemezésben futnak. Process Érkezési idő Futási idő Prioritás P0 0 5 1 P1 1 3 2 P2 2 8 1 P3 3 6 3 P3 P1 P0 P3 0 6 9 14 22

PROGRAMOK INDÍTÁSA PROGRAM INDÍTÁSA A $PATH környezeti változó Futásidő mérése a time paranccsal. sudo su

PROGRAMOK INDÍTÁSA PROGRAM INDÍTÁSA A HÁTTÉRBEN A & jelentése nohup [ctrl][z] / fg feri@columbo:~$ hosszanfuto & [1] 32280 feri@columbo:~$ nohup hosszanfuto & [1] 32297

PROCESSZEK PROCESSZEK ÁLLAPOTA feri@columbo:~$ ps axu USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 33476 2240? Ss febr17 0:09 /sbin/init root 2 0.0 0.0 0 0? S febr17 0:00 [kthreadd] root 3 0.0 0.0 0 0? S febr17 0:04 [ksoftirqd/0] root 5 0.0 0.0 0 0? S< febr17 0:00 [kworker/0:0h] USER: a folyamat tulajdonosa PID: a folyamat azonosítója %CPU: a processzor használat mértéke %MEM: a memória használat mértéke TTY: a vezérlő terminál azonosítója STAT: a folyamat állapota START: Az indítás ideje TIME: a processz által eddig elhasznált processzor idő CMD: a processz neve

PROCESSZEK PROCESSZEK SZERVEZÉSE feri@columbo:~$ pstree init!"!acpid #!atd #!cron!!!cron!!!sh!!!check_sys_every!!!sleep #!dbus-daemon #!exim4 #!6*[getty] #!inetd #!rsyslogd!!!3*[{rsyslogd}] #!sshd!!!sshd!!!sshd!!!bash!!!pstree #!systemd-logind #!systemd-udevd #!upstart-file-br #!upstart-socket- #!upstart-udev-br #!vmtoolsd $!whoopsie!!!2*[{whoopsie}] pstree top htop pgrep feri@columbo:~$ pgrep sshd 785 20837 20936

PROCESSZEK PRIORITÁS KEZELÉSE nice renice feri@columbo:~$ nice 10 szamol root@columbo:~# renice -10 785 785 (process ID) old priority 0, new priority -10 Prioritás -10 és +10 intervallumban Alapértelmezett érték: 0 A nagyobb érték alacsonyabb prioritást jelent Paraméter: processz id Csak a processz tulajdonosa vagy a rendszergazda változtathat az értékén. Negatív értéket csak rendszergazda adhat meg.

SZIGNÁLOK SZIGNÁLOK A szignál egy állapotjelző, mely a címzett processzben kiváltja a kezelést végző függvény meghívását. Szignál Hatás Leírás SIGHUP (HangUp) A processz konfigurációs fájljának újraolvasása SIGINT (Interrunpt) Processz befejezése CTRL-C SIGTERM (Terminate) SIGKILL (Kill) SIGSTOP (Stop) Processz befejezése Processz befejezése Processz megállítása Program szabályos leállítása (mentéssel) Program leállítása azonnal (a processz nem tudja befolyásolni) Blokkolt állapotba kerül, billentyűzetről: [ctrl][z] SIGCONT (Continue) Processz indítása Futásra kész állapotba kerül, és vár SIGALRM (Alarm) Az OS a megadott idő lejárta után küld jelzést a processznek (timer).

SZIGNÁLOK SZIGNÁLOK KÜLDÉSE kill killall slay feri@columbo:~$ kill -HUP 8192 feri@columbo:~$ kill 11823 feri@columbo:~$ kill -9 16384 feri@columbo:~$ killall -9 mc feri@columbo:~$ slay feri

SZIGNÁLOK SZIGNÁLOK MEGVALÓSÍTÁSA TMPFILE="/tmp/atmeneti-$$.tmp" feri@columbo:~$ kill 23222 trap exit_handler EXIT exit_handler() { echo "Atmeneti fajlok torlese" rm $TMPFILE } touch $TMPFILE for i in `seq 1 1 1000`; do echo $$: $i sleep 1 done

PROCESSZEK ÜTEMEZETT INDÍTÁSA AT Háttérfolyamat időzített indítása. Működését az atd biztosítja. root@columbo:/var/spool/cron# at 12:20 warning: commands will be executed using /bin/sh at> echo "Hello" >/tmp/hello.txt <EOT> job 196 at Wed Mar 9 12:20:00 2016 root@columbo:~# ls -l /var/spool/cron/atjobs/ összesen 8 -rwx------ 1 root daemon 2382 márc 9 07:11 a000c30172aac8 -rwx------ 1 root daemon 2401 márc 9 07:11 a000c40172aac8 A daemon olyan háttérben futó program, amely nem rendelkezik közvetlen kapcsolattal a felhasználó felé. at atq atrm atd at Daemon 1 2 2016.03.12 16:30 kiss.lajos /home/kiss.lajos/szamol 2016.08.20 12.10 root /usr/bin/karbantart

PROCESSZEK ÜTEMEZETT INDÍTÁSA CRON Rendszeresen ismétlődő háttérfolyamatok indítására szolgál. Működését a crond biztosítja. root@columbo:~# crontab -e # m h dom mon dow command * * * * * date >>/tmp/hello.txt root@columbo:~# ls -l /var/spool/cron/crontabs/ összesen 16 -rw------- 1 feri crontab 1157 ápr 12 2014 feri -rw------- 1 FGDYLU crontab 1135 máj 13 2015 FGDYLU -rw------- 1 QKIDVD crontab 1091 máj 14 2015 QKIDVD -rw------- 1 root crontab 1122 márc 9 07:30 root /etc/crontab crond cron Daemon 1 2

HÁTTÉRFOLYAMATOK A DAEMON/SERVICE Indításuk, automatikus indulásuk Windows és Unix alatt