Procesy i wątki dla dociekliwych Grzegorz Tworek, GK Neuca MVP, MCP, MCSE, MCDBA, MCT, MCTS, MCITP, MCSA, MTA
Agenda Procesy Wątki Kolejkowanie Priorytety Źródła wiedzy i narzędzia
O czym nie porozmawiamy O programowaniu O włóknach (fibers) O zadaniach (jobs) O bezpieczeństwie O obiektach systemowych O zarządzaniu pamięcią w systemie O jądrze
Procesy i wątki
Wątki – wstęp Ciągi instrukcji do wykonania „Ważniejsze” od procesów Wchodzą w skład procesów Schowane przed administratorem Ciąg dalszy nastąpi..
Procesy dla IT Pro Definicja dla IT Pro: Istotne cechy Zbiór wątków + ich pamięć Istotne cechy 32/64 bit PID Priorytet Koligacja (affinity) Właściciel Sesja
Charakterystyka procesu Prywatny obszar pamięci Plik wykonywalny Uchwyty (handles) Struktury związane z bezpieczeństwem Opis w systemie
Demo #1 Proces w systemie
Start procesu Weryfikacja specjalnych okoliczności Otwarcie pliku wykonywalnego Utworzenie obiektów w systemie Zainicjowanie struktur Utworzenie wątku Powiadomienie systemu Start wątku
Demo #2 Start procesu
Wątki Pełny dostęp w ramach procesu „Lżejsze” niż procesy Pamięć Uchwyty „Lżejsze” niż procesy Uruchamianie Zamykanie Trudniejsze dla programistów
Demo #3 Wątki w procesie
Kolejkowanie i Priorytety
Kolejkowanie wątków Stany wątków Ready (1) Standby (3) Running (2) Waiting (5)
Demo #4 kolejkowanie wątków
Priorytety dla niezaawansowanych Realtime High Above Normal Normal Below Normal Low (Idle)
Priorytety dla zaawansowanych Liczba 0-31 0 do czyszczenia pamięci 1-15 do normalnych zastosowań 16-31 „realtime” Priorytet bazowy procesu Priorytet początkowy wątku Priorytet bieżący wątku
Zasady kolejkowania Scheduler przegląda wątki w stanie „ready” Przynależność do procesu nie ma znaczenia Scheduler wybiera wątek z najwyższym priorytetem Scheduler wybiera procesor „Procesor idealny” Maska Wątek jest wykonywany Do końca kwantu czasu Dopóki sam nie zrezygnuje Dopóki nie przyjdzie ważniejszy
Demo #5 Priorytety w akcji
Narzędzia i wiedza
Wiedza microsoft.com Egzamin 70-660 http://zine.net.pl/blogs/mgrzeg/ Dev center – hardware Sysinternals Egzamin 70-660 TS: Windows Internals http://zine.net.pl/blogs/mgrzeg/ http://www.osronline.com/ http://windbg.info/
Narzędzia http://live.sysinternals.com/ WinDbg Process Hacker Process Explorer Process Monitor livekd WinDbg Process Hacker Performance Monitor Windows Performance Toolkit
Procesy i wątki dla dociekliwych Grzegorz Tworek, GK Neuca