- Nazwa przedmiotu:
- Unix - architektura, programowanie i administrowanie
- Koordynator przedmiotu:
- Grzegorz BLINOWSKI
- Status przedmiotu:
- Fakultatywny dowolnego wyboru
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Sztuczna inteligencja
- Kod przedmiotu:
- UXP1A
- Semestr nominalny:
- 7 / rok ak. 2021/2022
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 30 godzin wykładu
20 godzin przygotowania do sprawdzianów
15 godzin zajęć projektowych
40 godzin realizacja projektu
w sumie 105 godzin, co daje ok. 4 ECTS
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 30 godzin wykładu
15 godzin zajęć projektowych
w sumie 45 godzin, co daje ok. 2 ECTS
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 15 godzin zajęć projektowych
40 godzin realizacja projektu
w sumie 55 godzin, co daje ok. 2 ECTS
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium0h
- Projekt15h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Podstawy systemów operacyjnych, jezyk programowania C
- Limit liczby studentów:
- 30
- Cel przedmiotu:
- Celem wykładu jest zapoznanie słuchaczy z :
# architekturą wewnętrzną systemu UNIX,
# interfejsem jądra oferowanym programiście systemowemu, oraz
# wybranymi elementami administrowania systemu UNIX.
- Treści kształcenia:
- Krótkie wprowadzenie do historii systemu; standardy. Zarys architektury systemu UNIX. Funkcje jądra. Podsystem zarządzanie procesami - stany procesów, deskryptor procesu, pokrewieństwo procesów, dziedziczenie środowiska, przydzielanie czasu procesora. Wywołania systemowe fork, exec, exit, wait. Sygnały i ich obsługa. Własne procedury obsługi sygnałów (wywołania systemowe signal, kill, sigaction), „stary” i „nowy” mechanizm obsługi sygnałów. Komunikacja procesów poprzez potoki (wywołania pipe, close, read, write, popen, pclose) oraz potoki nazwane (wywołanie mknod). Przykład architektury klient - serwer.
Komunikacja IPC - problemy nazewnictwa (funkcja ftok), deskryptory kanałów IPC, limity. Kolejki komunikatów (wywołania systemowe msgget, msgctl, msgsnd, msgrcv). Semafory (wywołania systemowe semget, semctl, semop), realizacja operacji semaforowych P i V, semafora z ustaloną wartością. Wspólna pamięć (wywołania systemowe shmget, shmat, shmdt, shmctl). Cechy charakterystyczne procesów typu demon, szkielet procesu.
System pamieci wirtualnej – VM. Segmenty pamięci. Stronicowanie i mechanizm pageout. Powiązanie VM i VFS – funkcja mmap().
Mechanizm wątków POSIX. Relacje wątek –proces. Wątki a wydajna realizacja serwerów. Wątki a sygnały.
Interfejs sieciowy TLI. Strumienie - struktury danych i funkcje, operacje na strumieniach. Porównanie interfejsu gniazd BSD i interfejsu TLI. Tryby terminala, opis terminala (wywołanie ioctl). Pseudo terminale.
Organizacja systemu plików. Deskryptory plików na dysku i w pamięci operacyjnej, fizyczna reprezentacja plików. Wywołania systemowe dotyczące systemu plików. Blokowanie dostępu do pliku. Interfejs wirtualnego systemu plików: VFS, struktury vnode, vfs, vfsw.
- Metody oceny:
- Ocena na podstawie:
1) kolokwiow: 2 kolokwia po c.a. 25 p. - łącznie 50p.
2) projektu: 50 p.
Zaliczenie projektu i kolokwiów, tj. uzyskanie z projektu i sumarycznie kolokwiów po 25 p. jest wymagane do zaliczenia przedmiotu.
- Egzamin:
- nie
- Literatura:
- 1. B. Goodheart, J. Cox, The magic garden explained - the internals of Unix System V Release 4 Prentice Hall 1994.
2. Uresh Vahalia, Jadro systemu UNIX, WNT; 2001
3. Marc Rochkind, Programowanie w systemie Unix dla zawansowanych, WNT (wyd. 2; 2005)
4. David R. Butenhof, Programming with Posix Threads, Addison-Wesley, 1997
5. Daniel P. Bovet, Marco Cesati, LINUX kernel, Wydawnictwo RM (O’Reilly) 2001
6. W. Richard Stevens, Advanced Programming in the UNIX Environment, WNT - różne wydania
- Witryna www przedmiotu:
- https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103A-INIIT-ISP-UXP1A
- Uwagi:
- (-)
Efekty uczenia się