Systemy Operacyjne
TEMATYKA POSZCZEGÓLNYCH ZAJĘĆ
Wprowadzenie
Prezentacja programu laboratorium, warunków zaliczenia, omówienie podstaw instalacji systemu
Linux i sposobów pozyskania tego systemu.
Podstawowe polecenia informacyjne, uzyskiwanie pomocy
Celem laboratorium jest zapoznanie studentów z podstawowymi poleceniami informacyjnymi
systemu UNIX oraz ze sposobami uzyskiwania pomocy w tym systemie.
Laboratorium obejmuje następujące tematy:
✔ uzyskiwanie pomocy (polecenia: man, info),
✔ wyszukiwanie informacji (polecenia: find, whereis, locate, whatis, apropos),
✔ przemieszczanie się po systemie plików (polecenie: cd),
✔ informacje o plikach i katalogach (polecenia: pwd, ls, dir, vdir, tree),
✔ podstawowe informacje o użytkownikach (polecenia: who, finger),
✔ prosta komunikacja między użytkownikami (polecenia: write, mesg, talk),
✔ rozpoczynanie i kończenie pracy (polecenia: startx, exit, logout).
Pliki: rodzaje, właściwości, prawa, podstawowe operacje
Celem laboratorium jest zapoznanie studentów z podstawowymi informacjami na temat plików w
systemie UNIX. W szczególności z ich rodzajami (typami), właściwościami oraz powiązanymi z
nimi prawami. Dodatkowo na zajęciach tych studenci powinni poznać polecenia wykorzystywane
do różnorakich operacji na plikach.
Laboratorium obejmuje następujące tematy:
✔ postać UNIX-owego systemu plików (polecenia: ls, dir, vdir, tree),
✔ rodzaje plików w systemie UNIX,
✔ właściwości plików, prawa do plików, typy plików (polecenia: chmod, chgrp, chown, ln)
✔ wyświetlanie zawartości plików (polecenia: cat, more, less, head, tail, wc),
✔ tworzenie, kopiowanie, przenoszenie i usuwanie plików (polecenia: touch, cp, mv, rm, mkdir,
rmdir).
Standardowe wejście i wyjście, przekierowania, potoki, filtry, wyszukiwanie informacji
Celem laboratorium jest zapoznanie studentów z jednymi z fundamentalnych pojęć w systemie
UNIX, tj. z pojęciami: standardowego wejścia i standardowego wyjścia oraz z mechanizmami i
pojęciami z nimi związanymi: przekierowaniami, potokami, filtrowaniem informacji,
wyszukiwaniem informacji. Kończąc zajęcia, studenci powinni opanować praktycznie możliwości
jakie dają mechanizmy przekierowania i potoków oraz być w stanie wykorzystać odpowiednie
polecenia UNIX-a, do odfiltrowania określonych informacji, czy też wyszukania informacji
zadanych pewnym wzorcem.
Laboratorium obejmuje następujące tematy:
✔ pojęcie standardowego wejścia i wyjścia,
✔ mechanizm przekierowania,
✔ pojęcie potoku,
✔ deskryptory plików,
✔ filtrowanie informacji (polecenia: grep, sort, uniq),
✔ wyszukiwanie informacji (polecenie: grep),
✔ dodatkowe polecenia informacyjne (polecenia: cal, date, uname -a, w, who, whoami).
Procesy: rodzaje, właściwości, podstawowe operacje
Celem laboratorium jest zapoznanie studentów z tematyką procesów w systemie UNIX, ich
rodzajami, właściwościami oraz podstawowymi operacjami na nich. Kończąc te zajęcia, studenci
powinni opanować następujące pojęcia: procesy, zadania, procesy pierwszoplanowe, procesy tła,
procesy rodzice, procesy potomne; dodatkowo powinni posiąść praktyczne umiejętności tworzenia,
przeglądania i usuwania (“zabijania”) procesów.
Laboratorium obejmuje następujące tematy:
✔ uruchamianie (tworzenie) procesów,
✔ procesy pierwszoplanowe,
✔ procesy tła (zadania),
✔ przenoszenie procesów pierwszoplanowych do tła (polecenie: bg),
✔ przenoszenie procesów tła na pierwszy plan (polecenie: fg),
✔ zachowywanie procesów tła po wylogowaniu (polecenia: nohup),
✔ oczekiwanie na zakończenie procesu tła (polecenie: wait),
✔ przeglądanie uruchomionych procesów (polecenia: jobs i ps),
✔ zabijanie procesów (polecenie: kill),
✔ procesy potomne i procesy rodzice,
✔ numer zadania, a identyfikator procesu,
✔ uprawnienia procesów,
✔ zast powanie ę bieżącego procesu.
Podstawy administracji - zarządzanie kontami użytkowników
Celem laboratorium jest zapoznanie studentów z mechanizmem tworzenia, modyfikowania i
usuwania kont użytkowników i grup użytkowników (jest to jedna z podstawowych umiejętności
jakie powinien posiąść przyszły administrator tego systemu). W ramach tych zajęć studenci powinni
posiąść praktyczne umiejętności z zakresu prezentowanych treści, w szczególności - umiejętność
tworzenia, modyfikowania i usuwania kont użytkowników oraz grup użytkowników, z
wykorzystaniem wbudowanych poleceń systemu UNIX. Uzupełnieniem tematyki zajęć jest kwestia
harmonogramowania zadań, będąca swoistą kontynuacją laboratorium poświęconego procesom i
operacjom na nich. Dodatkowo w ramach tych zajęć jest prezentowane kilka programów ogólnego
przeznaczenia, które powinny być znane użytkownikom systemu UNIX. Zajęcia te kończą pierwszą
część laboratorium, poświęconą różnorakim poleceniom systemu UNIX oraz podstawowym cechom
tego systemu. Druga część laboratorium jest poświęcona zagadnieniu tworzenia skryptów powłoki
w systemie UNIX (umiejętność ta jest jedną z podstawowych umiejętności niezbędnych do
wygodnego i efektywnego zarządzania tym systemem).
Laboratorium obejmuje następujące tematy:
✔ harmonogramowanie zadań (polecenia: at, atq, atrm, crontab),
✔ zmiana tożsamości użytkownika (polecenie: su),
✔ pliki systemowe “/etc/passwd”, “/etc/shadow” i “/etc/group”,
✔ zarządzanie kontami użytkowników (polecenia: useradd, usermod, userdel, passwd),
✔ zarządzanie grupami użytkowników (polecenia: groupadd, groupmod, groupdel),
✔ montowanie dysków (polecenia: mount i umount),
✔ przydatne programy użytkowe (programy: ftp, lynx, mail, pine).
Edytory tekstowe vi i emacs
Celem laboratorium jest zapoznanie studentów z dwoma podstawowymi edytorami
wykorzystywanymi w systemie UNIX, tj. z edytorem vi i edytorem emacs. W ramach tych zajęć
studenci mają opanować podstawy wykorzystania tych programów, w szczególności: tworzenie
nowego pliku, edycja istniejącego, zapisywanie efektów swojej pracy, podstawowe skróty
klawiszowe. Kończąc te zajęcia studenci mają umieć wykorzystania edytory vi i emacs do prostej
edycji plików tekstowych.
Tworzenie skryptów powłoki - wprowadzenie
Celem laboratorium jest zapoznanie studentów z podstawowymi pojęciami dotyczącymi tworzenia
skryptów powłoki w systemie UNIX. Zajęcia mają charakter wprowadzający, tematyka ta będzie
kontynuowana na kilku kolejnych zajęciach. Po ich zakończeniu studenci powinni rozumieć czym
jest powłoka systemu i jakie funkcje ona pełni. Powinni również umieć uruchamiać powłokę
zarówno w trybie interakcyjnym, jak i nieinterakcyjnym. Dodatkowo powinni posiąść kompletną
wiedzę na temat wykorzystania zmiennych w skryptach powłoki, ich tworzenia, konwencji
nazewniczych, przypisywania im wartości, odczytywania tych wartości, usuwania zmiennych, czy
wreszcie ich różnych rodzajów: zmienne proste, tablice, zmienne środowiskowe (w tym ostatnim
wypadku, wiedza ta powinna skutkować praktyczną umiejętnością tworzenia i modyfikowania
zmiennych środowiskowych) i zmienne powłoki.
Laboratorium obejmuje następujące tematy:
✔ powłoka systemu,
✔ proces logowania a uruchamianie powłoki systemu,
✔ inicjalizowanie powłoki,
✔ pow łoki interaktywne i nieinteraktywne,
✔ zawartość plików inicjalizacyjnych powłoki,
✔ tworzenie i usuwanie aliasów,
✔ nadawanie plikom skryptów prawa do wykonywania,
✔ wykorzystanie zmiennych w skryptach powłoki,
✔ tworzenie (definiowanie) zmiennych,
✔ nazwy zmiennych,
✔ wartości zmiennych,
✔ odczytywanie wartości zmiennych,
✔ zmienne tablicowe,
✔ zmienne tylko do odczytu,
✔ usuwanie zmiennych,
✔ zmienne środowiskowe,
✔ zmienne powłoki.
Tworzenie skryptów powłoki - podstawienia, cytowanie, parametry
Celem laboratorium jest zapoznanie studentów z kolejnymi elementami skryptów powłoki systemu
UNIX. Zajęcia te są kontynuacją zajęć poprzednich, rozszerzają one wiedzę studentów o takie
zagadnienia jak: mechanizm podstawień w skryptach, różne sposoby cytowania i ich konsekwencje,
praca z parametrami przekazywanymi do skryptów z wiersza poleceń, proste operacje wejścia i
wyjścia. Kończąc te zajęcia studenci powinni wiedzieć co oznaczają wyżej wymienione pojęcia
oraz posiadać praktyczną umiejętność wykorzystania prezentowanych treści we własnych skryptach
powłoki.
Laboratorium obejmuje następujące tematy:
✔ mechanizm podstawień w skryptach powłoki,
✔ podstawienia nazw plików,
✔ warunkowe podstawienia zmiennych,
✔ podstawienia poleceń,
✔ mechanizm cytowania,
✔ cytowanie z wykorzystaniem znaku “\”,
✔ cytowanie z wykorzystaniem apostrofów,
✔ cytowanie z wykorzystaniem cudzysłowów,
✔ praca z parametrami wiersza poleceń,
✔ zmienne specjalne do odczytu parametrów wywołania skryptu,
✔ opcje i argumenty wywołania skryptu,
✔ wykorzystanie opcji we własnych skryptach,
✔ proste operacje wejścia i wyjścia (read, echo, printf).
Tworzenie skryptów powłoki - instrukcje warunkowe, instrukcje pętli, funkcje
Celem laboratorium jest zapoznanie studentów z instrukcjami warunkowymi i instrukcjami pętli,
jakie mogą być wykorzystywane w skryptach powłoki, dodatkowo, jest też omawiane tworzenie i
wykorzystywanie własnych funkcji, jako element dobrego stylu programowania. Dopiero znajomość
tych konstrukcji, pozwala na tworzenie praktycznych i użytecznych skryptów. Zagadnienie
sterowania kontrolą wykonania programu (skryptu), powinno być znane studentom, z innych
przedmiotów poświęconych językom programowania (PASCAL, C, C++). Kończąc te zajęcia
studenci powinni posiąść wiedzę na temat odpowiednich instrukcji warunkowych i instrukcji pętli,
jednocześnie powinni być w stanie wykorzystać tę wiedzę w sposób praktyczny, tworząc skrypty
wspierające pracę administratora systemu UNIX.
Laboratorium obejmuje następujące tematy:
✔ sterowanie sposobem wykonania skryptu,
✔ instrukcja warunkowa if,
✔ operator test i jego uproszczona forma [],
✔ rodzaje testów dla plików,
✔ operatory porównania dla łańcuchów,
✔ operatory porównań numerycznych,
✔ tworzenie warunków złożonych,
✔ instrukcja warunkowa case,
✔ wykorzystanie wzorców w wyrażeniu case,
✔ instrukcje pętli,
✔ instrukcja pętli while,
✔ tworzenie pętli zagnieżdżonych,
✔ sprawdzania poprawności odpowiedzi wprowadzonej przez użytkownika,
✔ wykorzystanie pętli while podczas przetwarzania plików,
✔ instrukcja pętli until,
✔ instrukcja pętli for,
✔ instrukcja pętli select,
✔ sterowanie wykonaniem instrukcji pętli - break i continue,
✔ funkcje,
✔ tworzenie funkcji,
✔ wywoływanie funkcji.
Tworzenie zaawansowanych skryptów - program sed
Celem laboratorium jest zapoznanie studentów z tworzeniem zaawansowanych skryptów,
wykorzystujących do swojego działania program sed. W ramach tych zajęć studenci powinni
również poznać podstawy pracy z wyrażeniami regularnymi i posiąść praktyczną umiejętność
filtrowania tekstów pod kątem określonego kryterium.
Laboratorium obejmuje następujące tematy:
✔ podstawy filtrowania tekstów,
✔ szczegółowe zapoznanie z przeznaczeniem i działaniem programu sed,
✔ wyrażenia regularne.
Tworzenie zaawansowanych skryptów - program awk
Celem laboratorium jest zapoznanie studentów z tworzeniem zaawansowanych skryptów,
wykorzystujących do swojego działania program awk. W ramach tych zajęć studenci powinni
pogłębić swoją wiedzę na temat pracy z programem awk, rozszerzając ją o takie elementy jak:
zmienne wbudowane i wykorzystanie zmiennych powłoki, instrukcje warunkowe, instrukcje pętli.
W ramach tych zajęć studenci powinni również pogłębić wiedzę na temat pracy z wyrażeniami
regularnymi i filtrowania tekstów pod kątem określonego kryterium.
Laboratorium obejmuje następujące tematy:
✔ podstawowe informacje o programie awk,
✔ sposoby wywoływania, składnia poleceń programu awk,
✔ edycja pól, akcje w zależności od dopasowanego wzorca,
✔ operatory porównania, wyrażenia złożone,
✔ zmienne, operatory arytmetyczne,
✔ wzorce specjalne BEGIN i END,
✔ zmienne wbudowane w programie awk,
✔ wykorzystanie zmiennych powłoki w programie awk,
✔ instrukcje sterujące i instrukcje pętli w programie awk.