Szkolenie dostępne na zamówienie

Szkolenie: Programowanie systemowe w Linux

Szkolenie Programowanie systemowe w Linux to praktyczny kurs dla programistów C, który uczy projektowania i implementacji aplikacji systemowych z wykorzystaniem wielowątkowości, synchronizacji, komunikacji międzyprocesowej, obsługi procesów, sygnałów oraz usług sieciowych w środowisku Linux

  • Trenerzy praktycy
  • Kameralne grupy

Czas trwania szkolenia:5 dni (40h)

Poziom zaawansowania:

Kod kursu:PS/LINUX

linuxniskopoziomowe-programowaniesystemy-operacyjneprogramowanie-systemowe

Szkolenie na zamówienie

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Zapytanie o szkolenie

Programowanie systemowe w Linux

Cele szkolenia

  • Szkolenie przygotowuje do samodzielnego projektowania i implementacji aplikacji systemowych w środowisku Linux z wykorzystaniem mechanizmów wielowątkowości, synchronizacji, komunikacji międzyprocesowej oraz usług sieciowych

  • Szkolenie uczy prawidłowego stosowania narzędzi i technik programowania systemowego, umożliwiając efektywne zarządzanie procesami, pamięcią i zasobami systemowymi

  • Szkolenie omawia zagadnienia bezpieczeństwa, diagnostyki oraz rozbudowy systemu, przygotowując do rozwiązywania typowych problemów programistycznych w systemie Linux


Dla kogo?

  • Programiści C posiadający podstawowe doświadczenie w programowaniu, chcący rozwinąć umiejętności w zakresie programowania systemowego w Linux

  • Inżynierowie oprogramowania odpowiedzialni za rozwój, utrzymanie lub optymalizację aplikacji działających w środowisku Linux

  • Osoby przygotowujące się do pracy przy projektach embedded lub systemach serwerowych opartych o Linux


Efekty kształcenia

  • Uczestnik projektuje i implementuje aplikacje systemowe w środowisku Linux

  • Uczestnik analizuje i rozwiązuje problemy związane z wielowątkowością i synchronizacją

  • Uczestnik obsługuje komunikację międzyprocesową i usługi sieciowe

  • Uczestnik stosuje narzędzia diagnostyczne i analizuje wydajność aplikacji

  • Uczestnik wdraża mechanizmy bezpieczeństwa w aplikacjach systemowych

  • Uczestnik wykorzystuje biblioteki i interfejsy systemowe Linux


Wymagania

  • Od uczestników szkolenia wymagana jest umiejętność programowania w języku C


W cenie otrzymasz:

  • Materiały szkoleniowe

  • Certyfikat ukończenia szkolenia

  • W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki

Program szkolenia

Pobierz program w PDF

Wprowadzenie do systemu Linux

  • Architektura systemu

  • Jądro systemu

  • Pamięć wirtualna

  • Wielozadaniowość i wielowątkowość

  • Współdzielenie zasobów

  • Współbieżność i synchronizacja

  • Narzędzia programisty systemowego

  • Tworzenie i użycie bibliotek statycznych i współdzielonych

  • Struktury systemowe

  • Podsystem plików /proc i /sys

  • Śledzenie wywołań systemowych

  • Pobieranie informacji systemowych

  • Interfejs programistyczny POSIX i System V

Procesy i wątki

  • Tworzenie procesów i wątków, procesy potomne

  • Przestrzeń użytkownika i przestrzeń jądra

  • Stany procesów

  • Priorytety procesów, szeregowanie procesów

  • Zarządzanie procesami, grupy procesów

  • Procesy demony

  • Statystyki procesu, czasomierze

  • Operacje blokujące i nieblokujące

  • Usypianie procesów, obsługa czasu

  • Limitowanie zasobów

  • Aspekty bezpieczeństwa: prawa procesu

Sygnały

  • Typy sygnałów

  • Obsługa sygnałów

Synchronizacja

  • Aktywne oczekiwanie

  • Pojęcie wyścigu

  • Sekcje krytyczne, pojęcie zakleszczenia

  • Muteksy

  • Semafory

Pamięć operacyjna

  • Prawa dostępu do pamięci

  • Blokowanie pamięci

  • Pamięć współdzielona

  • Mapowanie pamięci

Operacje na plikach

  • Obsługa systemu plików

  • Bufory zapisu/odczytu

  • Dowiązania symboliczne i twarde

  • Aspekty bezpieczeństwa: prawa dostępu do plików

Komunikacja międzyprocesowa

  • Potoki nazwane i nienazwane

  • Kolejki komunikatów

Usługi sieciowe

  • Architektura klient-serwer

  • Programowanie gniazd TCP

  • Programowanie gniazd UDP

  • Obsługa protokołów IPv4 i IPv6

  • Gniazda surowe

Obsługa urządzeń

  • Podsystem plików /dev

  • Rodzaje (znakowe, blokowe, specjalne) i techniki dostępu do urządzeń

Bezpieczeństwo

  • Uwierzytelnianie z wykorzystaniem modułów PAM

  • Typowe błędy programistyczne

  • Narzędzia analizy statycznej i dynamicznej programów

Rozszerzanie systemu

  • Nowe wywołania systemowe

  • Moduły jądra

Autorem szkolenia jest Piotr Nazimek

Jestem absolwentem Wydziału Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. W 2012 roku obroniłem doktorat z obszaru niezawodności systemów komputerowych. Interesuję się szeroko pojętym bezpieczeństwem systemów komputerowych oraz inżynierią oprogramowania. Zawodowo pracuję od 2003 roku. Wolny czas spędzam na wyprawach rowerowych i w górach.

Wybrane opinie

Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

4.8
Ikona podpowiedziŚrednia ocen Sages w serwisie Google Ocena pochodzi ze średniej ocen Sages w serwisie Google i nie jest weryfikowana

12.03.2024

Uczestnik szkoleniaProgramowanie systemowe w Linux

Dużo treści merytorycznej

Więcej opinii