Program wykładu i zasady zaliczania

Transkrypt

Program wykładu i zasady zaliczania
Program wykładu
i
zasady zaliczania
Tomasz Borzyszkowski
Program wykładu
Pisanie skryptów:
 Potoki, strumienie i przekierowania
 Zaawansowane używanie plecenia find
 Podstawy języka awk i jego wykorzystanie do administracji
systemu
 Programowanie w języku powłoki sh
 Przykłady zaawansowanych skryptów wspomagających
administrowanie systemem
Narzędzia programistyczne w systemie Linux:
 Biblioteki statyczne i dzielone
 Zaawansowane używanie programu make
 Systemy zarządzania kodem źródłowym - program RCS i CVS
 Dokumentowanie programów
2
Program wykładu cd
Sposoby wykrywania i usuwania błędów:
 Podstawowe typy błędów, etapy poprawiania programów
 Oprzyrządowanie kodu, opcje kompilatora, debuggowanie
kodu: program gdb
 Tworzenie i używanie łat: program patch i diff.
 Idea testów pokrycia (instrukcji i rozgałęzień programu):
program gcov
 Testowanie wydajności.
3
Program wykładu cd
Model procesu:
 Definicja procesu, tryb wykonania, przestrzeń adresowa i
kontekst
 Atrybuty procesu: identyfikator procesu i pochodzenie
procesu
 Podstawowe funkcje związane z obsługą procesów
 Sesje i grupy procesów
 Tworzenie klonów w systemie Linux.
Obsługa sygnałów:
 Pojęcie sygnału
 Sygnały zgodne z POSIX
 Sygnały a funkcje systemowe: wysyłanie sygnałów, obsługa
sygnałów, blokowanie sygnałów.
4
Program wykładu cd
Pliki, katalogi, systemy plików i pliki specjalne:
 Obsługa plików: prawa dostępu do pliku, typy plików,
podstawowe operacje na plikach, pobieranie i zmiana
informacji w i-węźle.
 Manipulowanie pozycjami w katalogach: dowiązania,
urządzenia i łącza nazwane
 Operacje na deskryptorach plików i na katalogach
 Zaawansowana obsługa plików: zwielokrotniony zapis i
odczyt, odwzorowanie pamięci, blokowanie plików,
rozproszony odczyt i zapis.
5
Program wykładu cd
Podsystem wejścia/wyjścia:
 Tablice rozdzielcze urządzeń wejścia/wyjścia
 Funkcja oictl
 Podprogram obsługi przerwań
 Koncepcje terminali i pseudo terminali
 Dyscyplina linii i pseudoterminale
 Praca terminala w trybie kanonicznym i surowym
 Polecenie stty i ustawianie parametrów terminala
 Biblioteka termios
6
Program laboratorium
 Pisanie skryptów rozwiązujących zadane problemy
 Tworzenie prostych bibliotek i ich wykorzystanie we
własnych programach
 Używanie narzędzi RCS, CVS i make do zarządzania kodem
tworzonych programów
 Testowanie programów i ich wydajności oraz tworzenie łat i
ich dystrybucja
 Organizacja obliczeń za pomocą wielu procesów oraz
sygnałów
 Zaawansowana obsługa plików i katalogów
 Programy korzystające z terminali
7
Bibliografia
 N. Matthew, R. Stones. Zaawansowane programowanie w
systemie Linux. Wydawnictwo HELION, Warszawa, 2002.
 M. K. Johnson, E. W. Troan. Programowanie użytkowe w
systemie Linux. WNT, Warszawa, 2000.
 N. Matthew, R. Stones. Linux Programowanie. Wydawnictwo
RM, Warszawa 1999.
 K. Haviland, D. Gray, B. Salama. UNIX Programowanie
Systemowe. Wydawnictwo RM, Warszawa 1999.
 A. Frisch. UNIX Administracja Systemu. Wydawnictwo RM
(O'Reilly), Warszawa 1997.
8
Klasyka
 M. Bach. Budowa Systemu Operacyjnego UNIX. WNT,
Warszawa 1995.
 W. R. Stevens. Programowanie Zastosowan Sieciowych w
Systemie UNIX. WNT, Warszawa 1998.
 W. R. Stevens. UNIX Programowanie usług sieciowych.
WNT, Warszawa 2000.
 A. Silberschatz, P. B. Galvin. Podstawy systemów
operacyjnych. WNT, Warszawa 2000.
 U. Vahalia. Jądro systemu UNIX. WNT, Warszawa 2001.
9
Zaliczenie
Wykład kończy się egzaminem, test z treści wykładu i
laboratorium
Na zaliczenie laboratorium składają się:
 Punkty z realizacji zadań
 Samodzielne i terminowe wykonanie zadań
Ocena bardzo dobry i dobry+ zwalnia z egzaminu !!!
10