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)