Adresaci szkolenia

Szkolenie adresowane jest do programistów tworzących aplikacje w systemach z rodziny Microsoft Windows, którzy chcą poznać oraz wykorzystać charakterystyczne mechanizmy systemowe tych systemów operacyjnych.

Cel szkolenia

Uczestnicy szkolenia będą wiedzieli jak prawidłowo korzystać z różnorodnych mechanizmów systemowych w środowisku Windows, w szczególności związanych z wielowątkowością, synchronizacją, komunikacją międzyprocesową oraz usługami sieciowymi. Omówione zostaną poszczególne obszary zastosowań mechanizmów systemowych.

Mocne strony szkolenia

Podczas szkolenia uczestnicy:

  • w praktycznych zadaniach poznają problematykę projektowania i implementacji aplikacji wykorzystujących dostępne mechanizmy systemowe w Windows,
  • wykonają wiele praktycznych zadań, które zobrazują poruszane problemy implementacyjne,
  • zrealizują aplikacje wykorzystujące między innymi mechanizmy współbieżności oraz komunikacji międzyprocesowej i sieciowej.

Wymagania

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Specjalne wymagania techniczne

Uczestnicy w trakcie zajęć korzystają z komputera z systemem Windows.

Parametry szkolenia

5 * 8 godzin (5 * 7 godzin netto) wykładów i warsztatów.

Program szkolenia

  1. Wprowadzenie do systemu Windows

    • architektura i ewolucja systemu
    • cechy systemu operacyjnego Windows
    • jądro systemu
    • pamięć wirtualna
    • wielozadaniowość i wielowątkowość
    • współdzielenie zasobów i synchronizacja
    • praca z konsolą
    • Windows SDK i Visual Studio, kompilator MSVC
    • kompilator GCC
    • Windows API (Win32 i Win64 API)
    • tworzenie i użycie bibliotek statycznych i dynamicznych
    • podstawowe typy danych
    • śledzenie wywołań systemowych, raportowanie błędów, obsługa wyjątków
    • pobieranie informacji systemowych
    • obsługa rejestru
    • obsługa aplikacji 32 i 64 bit
    • .NET Framework
  2. Kolejka komunikatów

    • rodzaje komunikatów
    • obsługa komunikatów w aplikacji
  3. Procesy i wątki

    • tworzenie procesów i wątków, procesy potomne
    • przestrzeń użytkownika i przestrzeń jądra
    • stany procesów
    • zarządzanie procesami, grupy procesów
    • priorytety procesów
    • statystyki procesu, czasomierze
    • usypianie procesów, obsługa czasu
    • aplikacje konsolowe
    • usługi Windows
    • prawa procesu
  4. Synchronizacja

    • pojęcie wyścigu
    • sekcje krytyczne, pojęcie zakleszczenia
    • muteksy
    • semafory
    • zdarzenia
  5. Pamięć

    • prawa dostępu do pamięci
    • alokacja pamięci
    • pamięć współdzielona
    • mapowanie pamięci
  6. Operacje na plikach

    • obsługa systemu plików
    • bufory zapisu/odczytu
    • łącza symboliczne i stałe
    • pliki tymczasowe
    • asynchroniczne wejście/wyjście
    • prawa dostępu do plików
  7. Komunikacja międzyprocesowa

    • potoki anonimowe i nazwane
    • kolejki
    • mechanizm mailslot
    • inne mechanizmy (schowek, zdarzenia)
  8. Usługi sieciowe

    • architektura klient-serwer
    • gniazda Winsock i gniazda berkeleyowskie
    • programowanie gniazd TCP
    • programowanie gniazd UDP
    • obsługa protokołów IPv4 i IPv6
  9. Obsługa urządzeń

    • dostęp do sterowników
    • interakcja z urządzeniami
  10. Bezpieczeństwo

    • wykorzystanie kart inteligentnych, interfejs PC/SC
    • Microsoft CryptoAPI, Cryptography Next Generation (CNG)
    • typowe błędy programistyczne
    • narzędzia analizy statycznej i dynamicznej programów
  11. Rozszerzanie systemu

    • tworzenie sterowników
    • tworzenie bibliotek systemowych

Pytania?

* Wymagane.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email