Systemy operacyjne / ZarzÄ…dzanie procesami
ZarzÄ…dzanie procesami
Podstawowe wymagania odnośnie systemu operacyjnego:
·ð umożliwianie przeplatania siÄ™ wykonywania wielu procesów w celu
maksymalizacji wykorzystania czasu procesora,
·ð akceptowalnie krótki czas odpowiedzi systemu,
·ð zarzÄ…dzanie przydziaÅ‚em zasobów poszczególnym procesom,
·ð udostÄ™pnianie mechanizmów do komunikacji miÄ™dzyprocesowej,
·ð udostÄ™pnianie mechanizmów do tworzenia procesów.
Proces
·ð czasem okreÅ›lany również mianem zadania,
·ð tworzony w celu wykonania konkretnego programu,
·ð może być Å›ledzony (ang. traced).
Systemy operacyjne / ZarzÄ…dzanie procesami
Proces może być w jednym z dwóch stanów:
·ð wykonywany,
·ð nie wykonywany.
Utworzenie nowego procesu może być rezultatem:
·ð uruchomienia zadania wsadowego,
·ð rejestracji użytkownika do systemu,
·ð zlecenia wykonania pewnej usÅ‚ugi, np. drukowania,
·ð zlecenia utworzenia procesu potomnego wydanego przez proces uzytkowy.
Zakończenie działania procesu może być rezultatem:
·ð wykonania instrukcji Halt przez zadanie wsadowe,
·ð wyrejestrowania siÄ™ użytkownika z systemu,
·ð zakoÅ„czenia dziaÅ‚ania aplikacji,
Systemy operacyjne / ZarzÄ…dzanie procesami
·ð wystÄ…pienia wyjÄ…tku bÄ…dz bÅ‚edu.
Możliwe przyczyny zakończenia działania procesu:
·ð zakoÅ„czenie realizacji algorytmu,
·ð przekroczenie limitu czasowego,
·ð brak dostÄ™pnej pamiÄ™ci,
·ð przekroczenie ograniczeÅ„ pamiÄ™ci,
·ð bÅ‚ad ochrony (np. próba zapisu do pamiÄ™ci tylko do odczytu),
·ð bÅ‚Ä…d arytmetyczny,
·ð przeterminowania czasowe,
·ð bÅ‚Ä…d wejÅ›cia/wyjÅ›cia,
·ð próba wykonania nieprawidÅ‚owej instrukcji,
·ð nieprawidÅ‚owe użycie danych,
·ð interwencja systemu operacyjnego (np. w przypadku blokady),
·ð zakoÅ„czenie procesu macierzystego,
·ð żadanie procesu macierzystego.
Proces nie wykonujÄ…cy siÄ™ jest gotowy do wykonania. Proces zablokowany oczekuje
na zdarzenie wejścia/wyjścia. Planista nie może po prostu wybrać do wykonania
procesu znajdującego się najdłużej w kolejce, gdyż ten może okazać się
zablokowanym.
Systemy operacyjne / ZarzÄ…dzanie procesami
Systemy operacyjne / ZarzÄ…dzanie procesami
Procesy wstrzymane:
·ð procesor jest szybszy od urzÄ…dzeÅ„ wejÅ›cia-wyjÅ›cia zatem może zajść
sytuacja, że wszystkie procesy czekają na wejście/wyjście,
·ð procesy te mogÄ… być wymiecione (ang. swap) na dysk w celu zwiÄ™kszenia
dostępnej pamięci operacyjnej,
·ð stan zablokowania staje siÄ™ stanem wstrzymania (ang. suspended) w
przypadku zrzucenia procesu na dysk.
Systemy operacyjne / ZarzÄ…dzanie procesami
Możliwe powody wstrzymania działania procesu:
·ð swapping,
·ð inny powód systemu operacyjnego,
·ð interaktywne żądanie użytkownika,
·ð oczekiwanie na interwaÅ‚,
·ð żądanie procesu potomnego.
Struktury kontrolne systemu operacyjnego:
·ð informacja o bieżacym stanie każdego procesu i zasobu,
·ð tablice sÄ… tworzone dla każdego elementu zarzÄ…dzanego przez system
operacyjny.
Tablice dotyczące pamięci:
·ð alokacja pamiÄ™ci głównej poszczególnym procesom,
·ð alokacja pamiÄ™ci pomocniczej poszczególnym procesom,
·ð atrybuty ochrony i kontroli dostÄ™pu do współdzielonych obszarów pamiÄ™ci,
·ð informacja niezbÄ™dne do zarzÄ…dzania pamiÄ™ciÄ… wirtualnÄ….
Tablice dotyczące wejścia/wyjścia:
·ð dostÄ™pność oraz przyporzÄ…dkowanie urzÄ…dzeÅ„ we/wy,
·ð status operacji wejÅ›cia/wyjÅ›cia,
·ð lokacja w pamiÄ™ci głównej wykorzystywana jako zródÅ‚o/przeznaczenie
transferów wejścia/wyjścia.
Tablice dotyczące plików:
·ð istnienie plików,
·ð lokalizacja na pamiÄ™ci zewnÄ™trznej,
·ð bieżący status,
·ð atrybuty.
Czasami powyższa informacja jest zarządzana przez system zarządzania plikami.
Tablica procesów
·ð gdzie jest zlokalizowany proces,
·ð atrybuty niezbÄ™dne do zarzÄ…dzania procesem:
o identyfikator procesu,
o stan procesu,
o lokalizacja w pamięci.
Lokalizacja procesu
·ð proces zawiera zbiór programów do wykonania,
o lokalizacja danych na zmienne lokalne i globalne,
o dowolne zdefiniowane stałe,
Systemy operacyjne / ZarzÄ…dzanie procesami
o stos,
·ð blok kontrolny procesu,
o zestaw atrybutów procesu,
·ð obraz procesu,
o zestaw złożony z programu, danych, stosu i atrybutów.
Blok kontrolny procesu (ang. PCB)
żð identyfikacja procesu; identyfikatory, lista numerycznych identyfikatorów,
które mogą być zawarte w PCB zawiera:
o identyfikator danego procesu,
o identyfikator procesu macierzystego,
o identyfikator użytkownika;
żð informacja o stanie procesora
o rejestry widoczne dla użytkownika, rejestry do których można się
odwoływać za pomocą instrukcji języka maszynowego rozumianego
Systemy operacyjne / ZarzÄ…dzanie procesami
przez dany procesor. Zazwyczaj jest to od 8 do 32 rejestrów, chociaż
niektóre architektury RISC oferują listę ponad 100 rejestrów;
o rejestry kontrolne i rejestry statusu, jest to grupa rejestrów
przeznaczona do kontroli operacji wykonywanych przez procesor:
żð licznik rozkazów, zawiera adres nastÄ™pnej instrukcji do pobrania,
żð kody warunkowe, zawierajÄ… rezultat ostatniej operacji
arytmetycznej bÄ…dz logicznej (np. znak, zero, przeniesienie,
równa się, nadmiar),
żð informacje o statusie, zawierajÄ… m.in. flagÄ™
dopuszczalności/blokady przerwań, tryb wykonywania;
o wskazniki stosu, każdy proces ma jeden bądz więcej powiązanych ze
sobą stosów LIFO (Last In First Out). Stos jest wykorzystywany do
przechowywania parametrów i adresów wywołań procedur oraz funkcji
systemowych. Wskaznik stosu wskazuje na aktualny wierzchołek stosu;
żð informacje o sterowaniu procesem
o informacje o szeregowaniu i stanie procesu potrzebne systemowi
operacyjnemu w celu realizacji szeregowania procesów (planowania
przydziału procesora),
żð stan procesu (uruchomiony, gotowy, oczekujÄ…cy),
żð priorytet procesu,
żð dodatkowe informacje zwiÄ…zane z szeregowaniem (np. ile czasu
proces wykonywał się ostatnio, a ile teraz czeka),
żð zdarzenie.
o pozycja w strukturze danych, proces może być elementem kolejki, listy
procesów bądz innej struktury organizującej procesy. PCB może
zawierać wskazniki do innych procesów implementujące powyższe
struktury;
o komunikacja międzyprocesowa, różne znaczniki,sygnały, komunikaty
mogą być powiązane z komunikacją między procesami. Część z tych
informacji może być zarządzana przez PCB;
o przywileje procesu, procesy posiadają przywileje w rozumieniu pamięci
do jakiej mogą się odwoływać i zestawu instrukcji, które mogą
wykonywać. Dodatkowo, przywileje mogą być stosowane do możliwości
skorzystywania z różnych usług i narzędzi systemowych;
o zarządzanie pamięcią, sekcja ta może zawierać wskazniki do
segmentów i/lub tablic stron opisujących pamięć wirtualną skojarzoną z
danym procesem;
o prawa własności i wykorzystanie zasobów, przykładowo, może
zawierać listę otwartych plików oraz historię wykorzystywania przez
proces procesora.
Systemy operacyjne / ZarzÄ…dzanie procesami
Informacje o stanie procesora
żð zawartość rejestrów procesora,
o stan rejestrów widocznych dla użytkownika,
o rejestry kontrolne i rejestry stanu,
o wskazniki stosu,
żð sÅ‚owo stanu programu (ang. PSW, program status word),
o zawiera informacje o statusie,
o przykład: rejestr EFLAGS w procesorach Pentium
Systemy operacyjne / ZarzÄ…dzanie procesami
Tryby wykonania
żð tryb użytkownika
o mniej uprzywilejowany tryb,
o programy użytkowe zazwyczaj wykonują się w tym trybie,
żð tryb systemowy, tryb kontrolny lub tryb jÄ…dra
o bardziej uprzywilejowany tryb,
o jÄ…dro systemu operacyjnego.
Tworzenie procesu
żð przydziaÅ‚ unikatowego identyfikatora,
żð przydziaÅ‚ pamiÄ™ci dla procesu,
żð inicjalizacja PCB procesu,
żð wstawienie procesu w odpowiednie struktury (np. listÄ™ szeregowanych
procesów),
żð utworzenie ewentualnych dodatkowych struktur danych (np. do rozliczania),
Kiedy wywłaszczać proces (odbierać procesor):
żð przerwanie zegarowe, proces wykorzystaÅ‚ przeznaczony mu czas w
algorytmie szeregowania,
żð przerwanie we/wy,
żð bÅ‚Ä…d pamiÄ™ci, zwiÄ…zane z koniecznoÅ›ciÄ… zaÅ‚adowania odpowiedniej strony do
pamięci głównej,
żð puÅ‚apka, sygnalizuje wystÄ…pienie bÅ‚Ä™du, może spowodować zmianÄ™ stanu
procesu na Exit,
żð wywoÅ‚anie funkcji systemowej (np. otwarcie pliku).
Zmiana stanu procesu
1. zachowanie kontekstu procesu razem z zawartością licznika rozkazów i
innych rejestrów,
2. aktualizacja PCB aktualnie wykonujÄ…cego siÄ™ procesu,
3. przeniesienie PCB procesu do odpowiedniej kolejki (np. kolejki Gotowe),
4. wybranie innego procesu do wykonania,
5. aktualizacja PCB wybranego procesu,
6. aktualizacja struktur danych związanych z zarządzaniem pamięcią,
7. odzyskanie kontekstu wybranego procesu.
Systemy operacyjne / ZarzÄ…dzanie procesami
Przełączanie kontekstu
ZarzÄ…dzanie procesami w systemach Unix SVR4
user running uruchomiony w trybie użytkownika,
kernel running uruchomiony w trybie jÄ…dra,
ready to run, in memory gotowy do uruchomienia jak tylko planista go wybierze,
asleep in memory nieuruchamialny do czasu wystÄ…pienia pewnego
zdarzenia, w pamięci głównej (zablokowany),
ready to run, swapped proces gotowy, ale aktualnie w pamięci pomocniczej,
sleeping, swapped nieuruchamialny do czasu wystÄ…pienia pewnego
zdarzenia, w pamięci pomocniczej (zablokowany),
preempted wywłaszczony, proces wracał z trybu jądra do
użytkowego ale został wywłaszczony,
created proces jest utworzony, ale jeszcze nie gotowy do
uruchomienia,
zombie proces już nie istnieje, ale pozostał ślad w tablicach
systemowych do przekazania procesowi
macierzystemu.
Systemy operacyjne / ZarzÄ…dzanie procesami
Wyszukiwarka
Podobne podstrony:
sołtys,Systemy operacyjne, Zarządzanie urządzeniami zewnętrznymisołtys,systemy operacyjne, zarządzanie pamięciąsołtys,Systemy operacyjne, Szeregowanie zadańsołtys,systemy operacyjne, wątkisołtys,Systemy operacyjne, System plików6 Systemy Operacyjne 30 11 2010 Zarządzanie procesami25 Systemy Operacyjne 23 11 2010 Zarządzanie procesami8 Systemy Operacyjne 21 12 2010 Zarządzanie Pamięcią Operacyjną2006 08 Zarządzanie pamięcią w systemach operacyjnych [Inzynieria Oprogramowania]systemy operacyjne cw linux strumienie procesySystemy Operacyjne Linux Komunikacja pomiędzy procesami (IPC)9 Systemy Operacyjne 04 01 2011 Zarządzanie Pamięcią Operacyjną2więcej podobnych podstron