Program rozumiemy tu jako plik wykonywalny, a więc taki, który system potrafi uruchomić, np. w reakcji na działanie użytkownika. Działaniem tym może być np. wypisanie nazwy tego pliku w linii komend shella (interpretera komend) lub (w środowisku okienkowym) kliknięcie na ikonę powiązaną z danym programem.
Procesem z kolei jest instancja działającego programu, która powstała w wyniku jego uruchomienia. W danej chwili może istnieć i działać wiele różnych procesów, będących wynikiem uruchomienia tak tego samego, jak i różnych programów, przez wielu różnych użytkowników. Każdy proces posiada przydzielony przez system, jednoznaczny (w danej chwili czasu) numeryczny identyfikator (PID) i wykonuje się w zasadzie niezależnie od innych procesów, działających na tym samym komputerze; może się jednak z nimi komunikować, za pośrednictwem całego szeregu mechanizmów komunikacji międzyprocesowej zapewnionych przez system operacyjny.
Stany procesów:
Nowy — formowanie procesu, czyli gromadzenie zasobów niezbędnych do rozpoczęcia wykonywania procesu. Po zakończeniu formatowania proces przechodzi w stan Gotowy.
Wykonywany — wykonywanie instrukcji programu danego procesu i wynikająca z ich wykonywania zmiana stanu odpowiednich zasobów systemu.
Oczekujący — zatrzymanie wykonywania instrukcji programu danego procesu ze względy na potrzebę przydziału dodatkowych zasobów, konieczność otrzymania danych lub osiągnięcia odpowiedniego stanu przez otoczenie procesu (np. urządzenia zewnętrzne lub inne procesy).
Gotowy — oczekiwanie na przydział kwantu czasu procesora (dostępność wszystkich niezbędnych zasobów z wyjątkiem procesora).
Zakończony — zakończenie wykonywania programu, zwolnienie większości zasobów i oczekiwanie na możliwość przekazania informacji o zakończeniu innym procesom lub jądru systemu operacyjnego.
Wątek - najmniejsza część składowa procesu, dla której przydzielany jest określony czas procesora. Wątki mogą być wykonywane jednocześnie, mogą równocześnie korzystać z tego samego fragmentu kodu oczywiście należącego do wspólnego procesu.
Prawie każda aplikacja uruchomiona w systemie Windows XP wyświetla na pasku zadań reprezentujące ją przyciski. Sporo programów po uruchomieniu znika i jedynym ich śladem jest niewielka ikona w zasobniku systemowym. Zwykle są to skanery antywirusowe albo narzędzia związane z urządzeniami typu karta graficzna, dźwiękowa itp. Jednak to, co jest ci pokazywane, stanowi tylko część wielu uruchomionych zadań. W tle pracują różne usługi związane z systemem lub zainstalowanymi programami. Pełna informacja o tym, co działa w Windows XP, jest bardzo przydatna. Możesz wykorzystać ją na przykład do ustalenia, co powoduje nadmierne obciążenie systemu lub który z programów przestał funkcjonować. Jest kilka sposobów zarządzania uruchomionymi zadaniami.
Menadżera zadań można uruchomić na kilka sposobów na kilka sposobów, najprostsze jest naciśnięcie kombinacji klawiszy [Alt Ctrl Del lub Ctrl Shift Esc], wpisanie TASKMGR w oknie Uruchom oraz kliknięcie prawym przyciskiem myszy wolnego miejsca na pasku zadań i wskazanie opcji Menedżer zadań.
Okno Menedżera zadań zawiera cztery bardzo istotne karty. Pierwsza, Aplikacje, służy do zarządzania uruchomionym oprogramowaniem. Najważniejsza sekcja tej karty pokazuje stan funkcjonowania programów. Jeśli aplikacja działa poprawnie, kolumna Stan będzie zawierać wpis "Uruchomiony". gdy program się na przykład zawiesi. Wtedy otrzymasz komunikat "Nie odpowiada". W takim wypadku należy zakończyć jego pracę, naciskając przycisk Zakończ zadanie.
Przez Menedżera zadań możesz również uruchamiać inne aplikacje. Służy do tego przycisk Nowe zadanie - po jego naciśnięciu pojawia się takie samo okno, jak po wybraniu polecenia Uruchom z menu Start. Aby rozpocząć dowolne zadanie, wystarczy wprowadzić nazwę programu bądź pliku wsadowego i kliknąć OK.
Równie istotna jest karta Procesy. Wyświetla szczegółowe informacje o uruchomionych w Windows XP procesach. W wypadku niestabilnej pracy systemu podaje dane pozwalające użytkownikom na szybkie ustalenie, który z uruchomionych procesów najbardziej obciąża XP.
Karta przedstawia informacje w kolumnach, szczegółowo opisujących poszczególne procesy. Domyślnie wyświetlana jest nazwa procesu, jego identyfikator, nazwa użytkownika, z którego uprawnieniami jest uruchomiony proces, czas i procentowe wykorzystanie procesora oraz ilość zużywanej pamięci. Kliknięcie nagłówka dowolnej kolumny pozwala na posortowanie danych w wybranej kolejności. Jeśli interesują cię inne, bardziej szczegółowe informacje, kliknij w menu Widok polecenie Wybierz kolumny.
Procesy kończysz, wybierając odpowiednią opcję z menu podręcznego (klikając prawym przyciskiem myszy określony proces) lub przycisk Zakończ proces. Operacje te wykonuj ostrożnie; "ubijanie" procesów przez Menedżera zadań jest metodą drastyczną i korzystaj z niej tylko wtedy, gdy wiesz, który proces i dlaczego chcesz zakończyć. Pochopne działania mogą zdestabilizować system operacyjny. Nawet użytkownik mający uprawnienia Administratora systemu nie może zakończyć niektórych procesów systemowych. Próba "zabicia" np. procesu Smss.exe kończy się komunikatem o błędzie. Listę procesów systemowych, których nie można zakończyć, podajemy w tabeli.
Innym sposobem kończenia procesów jest wpisanie w wierszu poleceń Tskill lub Taskkill.
Na karcie Procesy można również ustawiać priorytety poszczególnych procesów: te z niższym muszą ustępować miejsca zadaniom wykonywanym z wyższym priorytetem. System Windows XP, podobnie jak Windows 2000, przypisuje procesom priorytety od 0 do 31, z tego na procesy użytkownika przeznaczone są poziomy od 1 do 15, a na funkcje systemowe od 16 do 31. Administrator systemu może przypisać procesowi jeden z sześciu predefiniowanych priorytetów: niski (poziom 4), poniżej normalnego (poziom 6), normalny (poziom 8), powyżej normalnego (poziom 10), wysoki (poziom 13) i czasu rzeczywistego (poziom 24). Jeśli jest to niezbędne, użytkownik może zwiększyć lub zmniejszyć priorytet danego zadania, najczęściej jednak domyślny skutecznie zarządza działaniem aplikacji.
Programy, procesy i wątki |
Procesy i programy mogą się wydawać tym samym, ale różnią się zasadniczo. Program to statyczny ciąg instrukcji, podczas gdy proces stanowi pojemnik na zasoby wykorzystywane przez wątki do uruchamiania jednostek programów. Wątki to poszczególne części procesu, kolejkowane do wykonania przez system operacyjny. Proces charakteryzują takie wartości, jak przydzielona przestrzeń adresowa w pamięci wirtualnej, program inic-jujący wykonywany kod, lista zasobów dostępnych dla procesu (pliki, porty), kontekst zabezpieczeń, w którym proces jest uruchamiany, unikatowy identyfikator (PID) i co najmniej jeden wątek składowy. |