Szkolenie: [C-IPC] Programowanie współbieżne w języku C na system UNIX (3 dni)
Kategoria: DOSKONALENIE ORGANIZACJI / Lean Thinking
Szkolenie otwarte
Najedź kursorem na daną ikonkę aby dowiedzieć się więcej
Osoba kontaktowa:
Monika Wojtczuk
tel.: (+48 22) 845-09-70
email: szkolenia@javatech.com.pl
Tytuł: | [C-IPC] Programowanie współbieżne w języku C na system UNIX (3 dni) |
---|---|
Kategoria: | DOSKONALENIE ORGANIZACJI / Lean Thinking |
Metodyka: | Ćwiczenia Wykłady |
Opis: | Adresaci szkolenia Adresatami szkolenia są programiści pragnący poznać mechanizmy systemu UNIX (i pochodnych, np. Linux) służące do realizacji wieloprocesowości i wielowątkowości. Szkolenie polecamy przede wszystkim programistom przygotowującym się do pracy w projektach wymagających skorzystania z technologii będących przedmiotem szkolenia. Może ono być także kolejnym krokiem w naturalnym rozwoju programisty języka C platformy UNIX, który pozwoli lepiej rozumieć i w większym stopniu wykorzystywać możliwości systemu (polecamy w tym miejscu cykl szkoleń C-PD → C-IPC → C-TCP). Technologie prezentowane na szkoleniu można potraktować dosłownie i korzystać z nich bezpośrednio w pracy pod systemem UNIX/Linux lub tylko jako przykładową realizację mechanizmów IPC, które w innych systemach (np. Windows, Android) są podobne w idei, ale różne jeśli chodzi o szczegóły i API. Wymagania wstępne:
Wiedza i umiejętności, które mogą podnieść efektywność tego szkolenia:
Cel i zakres szkolenia Szkolenie, prowadzone na platformie Linux, obejmuje te mechanizmy programowania współbieżnego, które są obecnie uważane za standardowe i są przenośne między różnymi wersjami systemów opartych o UNIX. Gdzie możliwe, opieramy się o standard POSIX. Omawiane są także podstawowe zasady poprawnego programowania współbieżnego, a także typowe błędy i zagrożenia. Prezentowane jest podstawowe API mechanizmów, dostępne z języka C i korzystające bezpośrednio z odpowiednich zasobów i funkcji systemowych. Używanie ich w ten sposób daje największą przenośność rozwiązań i największą kontrolę nad szczegółami. Po zakończeniu szkolenia aktywny uczestnik potrafi:
Szkolenie nie obejmuje m.in. następujących tematów:
|
Poziom zaawansowania : | początkujący |
Trenerzy: | Nasi trenerzy to osoby, których wiedza poparta jest realnym doświadczeniem zdobytym w projektach realizowanych przez firmę Javatech. W związku z tym szkoleniowcy przekazują uczestnikom szkoleń nie tylko wiedzę teoretyczną, ale i potrafią podpowiedzieć rozwiązania problemów pojawiających się w rzeczywistych projektach informatycznych. Nasi eksperci tworzą także centrum kompetencyjne, które gromadzi wiedzę zdobywaną przez konsultantów Javatech w poszczególnych wykonywanych projektach. Eksperci Javatech są również odpowiedzialni za opracowanie nowcy programów szkoleniowe i dbają o wysoki |
Program: | 1. Procesy w systemie UNIX. a) Tworzenie nowych procesów: funkcja fork, hierarchia procesów. b) Kończenie procesów, funkcja wait, procesy zombie. c) Ładowanie nowych programów, grupa funkcji exec_. 2. Sygnały. a) Wysyłanie sygnałów. b) Rejestrowanie kodu obsługi sygnału. c) Maskowanie sygnałów. 3. Komunikacja między procesami za pomoczą plików. a) Deskryptory plików a funkcje fork i exec. b) Oczekiwanie na zdarzenia wejścia/wyjścia – funkcje select i poll. c) Blokowanie dostępu do pliku (do całości, do części). d) Mapowanie plików do pamięci. 4. Komunikacja między procesami za pomoczą łącz. a) Łącza nienazwane („pipe”). b) Duplikowanie otwartych deskryptorów i podmiana standardowego wejścia i wyjścia. c) Łącza nazwane („fifo”). 5. Synchronizacja między procesami za pomocą semaforów. a) Definicja teoretyczna i działanie semaforów. b) Semafory standardu POSIX. c) Zastosowanie semaforów do synchronizacji między procesami. 6. Mechanizmy IPC Systemu V. a) Wspólne podstawy. b) Tablice semaforów („sem”). c) Segmenty pamięci dzielonej („shm”). d) Kolejki komunikatów („msg”). 7. Tworzenie aplikacji wielowątkowych za pomocą biblioteki pthreads. a) Uruchamianie wątków. b) Kończenie wątków, wątki detached i joinable. c) Anulowanie wątków, wstrzymywanie anulowania i stos bloków czyszczących. d) Synchronizacja wątków za pomocą mutexów. e) Synchronizacja wątków za pomocą zmiennych warunkowych. |
Poleć szkolenie znajomemu