Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Sprawozdania

Pobierz dokument
rafal.polak.12k2.lab8.inzynieria.doc
Rozmiar 59 KB

Systemy operacyjne

Rafał Polak 12k2

Laboratorium Komputerowe nr.8

TEMAT: Środowisko Linux - Procesy w systemie Unix

Celem ćwiczenia będzie zapoznanie się z podstawowymi informacjami dotyczącymi procesów w systemie Unix. System ten pozwala na wykonywanie wiele procesów jednocześnie, jest to jednak pozorne, gdyż w danym momencie wykonuje się tylko jeden co pare milisekund. Wszystkie procesy posiadają swojego rodzica, z których się wywodzą, po za jednym wyjątkiem, procesem init uruchamianym wraz ze startem systemu. Posiadają one swoje numery identyfikacyjne oraz numery swoich przodków.

  1. WYŚWIETLANIE PROCESÓW

Aby zobaczyć istniejące procesy w systemie, które aktualnie pracują służy polecenie ps. Do wyświetlenia pełnej listy procesów oraz do podziału na strony wyświetlania należy dopisać parametry -ef | more.

Ps -ef | more

W kolumnach dostaniemy informacje oznaczone skrótami tj.:

- UID numer użytkownika ( właściciela procesu)

- PID numer identyfikacyjny procesu

- PPID numer PID rodzica danego procesu

- C miara obciążenia procesora

- STIME czas rozpoczęcia działania procesu

- TTY nazwa terminala związanego z procesem

- TIME czas wykorzystania procesora

- CMD komenda, która wywołała proces

W systemie procesy mają wielu różnych właścicieli. Chcąc zobaczyć procesy tylko jednego właściciela wpisujemy polecenie ps -fu nazwa_użytkownika. Na poniższym zrzucie ekranu widać w jaki sposób są dane wyświetlane. Jest to tylko niewielka część procesów istniejących w systemie.

0x01 graphic

  1. ZADANIA w SYSTEMIE

Obok pojęcia procesu, kolejnym ważnym pojęciem w systemie unix jest zadanie (ang. job). Zadanie jest to proces, który został uruchomiony przez wywołanie komendy z danego terminala. Podczas uruchamiania zadania, aktywne zadanie, w tym przypadku nasz terminal przechodzi do działania w tle. Zadania możemy uruchamiać tak aby działały w tle oraz je usypiać ( inaczej zatrzymywać ) i wyłączać ( zabijać ). Do uruchomienia procesu w tle wykorzystujemy symbol „&”.

:nano & - edytor nano uruchomiony w tle

CTRL+Z - uśpienie działającego procesu

Uruchamiamy w tle kilka programów. Aby zobaczyć wszystkie istniejące zadania w systemie wpisujemy w wierszu poleceń jobs.

0x01 graphic

Programy uruchamiane w tle zostają automatyczne zastopowane. Możemy je wywołać na główne okno, czyli przejść do programu poleceniem

Fg %numer_zadania - tzw. foreground

// uruchamiane w tle to background.

Programy w tle często powinny wykonywać jakieś działania, dla naszego oka niewidoczne. Aby sprawdzić czy taka możliwość istnieje wywołamy zadanie, które wykonywać się będzie w tle a swoje wyniki działania zapisuje do pliku. Dla porównania zostanie ten sam skrypt uruchomiony w tle oraz w sposób tradycyjny.

0x01 graphic

Po uruchomieniu skryptu dwa wcześniej uruchomione zadania są zastopowane, natomiast skrypt data jest w trakcie pracy. Zapisuje on aktualną datę w pliku z odstępem 30 sekund dokładnie dwa razy. Natomiast gdy uruchomi się ten sam skrypt w tradycyjny sposób zostaniemy pozbawieni na 30 sekund dostępu do normalnej pracy na konsoli. A więc co jeżeli chcemy przerwać działanie takiego skryptu na rzecz ważniejszych działań…

  1. ZABIJANIE PROCESÓW I ZADAŃ

Do zmiany stanu zadania lub procesu służy polecenie kill. Ma ono wiele wariantów. Aby

zatrzymać (zawiesić) zadanie używamy polecenia kill -STOP z numerem zadania

poprzedzonym znakiem "%". Aby zatrzymać zadanie:

kill -STOP %numer

Jeżeli chcemy wyłączyć, zakończyć zadanie w systemie używamy polecenia:

kill -9 %numer

Do zakańczania procesów w systemie wykorzystujemy ten sam sposób, jednakże podajemy numer identyfikacyjny procesu PID i nie poprzedzamy znakiem procentu. Jeżeli zabijemy proces, który posiadał dzieci, czyli był rodzicem dla innych procesów, procesy te także bezwarunkowo zostaną zakończone.

0x01 graphic


Pobierz dokument
rafal.polak.12k2.lab8.inzynieria.doc
Rozmiar 59 KB

Wyszukiwarka

Podobne podstrony:
Rafał Polak 12k2 lab9, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Rafał Polak 12k2 lab4a, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Sp
Rafał Polak 12k2 lab4b, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Sp
Rafał Polak 12k2 lab11, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Sp
Rafał Polak 12k2 lab2, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Rafał Polak 12k2 lab3, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Rafał Polak 12k2 lab10, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Sp
Rafał Polak 12k2 lab6, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Rafał Polak 12k2 lab5, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Wymagania metody, Inżynieria Oprogramowania - Informatyka, Semestr IV, Metody Obliczeniowe, Egzamin
Rzeczywistość wirtualna, Inżynieria Oprogramowania - Informatyka, Semestr V, Komunikacja Człowiek Ko
tematy 2011 DK v1.03, Inżynieria Oprogramowania - Informatyka, Semestr IV, Zarządzanie Projektami In
Rafał Polak 12k2 lab8
z1 SO na 28.05.11 w2 ze skryptami, Informatyka, SEMESTR IV, Systemu Operacujne

więcej podobnych podstron