PDF: Programowanie systemowe w Windows

Transkrypt

PDF: Programowanie systemowe w Windows
Kod szkolenia:
Tytuł szkolenia:
Dni:
PS/WIN
Programowanie systemowe w Windows
5
Opis:
Adresaci szkolenia
Szkolenie adresowane jest do programistów tworzących aplikacje w systemach klasy
Microsoft Windows, którzy chcą poznać oraz wykorzystać charakterystyczne mechanizmy
systemowe tej rodziny systemów operacyjnych.
Cel szkolenia
Uczestnicy nauczą się korzystać z różnorodnych mechanizmów systemowych środowisku
Microsoft 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. Dla każdego z wymienionych tematów
omówiony zostanie sposób jego wykorzystania wraz z praktycznymi przykładami
realizowanymi przez uczestników w formie krótkich zadań programistycznych. Uczestnicy
przygotują między innymi aplikacje typu usługa systemowa oraz oprogramowanie w
architekturze klient-serwer.
W szczególności uczestnicy w praktycznych zadaniach poznają problematykę projektowania i
implementacji aplikacji wykorzystujących dostępne mechanizmy systemowe w Microsoft
Windows.
Wymagania
Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz
podstawowa wiedza dotycząca obsługi systemu Windows (logowanie, obsługa konsoli,
kompilowanie i uruchamianie aplikacji).
Parametry szkolenia
5*8 godzin (5*7 godzin netto). Na szkolenie składają się wykłady i warsztaty.
Program szkolenia:
1. Wprowadzenie do systemu Windows
a. Architektura i ewolucja systemu
2.
3.
4.
5.
6.
b. Cechy systemu operacyjnego: jądro systemu, pamięć
wirtualna,wielozadaniowość, wielowątkowość, współdzielenie zasobów,
synchronizacja, współbieżność
c. Praca z konsolą
d. Windows SDK i Visual Studio (kompilator cl)
e. Kompilator gcc, debugger gdb
f. Windows API (Win32 i Win64 API)
g. Tworzenie i użycie bibliotek statycznych i dynamicznych
h. Podstawowe typy danych
i. Śledzenie wywołań systemowych, raportowanie błędów, obsługa wyjątków
j. Pobieranie informacji systemowych
k. Obsługa rejestru
l. Obsługa aplikacji 32 i 64 bit
m. .NET Framework
Kolejka komunikatów
a. Rodzaje komunikatów
b. Obsługa komunikatów w aplikacji
Procesy i wątki
a. Tworzenie procesów i wątków, procesy potomne
b. Przestrzeń użytkownika i przestrzeń jądra
c. Stany procesów
d. Zarządzanie procesami, grupy procesów
e. Priorytety procesów
f. Statystyki procesu, czasomierze
g. Usypianie procesów, obsługa czasu
h. Aplikacje konsolowe
i. Usługi Windows
j. Aspekty bezpieczeństwa: prawa procesu
Synchronizacja
a. Pojęcie wyścigu
b. Sekcje krytyczne, pojęcie zakleszczenia
c. Muteksy
d. Semafory
e. Zdarzenia
Pamięć
a. Prawa dostępu do pamięci
b. Alokacja pamięci
c. Pamięć współdzielona
d. Mapowanie pamięci
Operacje na plikach
a. Obsługa systemu plików
b. Bufory zapisu/odczytu
c. Łącza symboliczne i stałe
d. Pliki tymczasowe
e. Asynchroniczne wejście/wyjście
f. Aspekty bezpieczeństwa: prawa dostępu do plików
7. Komunikacja międzyprocesowa
a. Potoki anonimowe i nazwane
b. Kolejki
c. Mechanizm mailslot
d. Inne mechanizmy (schowek, zdarzenia)
8. Usługi sieciowe
a. Architektura klient-serwer
b. Gniazda Winsock i gniazda berkeleyowskie
c. Programowanie gniazd TCP
d. Programowanie gniazd UDP
e. Obsługa protokołów IPv4 i IPv6
9. Obsługa urządzeń
a. Dostęp do sterowników
b. Interakcja z urządzeniami
10. Bezpieczeństwo
a. Wykorzystanie kart inteligentnych (Personal Computer/ Smart Card - PC/SC)
b. Microsoft CryptoAPI, Cryptography Next Generation (CNG)
c. Typowe błędy programistyczne
d. Narzędzia analizy statycznej i dynamicznej programów
11. Rozszerzanie systemu
a. Tworzenie sterowników
b. Tworzenie bibliotek systemowych
Powered by TCPDF (www.tcpdf.org)