laboratorium 08 09 10

background image

LABORATORIUM: 08, 09 i 10




Procmon.exe – program

pozwalający na obserwacje działania procesu w zakresie: rejestru, systemu

plików, sieci, wątków i procesów, zasobów (profilowanie).

Wątek – jednostka dla której system przydziela czas procesora. Kontekst wątku składa się z:
licznika rozkazów, stanu rejestrów, stosu (ale nie sterty!).
Proces – jest obiektem dostarczającym wątkowi przestrzeni adresowej. Każdy proces ma co
najmniej jeden wątek. Proces nie wykonuje kodu, kod zawarty w przestrzeni adresowej
procesu jest wykonywany przez wątek.
Zdarzenie – każdy oczekujący wątek widzi zdarzenie jako pewną dwustanową flagę:
zdarzenie jest zgłoszone albo odwołane.


GŁÓWNE ZAKŁADKI PROGRAMU PROCMON.EXE


Show Registry Activity - wyświetlenie aktywności rejestru.
Show File System Activity - Wyświetla aktywny system plików dla wszystkich systemów
plików, w tym pamięci lokalnej i zdalnych systemów plików.
Network - Wyświetla aktywność sieciową (aktywność protokołu TCP i UDP za pomocą
Event Tracing for Windows (ETW)).
Show Process and Thread Activity - Wyświetla wszystkie aktualne procesy systemowe oraz
tworzenie wątków i operacji wyjścia
Drzewo Procesów - procesów ukazuje się struktura podzielona na zagnieżdżone procesy tego
samego typu. Wyświetlone są informacje: m. in. ścieżka, komenda, użytkownik, PID itd.
Include Process from Window - zawężenie informacji do wskazanego procesu.

KARTY PROCESU


Event - wyświetla informacje dotyczące danego zdarzenia, np. klasę, wynik, trwanie, ścieżkę
dostępu, datę i godzinę powstania.
Process – wyświetla bardziej szczegółowe informacje dotyczące wybranego procesu, np.
identyfikator procesu, atrybuty wykonywania, linia komend itd.
Stack - przekazuje informacje o bibliotekach, np. informacje o ramce biblioteki, modułach,
lokacjach, adresach i ścieżkach.

PROCESY I WĄTKI – FUNKCJE


WinAPI - to zbiór niezbędnych funkcji, stałych i zmiennych umożliwiających działanie
programu w systemie operacyjnym Microsoft Windows.
CreateProcess – funkcja tworząca proces.
CreateThread – funkcja tworząca wątek.
GetCurrentProcess – funkcja kojarzy istniejący zasób z nowym procesem.
SetThreadPriority - funkcja ustawia poziom priorytetu bieżącego wątku w swojej klasie.
SetPriorityClass – funkcja ustawia klasę priorytetu dla procesu.
GetPriorityClass – funkcja pozwala sprawdzić klasę priorytetu procesu.

background image

ResumeThread – funkcja wznawiająca uśpiony wątek.
SuspendThread – funkcja zawieszająca wątek.
ExitThread – funkcja kończąca działanie wątku.
TerminateThread – funkcja wymusza zakończenie wykonywania wątku.
GetExitCodeThread – funkcja zwracająca kod powrotu zakończonego wątku.
WaitForSingleObject – funkcja służąca do synchronizacji poprzez oczekiwania na
zakończenie działającego wątku. Oczekuje ona dwMilliseconds (należy wpisać wartość) na
zakończenie wątku.
CreateEvent – funkcja tworząca zdarzenie.
SetEvent – funkcja informująca system o zaistnieniu zdarzenia
OpenEvent – funkcja zwraca uchwyt istniejącego zdarzenia.
PulseEvent – funkcja ustawia zdarzenie w stan sygnalizowany, a następnie przedstawia je w
stan niesygnalizowany.
ResetEvent – funkcja resetuje zdarzenie (przestawia je w stan niesygnalizowany).
InitializeCriticalSection – funkcja inicjująca obiekt sekcji krytycznej.
EnterCriticalSection – funkcja czeka na uzyskanie wyłącznego dostępu do sekcji krytycznej.
LeaveCriticalSection – funkcja powodująca zrzeczenie się wyłącznego dostępu do sekcji
krytycznej.
TryEnterCriticalSection – funkcja czeka na uzyskanie wyłącznego dostępu do sekcji
krytycznej.
DeleteCriticalSection – funkcja zwalnia wszystkie zasoby używane przez sekcję krytyczną.
CreateMutex – funkcja tworzy nazwany lub nienazwany muteks i zwraca uchwyt dla niego.
RelaseMutex – funkcja zwalnia muteks.
WaitForMultipleObjects – funkcja czeka na ustawienie jednego lub wszystkich obiektów w
stan sygnalizowania.
CloseHandle – funkcja zamyka obiekt identyfikowany przez uchwyt.

MECHANIZMY SYNCHRONIZACJI WĄTKÓW


Mutex – obiekt służący do synchronizacji. Jego stan jest ustawiony jako „sygnalizowany”
kiedy żaden wątek nie sprawuje nad nim kontroli oraz „niesygnalizowany” kiedy jakiś wątek
sprawuje nad nim kontrolę.

Semafor – działa jak furtka kontrolująca ilość wątków wykonujących jakiś fragment kodu. Za
pomocą semaforów aplikacja może kontrolować na przykład maksymalną ilość otwartych
plików, czy utworzonych okien. Semafor w działaniu jest bardzo podobny do muteksu.

Sekcja krytyczna – najszybsza i najwydajniejsza metoda służąca do synchronizacji wątków.
Mechanizm sekcji krytycznej możliwy jest do wykorzystania tylko w obrębie jednego procesu
(synchronizacji wątków). Pozostałe metody (zdarzenia, semafory, muteksy itd.) mogą być
stosowane również dla wielu procesów.







background image

KLASY PRIORYTETÓW PROCESÓW


REALTIME_PRIORITY_CLASS – czasu rzeczywistego
HIGH_PRIORITY_CLASS – wysoki
ABOVE_NORMAL_PRIORITY_CLASS – powyżej normalnego
NORMAL_PRIORITY_CLASS – normalny
BELOW_NORMAL_PRIORITY_CLASS – poniżej normalnego
IDLE_PRIORITY_CLASS – niski

PRIORYTETY WĄTKÓW


THREAD_PRIORITY_TIME_CRITICAL – krytyczny
THREAD_PRIORITY_HIGHEST – najlepszy
THREAD_PRIORITY_ABOVE_NORMAL – powyzej normalnego
THREAD_PRIORITY_NORMAL – normalny
THREAD_PRIORITY_BELOW_NORMAL – poniżej normalnego
THREAD_PRIORITY_LOWEST – najgorszy
THREAD_PRIORITY_IDLE – niski


Wyszukiwarka

Podobne podstrony:
Laboratorium 1,2 08 09
Laboratorium 5 08 09
Laboratorium 3 08 09
Laboratorium 1,2 08 09
Laboratorium 5 08 09
chemia lato 08 09 10
2ª Allattamento DUM 08 09 [7 10 08 h15 17] sino all art escluso [modalità compatibilità]
09.10.08, pedagogika
PM 08 09 L dz 10 Promocja
09.10.08, Teologia, ROK I, Pedagogika, wykłady semestr zimowy
09 10 08 Mikroekonomia
IS wyklad 02 09 10 08 MDW
PM 08 09 L dz 10 Promocja
Zal ćw laboratoryjnych ZSI 08 09 mat pomocnicze do zal
angielski (sobota 08 10 2011 niedziela 09 10 2011)

więcej podobnych podstron