Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Wprowadzenie do systemu UNIX

Sylabus modułu zajęć

Informacje podstawowe

Kierunek studiów Cykl dydaktyczny


Informatyka - Data Science 2021/2022

Specjalność Kod przedmiotu


Wszystkie IEiTIDSS.IIi80000O.20469ee41ad2323d0d5d5f07f4d8a4
a3.21
Jednostka organizacyjna
Wydział Informatyki, Elektroniki i Telekomunikacji Języki wykładowe
Polski
Poziom kształcenia
studia magisterskie inżynierskie II stopnia Obligatoryjność
Obowiązkowy
Forma studiów
Stacjonarne Blok zajęciowy
przedmioty ogólne
Profil studiów
Ogólnoakademicki Przedmiot powiązany z badaniami naukowymi
Tak

Koordynator Krzysztof Boryczko


przedmiotu

Prowadzący zajęcia Krzysztof Boryczko, Robert Straś, Robert Brzoza-Woch, Konrad Zaworski

Okres Forma weryfikacji uzyskanych efektów uczenia się Liczba


Semestr 0 Zaliczenie punktów ECTS
4.0
Forma prowadzenia i godziny zajęć
Wykład: 30, Ćwiczenia laboratoryjne: 14

Efekty uczenia się dla przedmiotu

Kierunkowe efekty
Kod Efekty w zakresie Metody weryfikacji
uczenia się

Wiedzy – Student zna i rozumie:

Student zna i rozumie znaczenie wszystkich pojęć


W1 omawianych w ramach modułu „Wstęp do systemu INF2DS_W01_0 Kolokwium
UNIX”.

1/8
Student zna i rozumie działanie podstawowych
W2 poleceń omawianych w ramach modułu „Wstęp INF2DS_W01_0 Kolokwium
do systemu UNIX”.

Student dysponuje aktualną wiedzą na temat


wykorzystania dostępnych w różnych
W3 INF2DS_W01_0 Kolokwium
implementacjach systemów uniksowych poleceń
systemowych i programów użytkowych.

Umiejętności – Student potrafi:

Student potrafi uzyskać z systemu informacje


INF2DS_U01_0,
U1 dotyczące konfiguracji systemu, roli użytkownika Kolokwium
INF2DS_U02_0
w systemie.

Student potrafi wykorzystać system dla potrzeb INF2DS_U01_0,


U2 Kolokwium
skompilowania, zainstalowania i wykonania programu. INF2DS_U02_0

Student potrafi dokonać konfiguracji swojego


środowiska pracy, określać wykorzystanie przez niego INF2DS_U01_0,
U3 Kolokwium
zasobów oraz wykorzystywać zasoby systemu dla INF2DS_U02_0
potrzeb własnych procesów.

Student potrafi zaproponować konfiguracje systemu


INF2DS_U01_0,
operacyjnego, które w efektywny sposób wykorzystują
U4 INF2DS_U02_0, Kolokwium
moc obliczeniową sprzętu oraz spełniają podstawowe
INF2DS_U03_0
zasady bezpieczeństwa.

Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć
Celem modułu jest wyposażenie studenta/studentki w umiejętność korzystania z systemu operacyjnego UNIX i na nim
bazujących wykorzystując wiedzę o jego budowie i umiejętności praktyczne.

Bilans punktów ECTS

Średnia liczba godzin* przeznaczonych


Rodzaje zajęć studenta
na zrealizowane aktywności

Wykład 30

Ćwiczenia laboratoryjne 14

Udział w zajęciach dydaktycznych/praktyka 14

Przygotowanie do zajęć 25

Samodzielne studiowanie tematyki zajęć 31

Dodatkowe godziny kontaktowe 5

Liczba godzin
Łączny nakład pracy studenta
119

Liczba godzin
Liczba godzin kontaktowych
44

* godzina (lekcyjna) oznacza 45 minut

2/8
Treści programowe

Efekty uczenia się dla Formy prowadzenia


Lp. Treści programowe
przedmiotu zajęć

Budowa systemu, podstawowe pojęcia i definicje (2


godz.).: Definicja systemu operacyjnego. Rola systemu
operacyjnego w systemie komputerowym. Informacje
ogólne o budowie systemu operacyjnego UNIX. Jądro
1. systemu operacyjnego, jego funkcja i działanie. W1, W2, W3 Wykład
Podstawowe funkcje systemowe. Zasady i metody
komunikacji ze sprzętem. Krótka charakterystyka
podstawowych dystrybucji: SystemV, BSD, systemy
komercyjne oraz linuksowe.

# Podstawowe polecenia w systemach uniksowych.


Pliki konfiguracyjne użytkowników i grup
użytkowników. Składanie poleceń. Wykorzystywane
polecenia: man, cat, more, less, tail, head, sort, grep i
in. Składanie poleceń - potoki.
# Pliki: Tworzenie i usuwanie plików i katalogów.
Prawa dostępu. Polecenia: touch, mkdir, rm, rmdir,
chmod, chown. Praca z systemami plików: zakładanie,
montowanie i odmontowywanie. Polecenia: lsblk,
mkfs.*, mount, umount, fsck.
2. # Listowanie procesów. Uruchamianie procesów i ich U1, U2, U3, U4 Ćwiczenia laboratoryjne
obsługa z bieżącej konsoli. Zarządzanie procesami
uruchomionymi z dowolnego terminala. Cykliczne i
jednokrotne uruchamianie procesów. Polecenia: ps,
jobs, kill, at, atd, crontab.
# Konfiguracja środowiska pracy. Podstawowe
zmienne środowiskowe, aliasy, pliki konfiguracyjne
interpreterów poleceń.
# Programowanie w językach interpreterów poleceń.
Realizacja prostych skryptów ułatwiających prace w
systemie operacyjnym.

Użytkownicy i grupy użytkowników w systemie UNIX (4


godz.).: Definicja użytkownika i jego reprezentacja w
systemie operacyjnym. Podstawowe pliki
konfiguracyjne użytkowników w różnych
implementacjach systemu. Praktyczne aspekty
dodawania użytkowników oraz modyfikowania
wartości atrybutów użytkowników. Idea grup
użytkowników. Grupa podstawowa i dodatkowe i
wynikające stąd zależności. Praktyczne aspekty
3. zakładania grupy użytkowników oraz modyfikowania W1, W2, W3 Wykład
atrybutów grupy. Zasady i praktyczne aspekty
dodawania/usuwania użytkownika do/z grupy.
Administrator grupy, jego możliwości. Usuwanie
użytkowników oraz grup użytkowników z systemu.
Ograniczanie zasobów systemu komputerowego
przyznawanych użytkownikowi. Zasady
bezpieczeństwa związane z administrowaniem
użytkownikami. System PAM, idea działania,
podstawowe możliwości, zasady konfigurowania.

3/8
Podsystem pamięci masowej (6 godz.).: Logiczna
budowa jądra systemu operacyjnego: podsystem
pamięci masowej, podsystem zarządzania procesami.
Definicja i-węzła. Rodzaje plików. Atrybuty pliku
przechowywane w i-węźle. Modele praw dostępu:
MAC, DAC, RBAC. Struktury opisujące plik w jądrze
systemu operacyjnego. Dostęp do danych
przechowywanych w pliku. Pojęcie systemu plików.
Podział drzewa katalogów na systemy plików. Budowa
dyskowych systemów plików na przykładzie systemu
plików s5 oraz FFS. Systemy plików z dziennikiem.
4. W1, W2, W3 Wykład
Budowa wewnętrzna systemów plików JFS, XFS, ext4,
RaiserFS, ZFS, BTRFS. Zakładanie systemu plików z
uwzględnieniem jego przeznaczenia (rozmiar bloku
danych, długość listy i-węzłów). Montowanie i
odmontowanie systemu plików. Programy narzędziowe
do badania spójności wewnętrznej oraz naprawiania
systemu plików. System kontyngentów (quota).
Wykorzystanie systemów Logical Volume Manager
(LVM) oraz GEOM. Wprowadzenie do macierzy
dyskowych RAID. Najczęściej wykorzystywane
poziomy.

Podsystem zarządzania procesami (4 godz.).: Pojęcie


procesu. Opis struktur definiujących proces w
systemie operacyjnym UNIX. Sposoby dostępu do
segmentów procesu. Fazy życia procesu. Mechanizmy
komunikacji między procesami. Pojęcie trybu pracy:
użytkownika i jądra. Kontekst pracy systemu
operacyjnego. Pojęcie priorytetu procesu oraz roli
parametru NICE. Algorytmy kolejkowania zadań w
SystemieV oraz BSD. Interaktywne uruchamianie
5. procesów. Kontrolowanie przebiegu wykonywania W1, W2, W3 Wykład
procesu z wykorzystaniem mechanizmu przesyłania
sygnałów. Wykorzystanie demonów zegarowego: at
dla jednorazowego oraz cron dla cyklicznego
uruchamiania procesów. Podstawowe mechanizmy
komunikacji międzyprocesowej. Metody ograniczania
zasobów dostępnych dla procesów.
Podstawowe zasady monitorowania wydajności
systemów operacyjnych. Najpopularniejsze programy
monitorujące. Strojenie systemów operacyjnych.

Interpretery poleceń (4 godz.).: Klasyfikacja


interpreterów poleceń. Fazy działania interpretera
poleceń. Znaki specjalne wiersza poleceń i ich
znaczenie w różnych rodzinach interpreterów.
Podstawowe zmienne specjalne oraz środowiskowe
wybranych interpreterów poleceń. Historia wiersza
6. polecenia. W1, W2, W3 Wykład
Zasady pisania i uruchamiania programów dla
interpreterów poleceń. Podstawowe instrukcje: if-then-
else, case, switch, do-while, for dla interpreterów z
rodziny sh oraz csh. Czytanie danych ze
standardowego wejścia. Obsługa sygnałów (instrukcja
trap, onintr). Przykładowe skrypty.

4/8
Podstawy rodziny protokołów TCP/IP (2 godz).: Historia
sieci w systemach uniksowych. Model ISO-OSI. Rodziny
protokołów SNA oraz XNS oraz TCP/IP. Adres fizyczny.
Protokół IP w wersji IV oraz VI. Adres IP. Protokoły ARP
oraz RARP. Protokół DHCP. Protokoły TCP oraz UDP.
Przestrzeń nazw, domena katalogu głównego, domeny
najwyższego poziomu. Adres symboliczny. Usługa
7. W1, W2, W3 Wykład
nazw domenowych (DNS). Model klient-serwer. Numer
portu (usługi). Podstawy konfigurowania interfejsów
sieciowych oraz tablic trasowania z wykorzystaniem
poleceń oraz odpowiednich plików konfiguracyjnych w
różnych implementacjach systemu. Otwieranie i
zamykanie interfejsu. Zarządzanie usługami.
Podstawowe aplikacje sieciowe.

Protokoły DHCP i DNS (2 godz): Opis działania


protokołu DHCP. Podstawowe pliki konfiguracyjne, ich
budowa i zasady interpretacji. Pakiety instalacyjne po
stronie klienta i serwera. Monitorowanie działania
usługi po stronie serwera. Opis działania usługi DNS.
8. W1, W2, W3 Wykład
Pliki konfiguracyjne w systemach uniksowych po
stronie klienta i serwera. Instalowanie i
konfigurowanie usługi. Budowa plików
konfiguracyjnych po stronie serwera. Zarządzanie
usługą. monitorowanie pracy usługi.

Protokół LDAP (2 godz.): Przestrzeń nazw.


Implementacja OpenLDAP. Instalacja usługi. Tworzenie
bazy danych. Dodawanie, modyfikacja, wypisywanie
zawartości bazy danych usługi LDAP. Uruchamianie
9. W1, W2, W3 Wykład
usługi. Monitorowanie pracy usługi. Konfigracja po
stronie klienta. Wykorzystanie danych o użytkowniku
zapisanych w bazie LDAP. Konfiguracja logowania
użytkownika z modułami PAM.

Protokół Kerberos (2 godz.): Zasada działania


protokołu Kerberos. Instalacja i uruchamianie usługi w
systemach uniksowych. Podstawowe pliki
konfiguracyjne. Definiowanie użytkowników bazy i ich
10. uprawnień. Definiowanie polityk bezpieczeństwa. W1, W2, W3 Wykład
Definiowanie ograniczeń na postać i złożoność hasła.
Autentykacja użytkownika z wykorzystaniem protokołu
Kerberos - konfiguracja z wykorzystaniem modułów
PAM. Monitorowanie pracy usługi.

Sieciowe systemy plików (2 godz.): Omówienie


budowy i zasady działania systemów plików: Network
File System (NFS) oraz Andrew File System (AFS).
11. Instalacja usługi. Zakładanie i podstawy administracji W1, W2, W3 Wykład
po stronie serwera. Zarządzanie po stronie klienta.
Przykłady konfiguracji z wykorzystaniem protokołów
Kerberos, LDAP oraz sieciowego systemu plików.

Informacje rozszerzone

Metody i techniki kształcenia:

Wykłady z przedmiotu będą prowadzone w sposob zdalny z wykorzystaniem platformy Webex lub Teams., Wykład tablicowy,
Wykonanie ćwiczeń laboratoryjnych, Prezentacja multimedialna, Metoda pracy w grupie, Grywalizacja, Burza mózgów

5/8
Rodzaj zajęć Sposób weryfikacji i oceny efektów uczenia się Warunki zaliczenia przedmiotu

Zaliczenie części wykładowej odbywa się


na podstawie wyników kolokwium w
postaci testu wielokrotnego wyboru,
który odbywa się w terminie ostatniego
wykładu. Test zawiera 6-7 pytań z 4
sentencjami każde, a zadaniem
zdającego jest stwierdzenie, która z nich
jest prawdziwa, a która fałszywa.
Wykład Kolokwium
Poprawne stwierdzenie to +1 pkt,
niepoprawne -1, brak zdania 0 pkt.
Informacja o koniecznej do zdobycia na
ocenę pozytywną liczbie punktów jest
podawana przed rozdaniem testów.
Przewiduje się dwa zaliczenia
poprawkowe w terminach ustalanych na
bieżąco.

Zaliczenie z części laboratoryjnej


odbywa się na podstawie wyników z
dwóch kolokwiów. Oba muszą być
napisane na ocenę pozytywną. W
przeciwnym przypadku organizowane są
terminy poprawkowe. Najczęściej po 2.
Każde z kolokwiów odbywa się z
Ćwiczenia laboratoryjne Kolokwium wykorzystaniem komputera pracującego
pod kontrolą systemu operacyjnego
UNIX. Pierwsze to wykorzystanie poleceń
dla uzyskania informacji znajdującej się
w systemie (3 zadania). Drugie polega
na napisaniu skryptu dla dowolnego
interpretera poleceń, który będzie
działał w określony sposób.

Dodatkowy opis

Wykłady z przedmiotu będą prowadzone w sposob zdalny z wykorzystaniem platformy Webex lub Teams.
Pozostałe zajęcia będą odbywać się w salach. Dotyczy to także zaliczeń i egzaminów odbywajacych się w sesjach
egzaminacyjnych. Oczywiście będzie to zależeć od aktualnej sytuacji epidemicznej.

Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki
dopuszczenia do egzaminu

Zaliczenie części wykładowej odbywa się na podstawie wyników kolokwium w postaci testu wielokrotnego wyboru, który
odbywa się w terminie ostatniego wykładu. Test zawiera 6-7 pytań z 4 sentencjami każde, a zadaniem zdającego jest
stwierdzenie, która z nich jest prawdziwa, a która fałszywa. Poprawne stwierdzenie to +1 pkt, niepoprawne -1, brak zdania 0
pkt. Informacja o koniecznej do zdobycia na ocenę pozytywną liczbie punktów jest podawana przed rozdaniem testów.
Przewiduje się dwa zaliczenia poprawkowe w terminach ustalanych na bieżąco. Zaliczenie z części laboratoryjnej odbywa się
na podstawie wyników z dwóch kolokwiów. Oba muszą być napisane na ocenę pozytywną. W przeciwnym przypadku
organizowane są terminy poprawkowe. Najczęściej po 2. Każde z kolokwiów odbywa się z wykorzystaniem komputera
pracującego pod kontrolą systemu operacyjnego UNIX. Pierwsze to wykorzystanie poleceń dla uzyskania informacji
znajdującej się w systemie (3 zadania). Drugie polega na napisaniu skryptu dla dowolnego interpretera poleceń, który będzie
działał w określony sposób.

Sposób obliczania oceny końcowej

1. Aby uzyskać pozytywną ocenę końcową niezbędne jest uzyskanie pozytywnej oceny z laboratorium oraz zaliczenia testu z
części wykładowej. 2. Obliczamy średnią arytmetyczną z ocen z zaliczenia laboratorium i wykładów, uzyskanych we
wszystkich terminach. 3. Wyznaczmy ocenę końcową na podstawie zależności: if sr>4.75 then OK:=5.0 else if sr>4.25 then
OK:=4.5 else if sr>3.75 then OK:=4.0 else if sr>3.25 then OK:=3.5 else OK:=3 Nieobecność na zajęciach można odrobić w
tygodniu następnym lub poprzednim, gdyż zajęcia odbywają się co 2 tygodnie w cyklach dwutygodniowych. Brak oceny z

6/8
kolokwium z laboratorium można uzupełnić z inną grupą lub w terminie poprawkowym. Brak oceny z testu z części
wykładowej można uzupełnić w terminie poprawkowym. Liczba i czas terminów poprawkowych są ustalane zgodnie z
Regulaminem studiów.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach

W przypadku nieobecności zalecana jest praca własna. Materiały z wykładów w postaci prezentacji oraz opisów dostępne są
na stronie przedmiotu. W przypadku zajęć laboratoryjnych, oprócz pracy własnej, możliwe jest uczestniczenie w zajęciach z
inną grupą. Zajęcia laboratoryjne odbywają się co dwa tygodnie, więc jest możliwość wcześniejszego zaplanowania
"odrabiania" zajęć, jak i uczestniczenia w przypadku zdarzeń losowych.

Wymagania wstępne i dodatkowe


Umiejętność obsługi komputera, pracującego pod kontrolą dowolnego systemu operacyjnego, w podstawowym zakresie.

Zasady udziału w poszczególnych zajęciach, ze wskazaniem, czy obecność studenta na zajęciach jest
obowiązkowa

Wykład: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci
winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
Ćwiczenia laboratoryjne: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez
prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać
zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania
rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.

Literatura
Obowiązkowa

1. Bach M. J., "Construction of the UNIX operating system", WNT, Warsaw, 1993.
2. Nemeth E., Snyder G., Hein T. R., Whaley B., "Unix and Linux. System Administrator's Guide. " Edition IV, Helion, Gliwice,
2011.
3. Boryczko K., "Construction and administration of Unix and Linux systems. T. 1 ", Kraków, 2011.
4. Von Hagen W., "Filesystems in Linux", Helion, Gliwice, 2003.
5. Arthur L. J., Burns T., "Unix - programming in the shell", Mikom, Warsaw, 2003.

Badania i publikacje
Publikacje

1. Łukasz FABER, Krzysztof BORYCZKO, “Portable userspace virtual filesystem switch”, Computer Science, Informatyka,
University of Mining and Metallurgy, Kraków ; ISSN 1508-2806. — 2013 vol. 14 no. 3, s. 345–365.

7/8
Kierunkowe efekty uczenia się

Kod Treść

Potrafi wykorzystać poznane techniki i języki programowania do tworzenia programów o charakterze


INF2DS_U01_0 użytkowym, a także potrafi przeprowadzić analizę wymagań funkcjonalnych i niefunkcjonalnych i ocenić
ryzyko związane z budową oprogramowania.

Potrafi ocenić, dobrać i stosować właściwe metody i narzędzia do realizacji systemów informatycznych
INF2DS_U02_0
oraz potrafi ocenić przydatność i korzystać z dostępnych bibliotek i algorytmów.

Potrafi porównać projekty systemów informatycznych ze względu na zadane kryteria użytkowe oraz
INF2DS_U03_0
wskazać możliwości ich ulepszenia.

Ma wiedzę w zakresie wybranych języków i technik programowania oraz uporządkowaną wiedzę w


INF2DS_W01_0
zakresie inżynierii wymagań i jakości.

8/8

You might also like