Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Programowanie z elementami systemów wbudowanych

Sylabus przedmiotu Komunikacja międzyprocesowa i międzywątkowa:

Informacje podstawowe

Kierunek studiów Programowanie z elementami systemów wbudowanych
Forma studiów studia niestacjonarne Poziom podyplomowe
Tytuł zawodowy absolwenta
Obszary studiów nauki techniczne
Profil
Moduł
Przedmiot Komunikacja międzyprocesowa i międzywątkowa
Specjalność przedmiot wspólny
Jednostka prowadząca Katedra Architektury Komputerów i Telekomunikacji
Nauczyciel odpowiedzialny Radosław Maciaszczyk <Radoslaw.Maciaszczyk@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 2,0 ECTS (formy) 2,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL1 8 1,40,60zaliczenie
wykładyW1 4 0,60,40zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Słuchacz zna zasady programowania w C/C++
W-2Słuchacz zna podstawy systemów operacyjnych (wątki, procesy) oraz podstawy obsługi systemu Linux.

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Słuchacz zna metody komunikacji między wątkami i procesami w systemie Linux, rozumie różnice między nimi oraz jest w stanie dobrać odpowiednią metodę do zadanego problemu.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Zapoznanie ze środowiskiem, uruchamianie i analiza gotowych prostych programów.2
T-L-2Zapoznanie z tworzeniem wątków i procesów.2
T-L-3Zapoznanie z wybranymi metodami komunikacji: - pamięć współdzielona (ang. Shared memory) - kolejki (ang. queues) - potoki (ang. pipes)2
T-L-4Zapoznanie z mechanizmami komunikacji w bibliotece standardowej C++ oraz Boost::IPC.2
8
wykłady
T-W-1Wstęp do komunikacji międzyprocesowej, tworzenie wątków i procesów.1
T-W-2Podstawowe problemy w komunikacji międzyprocesowej: zakleszczenia, zagłodzenie wątków.1
T-W-3Mechanizmy komunikacji międzyprocesowej i synchronizacji: - mutexy - semafory - zmienne warunkowe - kolejki - potoki - pamięć współdzielona1
T-W-4Wprowadzenie do mechanizmów komunikacji w bibliotece standardowej C++ oraz Boost::IPC.1
4

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach8
A-L-2Przygotowanie do zajęć12
A-L-3Samodzielne rozwiązywania zadań i problemów postawionych na laboratoriach.20
A-L-4Konsultacje2
42
wykłady
A-W-1Udział w wykładach4
A-W-2Samodzielnie studiowanie zaleconej literatury i analiza materiału z wykładów14
18

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład problemowy
M-2Wykład informacyjny
M-3Anegdota
M-4Ćwiczenia laboratoryjne
M-5Nauka i ćwiczenia własne

Sposoby oceny

KODSposób oceny
S-1Ocena podsumowująca: Obserwacja aktywności na zajęciach laboratoryjnych
S-2Ocena podsumowująca: Ocena kompletności rozwiązań problemów postawionych na zajęciach laboratoryjnych
S-3Ocena formująca: Test zaliczeniowy

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
PESW_10-_05_W01
Zna metody tworzenia procesów i wątków lub sposoby komunikacji pomiędzy nimi w systemie Linux.
PESW_10-_W05C-1T-L-2, T-L-1, T-W-3, T-L-4, T-L-3, T-W-2, T-W-1, T-W-4M-4, M-5, M-3, M-2, M-1S-2, S-3, S-1

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
PESW_10-_05_U01
Umie zaimplementować komunikację miedzy procesami i wątkami w systemie Linux.
PESW_10-_U05C-1T-W-4, T-W-2, T-L-3, T-W-3, T-L-4M-5, M-3, M-2, M-4S-2, S-1, S-3

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
PESW_10-_05_W01
Zna metody tworzenia procesów i wątków lub sposoby komunikacji pomiędzy nimi w systemie Linux.
2,0
3,0Zna metody tworzenia wątków w systemie Linux.
3,5
4,0Zna metody tworzenia procesów i wątków i komunikacji w systemie Linux.
4,5
5,0Rozumie różnicę pomiędzy wątkami i procesami w systemie Linux oraz potrafi dobrać optymalne rozwiązanie do postawionego problemu. Zna metody komunikacji dostępne w bibliotece standardowej oraz Boost::IPC.

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
PESW_10-_05_U01
Umie zaimplementować komunikację miedzy procesami i wątkami w systemie Linux.
2,0
3,0Potrafi zaimplementować przynajmniej w jeden sposób komunikację pomiędzy wątkami i procesami w systemie Linux.
3,5
4,0Potrafi zaimplementować wszystkie omawiane metody komunikacji pomiędzy wątkami i procesami w systemie Linux.
4,5
5,0Potrafi zaimplementować komunikację pomiędzy procesami przy użyciu biblioteki standardowej i Boost::IPC.

Literatura podstawowa

  1. Anthony Williams, Język C++ i przetwarzanie współbieżne w akcji, Helion, 2013

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Zapoznanie ze środowiskiem, uruchamianie i analiza gotowych prostych programów.2
T-L-2Zapoznanie z tworzeniem wątków i procesów.2
T-L-3Zapoznanie z wybranymi metodami komunikacji: - pamięć współdzielona (ang. Shared memory) - kolejki (ang. queues) - potoki (ang. pipes)2
T-L-4Zapoznanie z mechanizmami komunikacji w bibliotece standardowej C++ oraz Boost::IPC.2
8

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wstęp do komunikacji międzyprocesowej, tworzenie wątków i procesów.1
T-W-2Podstawowe problemy w komunikacji międzyprocesowej: zakleszczenia, zagłodzenie wątków.1
T-W-3Mechanizmy komunikacji międzyprocesowej i synchronizacji: - mutexy - semafory - zmienne warunkowe - kolejki - potoki - pamięć współdzielona1
T-W-4Wprowadzenie do mechanizmów komunikacji w bibliotece standardowej C++ oraz Boost::IPC.1
4

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach8
A-L-2Przygotowanie do zajęć12
A-L-3Samodzielne rozwiązywania zadań i problemów postawionych na laboratoriach.20
A-L-4Konsultacje2
42
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w wykładach4
A-W-2Samodzielnie studiowanie zaleconej literatury i analiza materiału z wykładów14
18
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaPESW_10-_05_W01Zna metody tworzenia procesów i wątków lub sposoby komunikacji pomiędzy nimi w systemie Linux.
Odniesienie do efektów kształcenia dla kierunku studiówPESW_10-_W05Słuchacz zna mechanizmy dynamicznego zarządzania pamięcią.
Cel przedmiotuC-1Słuchacz zna metody komunikacji między wątkami i procesami w systemie Linux, rozumie różnice między nimi oraz jest w stanie dobrać odpowiednią metodę do zadanego problemu.
Treści programoweT-L-2Zapoznanie z tworzeniem wątków i procesów.
T-L-1Zapoznanie ze środowiskiem, uruchamianie i analiza gotowych prostych programów.
T-W-3Mechanizmy komunikacji międzyprocesowej i synchronizacji: - mutexy - semafory - zmienne warunkowe - kolejki - potoki - pamięć współdzielona
T-L-4Zapoznanie z mechanizmami komunikacji w bibliotece standardowej C++ oraz Boost::IPC.
T-L-3Zapoznanie z wybranymi metodami komunikacji: - pamięć współdzielona (ang. Shared memory) - kolejki (ang. queues) - potoki (ang. pipes)
T-W-2Podstawowe problemy w komunikacji międzyprocesowej: zakleszczenia, zagłodzenie wątków.
T-W-1Wstęp do komunikacji międzyprocesowej, tworzenie wątków i procesów.
T-W-4Wprowadzenie do mechanizmów komunikacji w bibliotece standardowej C++ oraz Boost::IPC.
Metody nauczaniaM-4Ćwiczenia laboratoryjne
M-5Nauka i ćwiczenia własne
M-3Anegdota
M-2Wykład informacyjny
M-1Wykład problemowy
Sposób ocenyS-2Ocena podsumowująca: Ocena kompletności rozwiązań problemów postawionych na zajęciach laboratoryjnych
S-3Ocena formująca: Test zaliczeniowy
S-1Ocena podsumowująca: Obserwacja aktywności na zajęciach laboratoryjnych
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Zna metody tworzenia wątków w systemie Linux.
3,5
4,0Zna metody tworzenia procesów i wątków i komunikacji w systemie Linux.
4,5
5,0Rozumie różnicę pomiędzy wątkami i procesami w systemie Linux oraz potrafi dobrać optymalne rozwiązanie do postawionego problemu. Zna metody komunikacji dostępne w bibliotece standardowej oraz Boost::IPC.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaPESW_10-_05_U01Umie zaimplementować komunikację miedzy procesami i wątkami w systemie Linux.
Odniesienie do efektów kształcenia dla kierunku studiówPESW_10-_U05Słuchacz umie zaimplementować komunikację miedzy procesami i wątkami w systemie Linux.
Cel przedmiotuC-1Słuchacz zna metody komunikacji między wątkami i procesami w systemie Linux, rozumie różnice między nimi oraz jest w stanie dobrać odpowiednią metodę do zadanego problemu.
Treści programoweT-W-4Wprowadzenie do mechanizmów komunikacji w bibliotece standardowej C++ oraz Boost::IPC.
T-W-2Podstawowe problemy w komunikacji międzyprocesowej: zakleszczenia, zagłodzenie wątków.
T-L-3Zapoznanie z wybranymi metodami komunikacji: - pamięć współdzielona (ang. Shared memory) - kolejki (ang. queues) - potoki (ang. pipes)
T-W-3Mechanizmy komunikacji międzyprocesowej i synchronizacji: - mutexy - semafory - zmienne warunkowe - kolejki - potoki - pamięć współdzielona
T-L-4Zapoznanie z mechanizmami komunikacji w bibliotece standardowej C++ oraz Boost::IPC.
Metody nauczaniaM-5Nauka i ćwiczenia własne
M-3Anegdota
M-2Wykład informacyjny
M-4Ćwiczenia laboratoryjne
Sposób ocenyS-2Ocena podsumowująca: Ocena kompletności rozwiązań problemów postawionych na zajęciach laboratoryjnych
S-1Ocena podsumowująca: Obserwacja aktywności na zajęciach laboratoryjnych
S-3Ocena formująca: Test zaliczeniowy
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Potrafi zaimplementować przynajmniej w jeden sposób komunikację pomiędzy wątkami i procesami w systemie Linux.
3,5
4,0Potrafi zaimplementować wszystkie omawiane metody komunikacji pomiędzy wątkami i procesami w systemie Linux.
4,5
5,0Potrafi zaimplementować komunikację pomiędzy procesami przy użyciu biblioteki standardowej i Boost::IPC.