Operációs rendszerek 1.

Hasonló dokumentumok
OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

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

chmod umask chown, chgrp

1. Alapok. #!/bin/bash

Operációs Rendszerek II. labor alkalom

Operációs rendszerek 1.

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

(kernel3d vizualizáció: kernel245_graph.mpg)

OPERÁCIÓS RENDSZEREK II GYAKORLAT

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

Szkriptnyelvek. 1. UNIX shell

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

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

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

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

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

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

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

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

Operációs rendszerek Folyamatok 1.1

Hardver és szoftver követelmények

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

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Matematikai és Informatikai Intézet. 4. Folyamatok

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

A legfontosabb DOS parancsok

Linux parancsok összefoglaló.

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

Operációs rendszerek 1.

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

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

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

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. #!

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

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

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.

BASH script programozás II. Vezérlési szerkezetek

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

BASH SCRIPT SHELL JEGYZETEK

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

Az SQL*Plus használata

Gyors tippek linuxra

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

UNIX folyamatok kommunikációja

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

Thermo1 Graph. Felhasználói segédlet

Programozás alapjai óra. Morvai Flórián, 2010 Dr. Dévényi Károly előadásvázlata alapján

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

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

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

AWK programozás, minták, vezérlési szerkezetek

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

Operációs Rendszerek II.

Programozás alapjai gyakorlat

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

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:

A d m i n i s z t r á c i ó s f e l a d a t o k a I n t e g r á l t K ö n y v t á r i R e n d s z e r b e n

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

Java-s Nyomtatványkitöltő Program Súgó

Operációs rendszerek MINB240

Microsoft Virtual PC 2007

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

Delphi programozás I.

Operációs rendszerek. Bemutatkozás

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

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

Konkurens TCP Szerver

I. Felzárkoztató Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Adóhátralék kezelés egyszerűen. Telepítési útmutató. A program futtatásához Windows XP, Windows 7, 8 operációs rendszer szükséges.

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése

Távolléti díj kezelése a Novitax programban

Alapok (a K2D rendszer alapjai)

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

AWK programozás, minták, vezérlési szerkezetek

Importálás. más típusú (pl:.imp,.xml,.xkr,.xcz) állomány beimportálása a nyomtatványkitöltő programba

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

Az állományok kezelésére használt fontosabb parancsok

Occam 1. Készítette: Szabó Éva

AWK programozás Bevezetés

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

NightHawk AccessControl

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Nagy HF u tmutato 2011/2012 II. fe le v

FORD Edifact IHS Import

Java-s Nyomtatványkitöltő Program

M-Files Dokumentumkezelő telepítése

Unix/Linux alapok 2. Operációs rendszerek I. készítette: Kozlovszky Miklós, Bringye Zsolt Póserné Oláh Valéria, Windisch Gergely

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs Rendszerek II. labor. 2. alkalom

Mérlegelés több cég számára

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

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

PortaWin (PW2) Jármű mérlegelő program Mérlegelés több cég számára

Telepítési és indítási útmutató. DataPage+ 2013

6. BASH programozás I.

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

A GroupWise WebAccess Alapillesztőfelület

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Átírás:

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 számára. A processzus a futó program egy absztrakciója. A klasszikus szemléletben a folyamat egyetlen utasítás szekvenciát jelent. A modern szemléletben egy folyamat egyszerre több szálon is futhat. A folyamatokat gyakran úgy definiálják: A folyamat egy végrehajtás alatt álló program. A UNIX esetében, a folyamat az ami futtat egy programot és biztosítja a futáshoz szükséges végrehajtási környezetet.

Multiprogramozott rendszer Egyszerre több program futása is lehetséges. A CPU valójában egy időpillanatban egyetlen programot futtat. A párhuzamosság látszatát keltve folyamatosan váltogat a futó folyamatok között. Ezt nevezzük látszat párhuzamosságnak. Szekvenciális processzus modell. Minden processzus rendelkezik egy saját virtuális CPUval. Minden virtuális CPU rendelkezik virtuális regiszterkészlettel, ám a valós hardver regiszterekben mindig csak a futó folyamat regiszterei tárolódnak. Eltekintve néhány művelettől (IO) az egyes folyamatok nem érzékelik más folyamatok jelenlétét.

Végrehajtási környezet Kernel mód User mód

Végrehajtási környezet http://www.tankonyvtar.hu/site/upload/2008/09/kepek_05-3.jpg

Processzus hierarchiák 1. A UNIX rendszerekben minden (kivéve: swapper, init) folyamatot egy másik folyamat indít, az indító folyamatot szülőnek az indított folyamatot gyermeknek nevezzük. A folyamat indítást a fork rendszerhívás végzi. Az eredeti processzus másolatát hozza létre, ezért minden adatuk azonos, a későbbi módosítások azonban már függetlenül hajtónak végre. A létrehozott új folyamat legtöbbször nem azt a programot fogja futtatni, mint a szülőfolyamat.

Processzus hierarchiák 2. A tényleges program futtatását az exec rendszerhívás végzi. Az exec első paramétere a futtatható kód. Hat különböző változata van.

Processzus hierarchiák 3. http://sc.tamu.edu/help/general/unix/process-tree.jpg

Processzus állapotok exit Befejezett (zombi) Futásra kész Fut fork Létrehozás sleep Várakozó Belső memória Futásra kész swapped Várakozó swapped Külső memória Az ábra a http://www.cs.ubbcluj.ro/~robu/so2/folyamatok/art/states.gif alapján készült.

Folyamatok adatai A folyamatokhoz az alábbi adatok vannak tárolva: pid (folyamat azonosító) pgrp-id (folyamat-csoport azonosító) A szülő-folyamat azonosítója A processzor-regiszterek értékei A folyamat által elhasznált CPU idő A folyamat gyermek-folyamatainak a száma A folyamatot elindító felhasználó felhasználó azonosítója és a csoportjának az azonosítója. A folyamat effektív uid-je és gid-je A folyamat munka könyvtára) A folyamat megnyitott fájljai

Jelek (szignálok) A UNIX a folyamatokat a rendszert érő külső hatásokról jelek (szignálok) segítségével értesíti. A szignál egy állapotjelző, mely a címzett processzusban kiváltja a kezelést végző függvény meghívását. A UNIX rendszereken 63 különböző szignál használható.(man 7 signal) Ha egy processzus nem definiál szignál kezelőt egy adott szignálhoz, akkor a rendszer egy alapértelmezett kezelővel fogja kezeltetni a szignált.

Legfontosabb signálok Kiváltó esemény Jel Jel száma Leírás exit EXIT 0 exit parancsot hajtott végre a program vagy normál úton befejezõdött. Kijelentkezés SIGHUP 1 Megszakadt a kapcsolat a terminállal. Ctrl+C SIGINT 2 A felhasználó leállította a programot. Ctrl+\ SIGQUIT 3 Kilépésre való utasítás a billentyűzetről. kill -9 SIGKILL 9 Feltétel nélküli leállás. (Nem fogható el!) shutdown vagy kill SIGTERM 15 Felszólítás leállásra. Ctrl+Z SIGTSTP 19 Felfüggesztés

Jelek küldése Alapvető szabály, hogy egy felhasználó processzusa, csak ugyanannak a felhasználónak a processzusának küldhet szignált. Ez alól kivételt csak a rendszergazda processzusai képeznek, melyek bármely processzusnak küldhetnek szignálokat.

kill <signal> <PID> Ha mindkét argumentum pozitív szám, akkor a signal számú szignált elküldi a PID számú processzusnak. kill -9 23456

Jelek kezelése Ha egy processzus nem definiál szignál kezelőt egy adott szignálhoz, akkor a rendszer egy alapértelmezett kezelővel fogja kezeltetni a szignált. A szignál kezelésének fontos tulajdonsága, hogy ha egy processzus saját kezelőt használ, akkor az csak az minden szignál kezelése után visszaáll az alapértelmezett kezelőre. Fontos tisztában lenni azzal, hogy melyik szignálnak mit tesz az alapértelmezett kezelője.

trap [-lp] [arg] [sigspec...] A jelek elfogására és kezelésére szolgál a trap parancs. A trap a felsorolásban megadott jeleket elfogja, és hatásukra az egyszeres idézőjelek között megadott utasítássort hajtja végre. A trap csak attól a ponttól kezdve érvényes a programban, ahol ő maga szerepel. Ha tehát valamilyen globális, a program egészére vonatkozó műveletet akarunk végrehajtani egy trap részeként, azt célszerű rögtön a kód elején megadni. Ha viszont csak egy adott blokkban akarunk jelkezelést megvalósítani akkor a kérdéses műveleteket elegendő ennek a blokknak az elején szerepeltetni. A blokkból kilépve a különleges jelkezelést olyan módon meg is szüntethetjük, hogy egy műveletek nélküli trap parancsot adunk ki az adott jel számával vagy nevével.

& Lehetőséget biztosít arra, hogy a folyamatainkat a háttérben futtassuk. Valójában egy utasítás szeparátor, mely segítségével olyan utasítás listát hozhatunk létre, melyben az egyes utasítások a háttérben aszinkron futnak. A felhasználó rögtön visszakapja a promptot, a rendszer kiírja a folyamatazonosítót.

ps Ez a parancs kilistázza az éppen futó processzeket. az egyes folyamatok azonosítója a folyamathoz rendelt terminál neve a folyamat futási ideje a neve látható Opciók: ps -e ps -ejh

jobs Kilistázza a háttérben futó és a megállított folyamatokat.

fg A felfüggesztett folyamatot az előtérben folytatja.

bg A felfüggesztett folyamatot a háttérben folytatja.

top kilistázza a folyamatokat, ám ez a lista automatikusan frissül (szemben a ps paranccsal) a lista alapértelmzetten rendezve van a CPU használata függvényében, így legfelül a legtöbbet igénylő folyamat található a parancs kilistázza a processzor és a memória használatát, és egyéb információkat a folyamatokról. a parancsnak több verziója létezik, de mindegyikben lehet állítani a kiírandó oszlopokat és azokban a rendezést is

nohup Lehetőséget biztosít, hogy a háttérbe elindított program azután is fusson a rendszerben, miután a felhasználó kilépett. Alapértelmezésben erre nincs lehetőség, mert ha a kilépés után, minden olyan folyamat elhal, amit az adott felhasználó login termináljáról indítottak el ( a háttérfolyamatok is). Mivel a futó program nem tud a terminálra írni ezért a kimenetet egy állományba írja. (nohup.out)

Példa 1. 1. mcedit szilva.frt 2. ctrl z 3. ps 4. ps ejh less 5. top 6. jobs 7. fg JOB_NUMBER 8. Kilépünk az mcedit-ből 9. jobs 10. ps

1. mcedit alma.frt & 2. mcedit korte.frt & 3. mcedit barack.frt & 4. jobs 5. fg JOB_NUMBER 6. ctrl z 7. fg JOB_NUMBER 8. ctrl z 9. fg JOB_NUMBER 10.ctrl z 11.ps 12.kill PID 13.kill PID 14.kill PID 15.fg JOB_NUMBER 16.fg JOB_NUMBER 17.fg JOB_NUMBER Példa 2.

Példa 3. 1. (while (true); do trap 'echo Gyilkos!' 15; done; ) & 2. ps 3. jobs 4. kill PID 5. kill -9 PID

date A parancsa kiírja az időt és a dátumot. Az adminisztrátor jogosult arra, hogy a rendszer időt megváltoztassa. A date parancs kimenete formátum sztringek segítségével testreszabható. Ha a kiírás alakját akarjuk megváltoztatni akkor a + segítségével opciókat lehet hozzáadni. Pl: date "+%m/%d/%y"

Folyamatok Időzítése - at Megadott időpontban futtathatunk programokat. A parancsokat a standard inputról, vagy egy állományból olvassa be. l - kilistázza az aktuálsi at jobokat. r jobszám töröl egy jobot m jobszam levélben értesít, ha az adott job lefutott. Az időt órákban és percekben lehet megadni a délelőtt és a délután megjelölésével. óra:perc am/pm Dátum a hét vagy egy hónap napja ként adható meg: hónap nap (Jan,Feb stb.) A napok az angol neveikkel adhatók meg. monday,tuesday Kulcsszavakkal is megadhatók időpontok am délelőtt pm - délután now -most noon - délben midnight - éjfélkor today - ma tomorrow holnap

Folyamatok Időzítése - at Egy megadott időponthoz és dátumhoz képest is megadható időpont a + operátor segítségével. A + operátor után kell megadni, hogy milyen időtartamnak hányszor kell eltelnie. dátum + szám időtartam hours (órák), minutes (percek), days(napok), months (hónapok), years (évek) Használható a next kulcsszó. next időtartam

Folyamatok Időzítése at példák at 10:00pm <script echo ls l > out at noon at 03:21 pm at noon next days at now + 10 minutes at now + 5 days at tomorrow at monday at 03:21 am Jun 21

Folyamatok Időzítése atq, atrm atq ~ at l atrm ~ at -r [tibi@kkk ~]$ at -l 9 2010-03-29 12:00 a tibi 14 2010-06-21 03:21 a tibi [tibi@kkk ~]$ at r 9 [tibi@kkk ~]$ at r 14 [tibi@kkk ~]$ at l [tibi@kkk ~]$

Folyamatok Időzítése - crontab A crontab fájl műveletek listáját tartalmazza a műveletek végrehajtásának idejével. A cron démon állandóan ellenőrzi az adott felhasználó crontab fájlját, hogy elérkezett-e valamelyik feladat végrehajtásának ideje. Bármely felhasználó létrehozhat crontab fájlt. Az adminisztrátor is létrehozhat, rendszeradminisztrációs feladatok időzítéséhez.

Folyamatok Időzítése - crontab A crontab fájl bejegyzései 6 mezőből állnak: 1-5 tartalmazza a végrehajtás idejét 6 tartalmazza a végrehajtandó tevékenységet Az idő megadása: 1. mező: Percek (0-59) 2. mező: Órák (0-23) 3. mező: Napok (1-31) 4. mező: Hónapok(1-12) 5. mező:a hétnapját (0-6;0= vasárnap) Minden pozícióban megadhatunk konkrét értéket,*-ot és intervallumot egyaránt. Ha csillaggal jelöljük, akkor engedélyezzük, hogy az adott mezőhöz tartozó összes értéket felvegye. Jelentése (minden perc, minden hónap )

Folyamatok Időzítése - crontab crontab parancs paramétere egy szöveges fájl, mely tartalmazza az előbbi bejegyzéseket. -e : a standard szövegszerkesztővel megnyitja a crontab állományát, és szerkeszthető. -l : listázza az állományt -r : törli a bejegyzéseket Ha újabb állományt adunk meg akkor felülírja a már létezőt.

Példák: Folyamatok Időzítése - crontab 0 2 * * 1-5 tar /home/tibi/backup /home/tibi/projects 1 * * * * script1 0 0 * * 0 script2 0 2 5 * * generatescript

sleep, time sleep parancs segítségével egy megadott hosszúságú késleltetést indíthatunk s - másodperc m - perc h -óra Pl: sleep 5 sleep 5m sleep 3h time parancs segítségével a folyamatok időfelhasználásáról informálódhatunk: Pl: time sort < bigfile > sortedfile

Példa 4. 1. sleep 200 & 2. ps 3. kill -19 PID 4. jobs 5. fg JOB_NUMBER 6. ctrl z 7. bg JOB_NUMBER

Példa 5. 1. Hozzatok létre a HOME könyvtáratokban egy trash könyvtárat. 2. Majd írjatok parancsot, mely segítségével a mai napon délután 3:30-kor az összes a HOME könyvtárban található.frt végződésű állományt átmozgatja a trash könyvtárba.

Példa 6. Módosítsátok a crontab bejegyzést úgy, hogy minden nap hajnal 3 óra 20-kor a trash könyvtárban található.frt végződésű állományok törlődjenek.

Parancs / jelölés Folyamatok kezelése - Feladata Áttekintés Példa & A folyamat háttérben futatása sort < all > eredmeny & fg bg ps jobs Az előzőleg felfüggesztett (CTRL-Z) processz újra aktiválása az előtérben. Az előzőleg felfüggesztett (CTRL-Z) processz újra aktiválása a háttérben. Processzek állapotának kiírása a képernyőre. Felfüggesztett processzek kilistázása. fg sort bg sort ps jobs top Futó processzek listázása top kill Signál küldése processznek kill -19 3456

Parancs / jelölés Feladata Példa at A folyamat időzítése. at now + 5 days crontab A folyamat időzítése. crontab c sleep time Egy megadott hosszúságú késleltetést indíthatunk. A folyamatok időfelhasználásáról informálódhatunk. sleep 2m time find / -name *.dat