- Nazwa przedmiotu:
- UNIX
- Koordynator przedmiotu:
- mgr inż. Marcin Borkowski
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- Semestr nominalny:
- 6 / rok ak. 2011/2012
- Liczba punktów ECTS:
- 3
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład15h
- Ćwiczenia0h
- Laboratorium0h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
-
Podstawy Programowania Strukturalnego I semestr
Programowanie Obiektowe III semestr
- Limit liczby studentów:
- Cel przedmiotu:
- Poznanie zaawansowanych technik programowania wywołań funkcji systemowych w standardzie POSIX. Nabranie wprawy w programowaniu dla platformy UNIX/Linux. Poznanie problemów związanych z pisaniem przenośnego kodu oraz metod ich rozwiązywania.
- Treści kształcenia:
- Wykład:
1. Omówienie specyfiki programowania w systemie UNIX i programowania rozproszonego
2. Omówienie standardów POSIX i SYSTEM V
3. Omówienie standardów kodowania
4. Procesy i sygnały, sygnały czasu rzeczywistego, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych
5. Katalogi i pliki, blokowanie plików, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych
6. Kolejki FIFO i pipe, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych
7. mechanizmu IPC z SYSTEM V, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych
8. Asynchroniczny dostęp do plików, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych
9. Gniazda sieciowe (lokalne,tcp,udp,raw), omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych
10. Wątki posix'owe oraz posix'owe mechanizmy synchronizacji, omówienie mechanizmu działania wraz z typowymi rozwiązaniami (przykłady kodu) oraz z omówieniem typowych błędów programistycznych
Laboratorium:
Ćwiczenia sprawdzające wiedze z wykładu. Każdemu tematowi wykładowemu odpowiada jedno oceniane zadanie. Zadania polegają na samodzielnym rozwiązaniu zadania podanego przez prowadzącego. Ramy czasowe są ograniczone do 90 minut. Ostatnie zadanie ma postać projektu wykonywanego pod nadzorem prowadzącego bez limitów czasowych.
- Metody oceny:
- Ocena z laboratorium jest oceną z całego przedmiotu. Kryteria oceny laboratorium:
• Do wykonania jest 8 zadań po 8 punktów (tematy tak jak w archiwum) co daje 64 oraz projekt za 44 punkty
• Najgorszy wynik z laboratoriów jest odrzucany zatem suma do zdobycia wynosi 100
• Aby zaliczyć przedmiot należy zdobyć minimum 51 punktów w sumie i nie mniej niż 32 punkty z zadań
- Egzamin:
- Literatura:
- 1. “UNIX. Programowanie usług sieciowych” - tom 1 i II Richard W. Stevens WNT
2. “Programowanie w środowisku systemu UNIX” W. Richard Stevens WNT
3. “Programowanie w systemie UNIX dla zaawansowanych” Marc J. Rochkind WNT
- Witryna www przedmiotu:
- Uwagi:
Efekty uczenia się