Program wykładu
i
zasady zaliczania
Tomasz BorzyszkowskiProgram wykładu
2 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
Program wykładu
3
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
Program wykładu
4
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.
Program wykładu
5
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.
Program wykładu
6
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
Program laboratorium
7
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
Bibliografia
8
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.
Klasyka
9
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.
Zaliczenie
10 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ń