Systemy Operacyjne I: Procesy

Podobne dokumenty
Linux: Procesy. Systemy Operacyjne. Mateusz Hołenko. 26 marca 2013

Laboratorium systemów operacyjnych ćwiczenie nr 3. [ilość modułów: 1] Temat zajęć: Procesy w systemie operacyjnym

Laboratorium Procesy w systemach UNIX 3.2 Polecenia związane z procesami

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

Zarządzanie procesami

Moduł 4: Strumienie, potoki, sterowanie procesami

Wstęp do informatyki Shell podstawy

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

1.1 Definicja procesu

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

Dogadać się z Linuxem. Zarządzanie

Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011

4. Procesy pojęcia podstawowe

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Utwórz na pulpicie katalog: pierwsza-litera-imienia_nazwisko (np. j_kowalski). W tym katalogu zapisz pliki, które będą tworzone w ramach ćwiczenia

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces

4. Procesy pojęcia podstawowe

System operacyjny Linux

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

1 Przygotował: mgr inż. Maciej Lasota

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania

Szkolenie AGH Linux. Nie bój się konsoli i zdaj kolosa na 5.0!!! Tytuł wcale nie przesadzony ;)

4. Procesy pojęcia podstawowe

Proces. Systemy Operacyjne I ćwiczenie laboratoryjne nr 5 (wersja ) Polecenia: kill, killall, nice, ps, pstree, renice, time, top

Podstawy użytkowania Linux a

9. Procesy, urządzenia i system plików w systemie Linux

Działanie systemu operacyjnego

Budowa systemów komputerowych

Zarządzanie procesami (omawiane zagadnienia)

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Model procesu w systemie Linux. Tomasz Borzyszkowski

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

WPROWADZENIE. Warto pamiętać o opcji autouzupełniania, której używamy naciskając klawisz [Tab]

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

Zarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera. Katarzyna Wyszomierska

Działanie systemu operacyjnego

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Akademia Górniczo-Hutnicza im. St. Staszica. Unix/Linux 3. procesy, archiwa i inne Tomasz Bartuś

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Warstwy systemu Windows 2000

Narzędzia zarzadzania i monitorowania w systemach Linux

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Instrukcja programu mam wersja 1.02.

Administracja serwerami

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

Poniższe funkcje opisane są w 2 i 3 części pomocy systemowej.

Programy LeftHand - Obsługa plików JPK. Wrzesień 2016

Systemy operacyjne ćwiczenia 1 procesy, wątki, polecenia UNIXa.

Systemy operacyjne Skrypt do ćwiczeń laboratoryjnych

I. Program II. Opis głównych funkcji programu... 19

Działanie systemu operacyjnego

tworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1.

Działanie systemu operacyjnego

Programowanie współbieżne Wykład 2. Iwona Kochańska

Metody obsługi zdarzeń

Wstęp do systemu Linux

Mazowiecki Elektroniczny Wniosek Aplikacyjny

KARTA KURSU. Języki skryptowe

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Znaki globalne w Linuxie

Narzędzia informatyczne w językoznawstwie

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński

Systemy Operacyjne I: System plików

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Programy LeftHand - Obsługa plików JPK. Luty 2017

Programowanie Współbieżne. W Linuxie/Unixie

Zakład Systemów Rozproszonych

Stan/zdarzenie Nexo. Zmienne wirtualne. Zdarzenia wirtualne

Przerwania, polling, timery - wykład 9

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Sieci komputerowe. Wstęp do systemu Linux/UNIX, część I. Ewa Burnecka / Janusz Szwabiński. ewa@ift.uni.wroc.pl / szwabin@ift.uni.wroc.

1 Teoria. 1.1 Znak zachęty. 1.2 Automatyczne uzupełnianie - Tab. 1.3 Historia. 1.5 Wildcardy. 1.6 man

Obsługa sygnałów. Tomasz Borzyszkowski

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

Przekierowanie wejścia wyjścia:

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Formy dialogowe w środowisku Gnome

Jednorazowe zaplanowanie zadania program at.

Pracownia komputerowa. Dariusz wardecki, wyk II

Administracja bazami danych

TRX ELARM Łódź ul. Mochnackiego 34 tel/fax +48 (42)

Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii. Materiały pomocnicze do zajęć z przedmiotu SYSTEMY OPERACYJNE

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Struktura systemów komputerowych

Ustawienia personalne

Konsola Linux. autor: Mariusz Barnaś

Podstawy systemów UNIX

CREATE USER

Laboratorium Systemów SCADA

Pracownia Komputerowa wykład III

Chemiateoretyczna. Monika Musiał. Ćwiczenia

Transkrypt:

Politechnika Poznańska 4 kwietnia 2013

Materiały Prezentacja oraz inne materiały zostały przygotowane na podstawie: Użytkowanie systemu operacyjnego UNIX - dr D.Wawrzyniak Systemy operacyjne - skrypt - dr C.Sobaniec Strona przedmiotu Strona Dr A.Kobusińskiej Strona K.Sieka pomoc systemowa man inne...

Procesy Definicja: Proces [M. Bach WNT 95, T. Borzyszkowski] Proces jest wykonaniem programu i składa się ze zbiorowości bajtów, które CPU interpretuje jako instrukcje maszynowe (tzw. tekst), dane i stos. Jądro steruje wykonaniem procesu. Proces wykonuje się przechodąc przez ściśle ustalony ciąg instrukcji (stanowiący całość) i nigdy nie wykonuje skoków do instrukcji innego procesu tzn. czyta i zapisuje swoje dane oraz stos, lecz nie może czytać ani zapisywać danych i stosu innych procesów. Procesy komunikują się z innymi procesami i z resztą świata za pomocą funkcji systemowych. Procesy rozumiane jako wykonania kodu posiadające własności przedstawione powyżej były podstawową jednostką pracy pierwszych systemów Unixowych. Tylko procesy miały możliwość działania na procesorze.

Procesy Definicja: Proces [M. Bach WNT 95, T. Borzyszkowski] Dla każdego programu/procesu/wykonania jądro systemu utrzymuje informacje o: Bieżącym stanie wykonania (np. czekanie na powrót z trybu jądra,...), zwanym kontekstem programu Plikach, do których program ma dostęp Uprawnieniach dotyczących programu (przeważnie dziedziczone po właścicielu procesu lub grupie procesów) Uprawnieniach dotyczących programu (przeważnie dziedziczone po właścicielu procesu lub grupie procesów) Bieżącym katalogu programu Obszarze pamięci, do którego program ma dostęp, i zawartości tego obszaru

Procesy ps Polecenie ps generuje listę wszystkich aktywnych procesów w systemie, ich stan, rozmiar, nazwę oraz właściciela. a wyświetla wszystkie procesy nie będące związane z terminalem. r tylko wykonywane procesy. T procesy związane z tym terminalem. u dodaj informacje o użytkowniku procesu. h pomiń nagłówek. w wyświetla parametry linii poleceń procesu (do polowy linii).. ww wyświetla wszystkie parametry linii poleceń procesu niezależnie od długości. Przykład: $ ps ar

Procesy ps W pierwszej linii znajdują się nagłówki informacyjne o znaczeniu kolejnych kolumn wydruku:. USER właściciel danego procesu. PID numer identyfikacyjny procesu. %CPU procentowe wykorzystanie procesora. %MEM wykorzystanie pamięci przez procesor w procentach. VSZ pamięć wirtualna przydzielona procesowi. RSS pamięć wykorzystana przez proces. TTY terminal kontrolny procesu. Znak? w tej kolumnie oznacza, ze proces nie jest połączony z żadnym terminalem kontrolnym.

Procesy ps STAT stan procesu: S proces jest uśpiony. R proces jest aktualnie wykonywany. D proces jest uśpiony, oczekuje na operacje (zazwyczaj I/O). T proces jest debugowany lub został zatrzymany. Z zombie. START czas lub data rozpoczęcia procesu. TIME przedział czasu wykorzystany przez CPU. COMMAND nazwa procesu oraz jego parametry.

Procesy ps - nowa składnia ps -ef wyświetl wszystkie procesy i dla każdego z nich podaj pełną listę ps -f -u user,root pełna lista właściwości procesów dla użytkownika user oraz root ps -f -p 25009,7258,2426 listuje procesy z określonymi numerami PID ps -e -o pid,args forest listuje procesy w postaci drzewa

Procesy top Polecenie top jest interaktywna wersja polecenia ps. Zamiast wyświetlać statyczną listę procesów w systemie, polecenie top odświeża ją co 2, 3 sekundy. Istotną wadą tego polecenia jest znaczne obciążenie procesora. Polecenia programu top: P sortuj według zajętości procesora. M sortuj względem zajętej pamięci. u podaj procesy danego użytkownika. 1 informacje o procesorze i/lub rdzeniu. q wyjście. Przykład: $ top

Procesy htop Nowocześniejsza i bardziej rozbudowana wersja polecenia top. uptime Polecenia uptime wyświetla informację o aktualnej godzinie, o tym jak długo system operacyjny jest włączony, ilu użytkowników jest zalogowanych do systemu oraz, tzw. Load Average. Jest to średnia ilość procesów, które oczekują na wykonanie w określonej jednostce czasu. W tym poleceniu są trzy przedziały czasowe, pierwsza kolumna oznacza LA w ciągu ostatniej minuty, druga w ciągu ostatnich pięciu minut, a trzecia kolumna to ostatnie 15 minut.

Sygnały Sygnały Procesy komunikują się z jadrem systemu, a także między sobą aby koordynować swoją działalność. Jednym z nich są sygnały, zwane inaczej przerwaniami programowymi. Sygnały mogą być generowane bezpośrednio przez użytkownika, może wysyłać je jądro oraz procesy między sobą. Dodatkowo pewne znaki z terminala powodują wygenerowanie sygnałów. Na przykład na każdym terminalu istnieje tak zwany znak przerwania (ang. interrupt character) i znak zakończenia (ang. quit character). Znak przerwania (zazwyczaj Ctrl-C lub Delete) służy do zakończenia bieżącego procesu (wygenerowania SIGINT). Wygenerowanie znaku zakończenia (zazwyczaj Ctrl-\) powoduje wysłanie sygnału SIGQUIT powodującego zakończenie wykonywania bieżącego procesu z zapisaniem obrazu pamięci.

Sygnały Sygnały Istnieją oczywiście pewne ograniczenia - proces może wysyłać je tylko do procesów mających tego samego właściciela oraz z tej samej grupy (te same uid i gid). Bez ograniczeń może to czynić jedynie jądro i administrator. Jedynym procesem, który nie odbiera sygnałów jest init (pid równy 1). Sygnały są mechanizmem asynchronicznym - proces nie wie z góry kiedy sygnał może nadejść i głównym ich zadaniem jest informowanie procesu o zaistnieniu w systemie wyjątkowej sytuacji (np.: spadek napięcia w sieci). Ponadto są wykorzystywane przez shelle do kontroli pracy swoich procesów potomnych.

Sygnały Przykładowe sygnały

Sygnały sleep Czekaj określoną liczbę jednostek czasu zanim przejdziesz do wykonywania kolejnego polecenia. Jednostkami tymi mogą być: s (sekundy), m (minuty), h (godziny), lub d (dni). Domyślnie wybierane są sekundy. Składnia: sleep amount[units] kill Polecenie wysyłające sygnał do procesu. Użytkownik wysyłający sygnał musi być właścicielem procesu lub być administratorem systemu. Domyślnie (jeśli nie wyspecyfikowany) wysyłany jest sygnał TERM. -S, -SIGNAL Wysyła do procesu Sygnał SIGNAL Składnia: kill [params] <pid> Przykład: kill 9 1024 Przykład: kill -s 9 1024

Sygnały killall jest to polecenie konsoli Uniksa wywołujące polecenie kill dla wszystkich procesów mających w nazwie tekst podany jako argument. Przykład: killall -9 pdflatex

Procesy pgrep pgrep [opcje] [wzorzec] wyszukanie procesów pasujących do wzorca pkill pgrep -u root wyszukaj wszystkie procesy użytkownika root pgrep -u root -c podaj liczbę wszystkich procesów użytkownika root pkill [opcje] [wzorzec] wysłanie synału do procesów pasujących do wzorca pkill sleep zabija procesy pasujące do tesktu sleep

Priorytet procesów Sprawdzanie priorytetu $ ps -o pid,user,args,nice nice Uruchom program ze zmodyfikowanym priorytetem. Przykład: nice -n +3 sleep 10 renice Zmień priorytet działającemu programowi. Przykład: renice +10 4977

Zadania Kontrola zadaniami - możliwość zawiesznia i wznawiania działania procesów. Zadania są pzypisane do konkretnego terminala. Zawieszanie procesu z konsoli bash: <ctrl> + z Kontrola zadania za pomocą sygnalów (mało praktyczne...): Zawieszanie procesu: SIGSTOP (19) Uaktywnienie procesu: SIGCONT (18)

Zadania jobs Wyświetla tablicę aktywnych zadań. -l pełna informacja -p tylko wyświetl PID. fg (ang.foreground) Uaktywnienie procesu. fg vim uaktywnienie procesu vim (tylko w wypadku kiedy działa jeden proces vim) fg 1 uaktywnienie zadania 1

Zadania bg (ang. background) Uaktywnienie procesu w tle. kill %1 bg vim uaktywnienie procesu vim w tle (tylko w wypadku kiedy działa jeden proces vim) bg 1,2,3 uaktywnienie zadań 1, 2, 3 w tle zabij zadanie nr 1

Zarządzanie uruchamianiem procesów Uruchamianie procesów w tle $ proces1 & Uruchamianie procesów sekwencyjnie $ proces1 ; proces2 ; proces3 Uruchamianie procesów warunkowe alternatywa: $ proces1 proces2 koniunkcja: $ proces1 && proces2 Uruchamianie procesów ze zmianą priorytetu kolejności warunków $ echo c (echo a && echo b )