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



Podobne dokumenty
Jądro Powłoka System plików Programy użytkowe

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

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

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

Moduł 4: Strumienie, potoki, sterowanie procesami

Filtry, metaznaki, cytowania. Proste skrypty. Polecenia find, tee, mail.

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

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

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

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

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak

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

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

Systemy Operacyjne I: Procesy

Zarządzanie procesami (omawiane zagadnienia)

Jądro linuksa. LINUX KERNEL O REILLY Daniel P. Bovet & Marco Cesati

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

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

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Technologie Informacyjne - Linux 2

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA

Informacje o procesach czyli polecenie "ps".

Powłoka, redyrekcja, potok

Systemy operacyjne Programowanie w języku powłoki sh

Podstawy użytkowania Linux a

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

Wstęp do informatyki Shell podstawy

Konsola Linux. autor: Mariusz Barnaś

Powłoka interpreter poleceń systemu UNIX

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

Systemy operacyjne / Programowanie w języku powłoki sh str.1/19

1 Przygotował: mgr inż. Maciej Lasota

Systemy Operacyjne 1 Laboratorium 2 Procesy i sygnały w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot

Obsługa plików Procesy

Powłoka (shell) Powłoka ksh

Temat zajęć: Obsługa procesów w systemie.

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

System Linux - użytkowanie

Zarządzanie procesami

trainxx tramxx

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

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

Podstawy używania konsoli tekstowej w systemie Linux. Andrzej Zbrzezny

Współczesne systemy komputerowe

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

Model procesu w systemie Linux. Tomasz Borzyszkowski

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski POZIOM

Podstawy Linuksa. Wiesław Płaczek Postawy Linuksa 1

Podstawy systemów UNIX

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

SYSTEMY OPERACYJNE ĆWICZENIE POLECENIA SYSTEMU MSDOS

Bash - wprowadzenie. Bash - wprowadzenie 1/39

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

Powłoka bash. Kurs systemu Unix 1

System operacyjny Linux

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

Zakład Systemów Rozproszonych

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wprowadzenie do obsługi systemów obliczeniowych PCSS

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr

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

Administracja serwerami

4.2 Sposób korzystania z l acza

MS-DOS polecenia wewnętrzne i

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Wstęp do systemu Linux

BASH - WPROWADZENIE Bioinformatyka 4

Systemy operacyjne III

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

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

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

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

Dodatek nr 1: Niektóre polecenia systemu Linux (shell tcsh) A) Informacje wstępne

Linux: System Plików

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Skrypty shella programowanie w języku powłoki.

Procesy w systemach UNIX i Linux

Laboratorium - Zarządzanie systemem plików poprzez wbudowane oprogramowanie w systemie Windows 7

PODSTAWY INFORMATYKI

Podstawy informatyki

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Linux. Wprowadzenie do systemu.

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu

Linux cz.3: polecenia systemowe, ćwiczenia

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

Systemy operacyjne Operating Systems

Proces y i y w i ąt ą ki

1.1 Definicja procesu

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Ćwiczenie 9 Linux - operacje systemu plików

Pracownia komputerowa. Dariusz wardecki, wyk II

Chemiateoretyczna. Monika Musiał. Ćwiczenia

Stosowanie poleceń związanych z zarządzaniem plikami oraz katalogami: nazwa_polecenia -argumenty ścieżka/ścieżki do katalogu/pliku

2. Zarządzanie procesami

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

Transkrypt:

Procesy i shell. Polecenia ps, sleep, exit, jobs, bg, fg, top, kill, bash, tcsh, which, type, whereis, touch. Metaznak & i >>. Dowiązania miękkie i twarde. Proces jest programem, który jest wykonywany i który jest identyfikowany przez swój unikalny numer PID. Pierwszy wykonywany proces w systemie to init z PID nr 1. Jądro SO kontroluje i zarządza procesami. Proces składa się z: wykonywanego programu, danych i stosu, wskaźnika stosu i programu, rejestrów, informacji niezbędnych do wykonania (uruchomienia programu). Wywołany shell również jest procesem. Shell może również tworzyć procesy poprzez wywołania systemowe (ang. system calls) do jądra SO. Istnieje pewna liczba wywołań systemowych służących do tworzenia, wykonywania i zakończenia procesu. Są to odwołania: fork wait exec exit Dodatkowo każdy proces zawiera informacje, którego użytkownika jest własnością, czyli kto go uruchomił. Proces rodzic shell Proces dziecko shell Nowy program grep PID: 124 PID: 125 PID: 125 Krok 1 Krok 2 Krok 3 ENV fork ENV exec ENV wait 0 stdin 1 stdout 0 stdin 1 stdout 0 stdin 1 stdout 2 stderr 2 stderr 2 stderr exit Instytut Informatyki AP, rok akademicki 2007/08 Strona 1 z 7

Jak przebiega schemat działania wprowadzonego polecenia w powłoce? Wskaźnik zachęty do wpisania następnego polecenia shell szuka wprowadzonego polecenia Czy jest to wbudowane polecenie? tak zostaje wykonane polecenie nie tworzenie procesu potomnego poprzez fork wywołanie systemowe wait Proces macierzysty shella czeka Czy jest to wykonywalny program? wywołanie systemowe exec nie Jądro ładuje do pamięci program i uruchamia w procesie potomnym Uruchomienie procesu, a następne jego zakończenie Czy jest to jest koniec skryptu? tak wyjście wywołanie systemowe exit nie Proces macierzysty budzi się Instytut Informatyki AP, rok akademicki 2007/08 Strona 2 z 7

fork - powoduje utworzenie nowego procesu, tzw. procesu dziecko (potomnego) będącego kopią procesu, który spowodował odwołanie systemowe i który jest nazywany procesem rodzicem (macierzystym). wait - powoduje przejście procesu typu rodzic w stan oczekiwania. exec - proces dziecko, po odszukaniu ścieżki na dysku, gdzie znajduje się wykonywalny program odpowiadający poleceniu, które nie jest wbudowane w jądro (np. ls), wydaje exec, który powoduje załadowanie do pamięci, na miejsce procesu - dziecko tego nowego programu, który sam staje się procesem - dzieckiem i zaczyna być wykonywany. exit - wykonywany proces - dziecko może zakończyć się w dowolnej chwili poprzez wykonywanie/wywoływanie exit. gdy proces - dziecko kończy się exit powoduje wysłanie sygnału i oczekuje od rodzica akceptacji swojej przyczyny zakończenia (statusu wyjścia), status wyjścia jest liczbą z zakresu 0 255, wartość 0 oznacza, że program zakończył się pomyślnie, wartość!= 0 oznacza, że nastąpiło awaryjne wyjście z programu, shell posiada wbudowaną zmienną ($ status w shellu C, $? w shellu Bourne'a i Korn'a), która pamięta status wyjścia ostatniego wykonywanego polecenia. Jeżeli z jakichś powodów "rodzic" nie czeka na zakończenie procesu "dziecko", to zostaje ono zawieszone dopóki "rodzic" nie wywoła wait lub "rodzic" umrze. Jeżeli rodzic umrze przed dzieckiem, proces init adoptuje proces dziecko. Każdy proces ma swój PID -f Pełna informacja o procesach UID identyfikator użytkownika (kto uruchomił proces) PID identyfikator procesu PPID identyfikator procesu macierzystego danego procesu (id procesu, który go uruchomił). C wykorzystanie procesora w jednostce czasu STIME czas utworzenia procesu (kiedy się rozpoczął) TTY terminal CMD polecenie, które uruchomiło proces e more Pokaże wszystkie procesy ax u Podaje dodatkowe informacje o procesach, podobne do f. Po wpisaniu tego polecenia pojawia się rozszerzony opis procesów. Warto zwrócić uwagę na kolumnę STAT. Wspomniana kolumna może przybrać: (R) - proces działający, (S) - uśpiony, (T) - zatrzymany, (Z) - zombie. Instytut Informatyki AP, rok akademicki 2007/08 Strona 3 z 7

Wpisz w drugiej utworzonej powłoce: $ bash -f $ tcsh -f $ exit $ exit Polecenie kill służy do zakończenia procesu, którego jesteśmy użytkownikiem $ kill PID $ kill -9 PID Usuń bezwarunkowo proces PID $ kill l Wyświetli listę wszystkich sygnałów $ man 7 signal Inne polecenie wyświetlające listę procesów: $ top Lista procesów najbardziej absorbujących pamięć Metaznak & (przetwarzanie procesu "w tle") $ date; who wc $ (date; who) wc $ sleep 10 $ sleep 10 <Enter> date <Enter> $ sleep 20& <Enter> $ date <Enter> $ who $ (sleep 15; ls)& <Enter> $ date <Enter> $ (sleep 10; who)& date $ (sleep 15; ls)& (sleep 10; who) $ (sleep 15; ls)& (sleep 10; who)& Instytut Informatyki AP, rok akademicki 2007/08 Strona 4 z 7

Jeżeli zapomnieliśmy wysłać proces w tło, zawsze można zrobić to później. $ sleep 100 Naciśnij Ctrl + Z $ jobs $ bg $ fg Tworzenie pustego pliku Utwórz katalog lab3 i przejdź do niego. $ touch pusty -l Status wyjścia wykonania polecenia $ cp pusty $ echo $? 1 $ cp pusty p_ty $ echo $? 0 Można sprawdzić czy dane polecenie jest wykonywalnym programem $ type cat $ which cat $ which ls $ which cd $ whereis ls Kilka poleceń można wykonać z pojedynczej linii poleceń $ date; ls $ date;\ ls $ cd lab3 Wynik wykonania polecenia można skierować do pliku zamiast na standardowe wyjście $ cat p_ty $ date > p_ty $ cat p_ty Instytut Informatyki AP, rok akademicki 2007/08 Strona 5 z 7

Polecenie cat można wykorzystać do połączenia kilku plików w jeden plik $ cat > p1 Co by tutaj napisać. Naciskamy Ctrl + C $ cat p1 Utwórzmy kilka plików: $ date > data $ w > kto > lista Łączenie plików $ cat p1 data kto > razem $ cat razem Dołączanie do pliku $ cat data lista >> razem $ cat razem Ale! $ cat data lista > razem $ cat razem Jeszcze o touch l $ touch pusty l $ touch data l Instytut Informatyki AP, rok akademicki 2007/08 Strona 6 z 7

Dowiązania miękkie i twarde $ date > plik_1 > plik_2 $ ln plik_1 plik_dt p $ ln s plik_2 plik_dm parametr s tworzy dowiązanie miękkie p -l $ cat plik_dt $ cat plik_dm $ rm plik_2 $ cat plik_dm BŁĄD!! cat: plik_dm: Nie ma takiego pliku ani katalogu $ rm plik_1 $ cat plik_dt Instytut Informatyki AP, rok akademicki 2007/08 Strona 7 z 7