Procesy
Transkrypt
Procesy
Procesy Proces - wykonuja˛cy sie˛ program. Każdy proces otrzymuje swój numer - PID. (PPID - numer procesu rodzicielskiego) Lista procesów: ps [-e] [-l] [-t terminal] [-u UID] Przykład: $ ps PID TTY 2412 tty02 2423 tty02 TIME 11:02 11:07 COMMAND ksh ps Sygnał - zdarzenie w systemie, wykrywane przez proces i moga˛ce wpłyna˛ć na przebieg procesu. Sygnały moga˛ pochodzić od: - sprze˛tu i systemu operacyjnego (np. sygnalizacja błe˛dów sprze˛towych i programowych) - innego procesu - użytkownika Ważniejsze sygnały: 0 1 2 8 •9 10 12 •15 EXIT HUP INT FPE KILL BUS SYS TERM wyjście z powłoki zawieszenie (hangup) przerwanie (interrupt) bła˛d zmiennoprzecinkowy (FP exception) zabicie procesu bła˛d magistrali zły argument funkcji systemowej zakończenie programowe Po otrzymaniu sygnału proces zazwyczaj kończy działanie (chyba, że przechwytuje lub ignoruje przerwanie) Niektóre sygnały powoduja˛ dodatkowo utworzenie pliku core. Wysłanie sygnału do procesu: kill [-sygnał] PID Przykłady: kill kill kill kill -9 2314 -SIGKILL 2314 2314 -TERM 2314 (sygnał KILL nie może zostać przechwycony) (sygnał TERM może zostać przechwycony) Określenie reakcji powłoki na sygnał trap [akcja] [sygnał ...] Przykłady trap "echo Sygnal nr 2" SIGINT trap ’rm /tmp/xxxx ; exit’ 15 trap "$HOME/.logout" EXIT Zadanie (job) powstaje w chwili rozpocze˛ cia wykonywania komendy lub potoku. Zadaniu przyporza˛ dkowywany jest numer zadania (mała liczba całkowita). Lista zadań jobs Przykłady: jobs [1] + Running [2] - Done lp results compile_big_prog& Uruchomienie zadania w tle: komenda ... & lub Ctrl-Z (zawieszenie zadania) bg (wznowienie zadania w tle) (powłoka w obu przypadkach poda numer zadania i numer procesu) Przeniesienie zadania z tła na pierwszy plan: fg %nr_zadania Zabicie zadania kill %nr_zadania Uzupełnienia • • • Użytkownik może narzucić ograniczenie na wielkość zapisanego obszaru na dysku dla procesów potomnych (ulimit) Zadania wykonywane sa˛ likwidowane w chwili zakończenia pracy powłoki macierzystej. Użytkownik może wydać polecenie kontynuowania zadania po komendzie logout uruchamiaja˛ c je po komendzie nohup komenda [argumenty] Urza˛ dzenia W systemie UNIX urza˛ dzenia sa˛ doste˛ pne jako pliki specjalne. Odwołanie do pliku specjalnego jest odsyłane do driver’a urza˛ dzenia (programu steruja˛ cego urza˛ dzeniem). Rodzaje urza˛ dzeń: • znakowe, niebuforowane - doste˛ p w sposób szeregowy, np. terminal, drukarka, nape˛ d taśmowy • blokowe, buforowane - doste˛ p swobodny, np. dysk Z jednym urza˛ dzeniem fizycznym może być zwia˛ zanych kilka plików specjalnych - pozwala to na doste˛ p do urza˛ dzenia na różne sposoby: blokowy i znakowy (raw). Pliki specjalne reprezentuja˛ ce urza˛ dzenia umieszczane sa˛ w podkatalogu /dev (lub jego podkatalogach), np. /dev/console /dev/tty01 /dev/tty /dev/lp /dev/null /dev/mem /dev/swap /dev/rmt0a /dev/fd0 /dev/rdsk/0s0 i-we˛ zeł pliku specjalnego zawiera informacje˛ o: • rodzaju urza˛ dzenia (blokowe, znakowe) • numerach: głównym (major) i podrze˛ dnym (minor) urza˛ dzenia Nr główny: określa driver urza˛ dzenia Nr podrze˛ dny: może określać: nr urza˛ dzenia (gdy jest ich kilka), parametr urza˛ dzenia (np. rodzaj dyskietki, ge˛ stość zapisu taśmy) Cze˛ sto nr podrze˛ dny jest zakodowany w nazwie pliku specjalnego i niesie dodatkowa˛ informacje˛ o urza˛ dzeniu, np. /dev/dsk/f05h (dyskietka 5 " 1.2MB, nape˛ d A:) /dev/dsk/f13ht (dyskietka 3 " 1.44MB, nape˛ d B:) /dev/dsk/f13d (dyskietka 3 " 720KB, nape˛ d B:) /dev/dsk/f0 (dyskietka A:) Przykład: cd /dev/rdsk crw-r----- 2 cd /dev/dsk brw-r----- 2 ; ls root ... 47,0x201600 ... c201d0s0 ; ls root ... 7,0x201000 ... c201d0s0 Uzupełnienia 1. Urza˛ dzenie blokowe powinno zostać sformatowane (komendy formatowania sa˛ zależne od implementacji systemu UNIX, np. format, fdformat) 2. Na urza˛ dzeniach typu pamie˛ ci masowych należy dodatkowo: • utworzyć system plików (np. komenda˛ /etc/mkfs /dev/pl_specj parametry ... • zamontować ten system plików komenda˛ : /etc/mount /dev/pl_specj /katalog 3. System plików na nośniku wymiennym (dyskietka, kaseta z taśma˛ ) winien zostać przed wyje˛ ciem z nape˛ du zdemontowany: /etc/umount /dev/pl_specj (inaczej nie da sie˛ go powtórnie zamontować bez czasochłonnego sprawdzenia spójności programem fsck)