SO – LAB3 Wojciech Pieprzyca Systemy operacyjne SO – LAB3 Wojciech Pieprzyca
Procesy (1) Proces to inaczej mówiąc program działający w systemie. Procesy mogą być uruchomione jednocześnie, ponieważ możliwe jest uruchamianie ich w tle. Każdy proces ma określony priorytet, dzięki czemu może otrzymać ilość zasobów proporcjonalną do posiadanego priorytetu. ps wyświetla procesy danego użytkownika, ps –a wyświetla procesy wszystkich użytkowników ps –ax wyświetla procesy wszystkich użytkowników łącznie z procesami ukrytymi
Procesy (2) Każdy proces identyfikowany jest poprzez identyfikator procesu (PID). Dzięki temu możliwe jest między innymi zatrzymywanie (zabijanie) procesów przy użyciu polecenia kill, Aby zatrzymać proces należy wydać polecenie: kill PID gdzie PID to identyfikator procesu, który można odczytać za pomocą polecenia ps, Domyślnie wysyłany jest do procesu sygnał numer 15 (TERM) żądający zapisania danych i zakończenia programu, czasami istnieje jednak konieczność wysłania sygnału 9 z żądaniem natychmiastowego zakończenia. kill -9 PID
Ćwiczenia (1) zobacz listę uruchomionych procesów wszystkich użytkowników łącznie z procesami ukrytymi, uruchom program Midnight Commander (mc) i naciśnij klawisze Ctrl+C, zobacz listę procesów raz jeszcze, jakie są zmiany? zatrzymaj proces mc poleceniem kill -9 PID, gdzie PID to identyfikator odczytany z listy procesów.
Operacje na plikach tekstowych grep – wyszukuje i wyświetla linie z pliku tekstowego zawierające podaną frazę grep tekst plik head – wyświetla pierwsze n-linii (domyślnie 10) z pliku tekstowego o podanej nazwie, head plik head –n liczbaLinii plik tail – wyświetla ostatnie n-linii (domyślnie 10) z pliku tekstowego o podanej nazwie, tail plik tail –n liczbaLinii plik
Ćwiczenia (2) Ściągnij plik magazyn.txt ze strony wojtek.wsi.edu.pl, zawiera on informacje o produktach podzielonych na kategorie, Wyświetl tylko te produkty, które należą do kategorii Napoje, Użyj domyślnej wersji programów head i tail dla pliku magazyn.txt. Co zostało pokazane ?, Pokaż 5 pierwszych linii pliku magazyn.txt, Pokaż 5 ostatnich linii pliku magazyn.txt.
Zmienne (1) Zmienna jest komórką pamięci, która przechowuje określone informacje. Zmienne mogą być wykorzystywane w poleceniach lub skryptach. Przyjęto, że nazwy zmiennych pisane są dużymi literami. Tworzenie zmiennej: ZMIENNA = wartosc np. IMIE = ”Marek” WIEK = 20 Wyświetlenie zmiennej echo $ZMIENNA np. echo $IMIE
Zmienne (2) Zerowanie wartości zmiennej unset ZMIENNA np. unset IMIE Ustalenie zmiennej tylko do odczytu readonly ZMIENNE
Ćwiczenia (3) Stwórz zmienne imie oraz wiek zawierające Twoje imię oraz Twój wiek, Wyświetl zawartość tych zmiennych, Wyzeruj wartość zmiennej wiek i wyświetl ją, Ustal zmienną wiek jako zmienną tylko do odczytu, spróbuj ją zmienić, Wyświetl listę wszystkich dostępnych zmiennych za pomocą polecenia set.
Skrypty (1) Skrypty można porównać do plików wsadowych wykonywanych w środowisku MS-DOS, skrypty w systemach Unix mają jednak o wiele większe możliwości, Skrypt to zwykły plik tekstowy zawierający tekst programu do wykonania, Możliwe jest uruchamianie, skryptów z parametrami z linii poleceń, odwołanie do poszczególnych parametrów ze skryptu ma postać: $numer, gdzie numer to cyfra oznaczająca numer parametru, o który nam chodzi, przy czym $0 to nazwa skryptu, a dopiero $1 to pierwszy parametr,
Skrypty (2) Przykładowy skrypt obliczający sumę dwóch liczb: let liczba1 = 10 let liczba2 = 20 let suma = $liczba1+$liczba2 echo $suma Polecenie let pozwala przypisać zmiennej wartość wyrażenia arytmetycznego. Taki sam skrypt pobierający liczby z linii poleceń let liczba1 = $1 let liczba2 = $2 let suma = liczba1+liczba2
Skrypty (3) Do pobierania danych od użytkownika z klawiatury służy instrukcja read, Przykładowy skrypt obliczający sumę dwóch liczb przy użyciu danych pobranych z klawiatury: echo ”Podaj liczbe1” read liczba1 echo ”Podaj liczbe2” read liczba2 let suma = liczba1+liczba2 echo $suma
Ćwiczenia (3) Stwórz 3 pliki ze skryptami. Wszystkie mają obliczać deltę równania kwadratowego, a więc pytać o a,b,c i obliczać delta=b2-4ac 1) zapisać a,b,c jako zmienne, wyliczyć delte i ją wyświetlić, 2) a,b,c podawane jako parametry, 3) a,b,c pobierane z klawiatury.