sołtys,Systemy operacyjne, Zarządzanie procesami


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ętrznymi
sołtys,systemy operacyjne, zarządzanie pamięcią
sołtys,Systemy operacyjne, Szeregowanie zadań
sołtys,systemy operacyjne, wątki
sołtys,Systemy operacyjne, System plików
6 Systemy Operacyjne 30 11 2010 ZarzÄ…dzanie procesami2
5 Systemy Operacyjne 23 11 2010 ZarzÄ…dzanie procesami
8 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 procesy
Systemy Operacyjne Linux Komunikacja pomiędzy procesami (IPC)
9 Systemy Operacyjne 04 01 2011 Zarządzanie Pamięcią Operacyjną2

więcej podobnych podstron