Nazwa przedmiotu:
Unix - architektura, programowanie i administrowanie
Koordynator przedmiotu:
Grzegorz BLINOWSKI
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka
Grupa przedmiotów:
Przedmioty techniczne
Kod przedmiotu:
UXP1A
Semestr nominalny:
6 / rok ak. 2015/2016
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:
http://www.ii.pw.edu.pl/~gjb
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt UX_W01
Student, który ukończył predmiot posiada znajomość podstaw architektury systemu UNIX, koncepcji funkcji jądra oraz podsystemu zarządzanie procesami, wirtualnego systemu plików, podsystemu zarządzania pamięcią oraz mechnaizmów komunikacji miedzyprocesowej
Weryfikacja: Kolokwium
Powiązane efekty kierunkowe: K_W09, K_W10, K_W14, K_W19
Powiązane efekty obszarowe: T1A_W04, T1A_W03, T1A_W04, T1A_W05, T1A_W03, T1A_W04, T1A_W05, T1A_W07, T1A_W07

Profil ogólnoakademicki - umiejętności

Efekt UX_U01
Student, który ukończył przedmiot potrafi: tworzyć wydajne i optymalne pod wzgledem wykorzystania zasobów systemowych oprogramowanie systemowe pracujące w środowisku systemu Unix orz systemów "Unixo-podobnych"
Weryfikacja: Projekt
Powiązane efekty kierunkowe: K_U05, K_U07, K_U09, K_U13, K_U14, K_U15, K_U20
Powiązane efekty obszarowe: T1A_U01, T1A_U15, T1A_U03, T1A_U05, T1A_U16, T1A_U07, T1A_U09, T1A_U14, T1A_U09, T1A_U15, T1A_U16, T1A_U13, T1A_U15

Profil ogólnoakademicki - kompetencje społeczne

Efekt UX_K01
Student, który ukończył przedmiot ma szanse rozwinąć kompetencje społeczne związane z pracą w zespole
Weryfikacja: Projekt
Powiązane efekty kierunkowe: K_K03, K_K04
Powiązane efekty obszarowe: T1A_K03, T1A_K04