Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

ZARZĄDZANIE PROCESAMI Dr Anna Kwiatkowska Instytut Informatyki.

Podobne prezentacje


Prezentacja na temat: "ZARZĄDZANIE PROCESAMI Dr Anna Kwiatkowska Instytut Informatyki."— Zapis prezentacji:

1 ZARZĄDZANIE PROCESAMI Dr Anna Kwiatkowska Instytut Informatyki

2 Procesy Procesem jest program umieszczony w pamięci komputera i wykonywany pod nadzorem systemu operacyjnego Procesem jest program umieszczony w pamięci komputera i wykonywany pod nadzorem systemu operacyjnego Proces jest ciągiem czynności, zaś program jest ciągiem instrukcji Proces jest ciągiem czynności, zaś program jest ciągiem instrukcji Sam program nie jest procesem, gdyż jest obiektem pasywnym Sam program nie jest procesem, gdyż jest obiektem pasywnym Proces jest obiektem aktywnym z licznikiem rozkazów wskazującym następny rozkaz do wykonania oraz ze zbiorem przydzielonych mu zasobów Proces jest obiektem aktywnym z licznikiem rozkazów wskazującym następny rozkaz do wykonania oraz ze zbiorem przydzielonych mu zasobów

3 Zarządzanie procesami Do wypełnienia swojego zadania proces potrzebuje pewnych zasobów, takich, jak czas procesora, pamięć, pliki i urządzenia we/wy Do wypełnienia swojego zadania proces potrzebuje pewnych zasobów, takich, jak czas procesora, pamięć, pliki i urządzenia we/wy Zasoby są przydzielane procesowi w chwili jego tworzenia lub podczas późniejszego działania Zasoby są przydzielane procesowi w chwili jego tworzenia lub podczas późniejszego działania Wykonanie procesu musi przebiegać w sposób sekwencyjny, co oznacza, że w dowolnej chwili na zamówienie danego procesu może być wykonywany co najwyżej jeden rozkaz kodu programu Wykonanie procesu musi przebiegać w sposób sekwencyjny, co oznacza, że w dowolnej chwili na zamówienie danego procesu może być wykonywany co najwyżej jeden rozkaz kodu programu

4 Zarządzanie procesami System operacyjny odpowiada za następujące działania dotyczące zarządzania procesami: tworzenie i usuwanie zarówno procesów użytkownika, jak i procesów systemowych tworzenie i usuwanie zarówno procesów użytkownika, jak i procesów systemowych planowanie porządku wykonywania procesów planowanie porządku wykonywania procesów mechanizmy synchronizacji mechanizmy synchronizacji komunikacji komunikacji usuwanie zakleszczeń procesów usuwanie zakleszczeń procesów

5 Stany procesów Wykonujący się proces zmienia swój stan Wykonujący się proces zmienia swój stan Każdy proces może znajdować się w jednym z następujących stanów: Każdy proces może znajdować się w jednym z następujących stanów: nowy (proces został utworzony) nowy (proces został utworzony) aktywny (są wykonywane instrukcje programu) aktywny (są wykonywane instrukcje programu) oczekiwanie (proces czeka na jakieś zdarzenie) oczekiwanie (proces czeka na jakieś zdarzenie) gotowy (proces czeka na przydział procesora) gotowy (proces czeka na przydział procesora) zakończony (proces zakończył działanie) zakończony (proces zakończył działanie)

6 Blok kontrolny procesu Każdy proces jest reprezentowany w systemie operacyjnym przez blok kontrolny procesu (Process Control Block – PCB), nazywany również blokiem kontrolnym zadania Każdy proces jest reprezentowany w systemie operacyjnym przez blok kontrolny procesu (Process Control Block – PCB), nazywany również blokiem kontrolnym zadania Zawiera on wiele informacji związanych z danym procesem Zawiera on wiele informacji związanych z danym procesem Blok kontrolny procesu służy po prostu jako magazyn przechowujący wszelkie informacje dla systemu umożliwiające zarządzanie procesem Blok kontrolny procesu służy po prostu jako magazyn przechowujący wszelkie informacje dla systemu umożliwiające zarządzanie procesem

7 PCB stan procesu stan procesu licznik rozkazów ( wskazuje adres następnego rozkazu do wykonania w procesie) licznik rozkazów ( wskazuje adres następnego rozkazu do wykonania w procesie) rejestry procesora – informacje dotyczące tych rejestrów i licznika rozkazów muszą być przechowywane podczas przerwań, aby proces mógł być później kontynuowany rejestry procesora – informacje dotyczące tych rejestrów i licznika rozkazów muszą być przechowywane podczas przerwań, aby proces mógł być później kontynuowany informacje o planowaniu przydziału procesora (np. priorytet procesu) informacje o planowaniu przydziału procesora (np. priorytet procesu) informacje o zarządzaniu pamięcią informacje o zarządzaniu pamięcią informacje do rozliczeń (np. ilość zużytego czasu procesora) informacje do rozliczeń (np. ilość zużytego czasu procesora) informacje o stanie we/wy ( np. o urządzeniach we/wy przydzielonych do procesu, wykaz otwartych plików). informacje o stanie we/wy ( np. o urządzeniach we/wy przydzielonych do procesu, wykaz otwartych plików).

8 Przydział czasu procesora Planowanie przydziału czasu procesora jest podstawą działania wieloprogramowych systemów operacyjnych Planowanie przydziału czasu procesora jest podstawą działania wieloprogramowych systemów operacyjnych Celem wieloprogramowania jest stałe utrzymywanie w działaniu pewnej liczby procesów Celem wieloprogramowania jest stałe utrzymywanie w działaniu pewnej liczby procesów

9 Przydział czasu procesora Przydział procesora może odbywać się w następujących sytuacjach: proces przeszedł od stanu aktywności do stanu czekania (np. na we/wy), proces przeszedł od stanu aktywności do stanu czekania (np. na we/wy), proces przeszedł od stanu aktywności do stanu gotowości (np. wskutek przerwania), proces przeszedł od stanu aktywności do stanu gotowości (np. wskutek przerwania), proces przeszedł od stanu czekania do stanu gotowości (np. po zakończeniu operacji we/wy), proces przeszedł od stanu czekania do stanu gotowości (np. po zakończeniu operacji we/wy), proces kończy działanie proces kończy działanie

10 Przydział czasu procesora Jeżeli planowanie odbywa się tylko w sytuacjach a) i d), to mówimy o planowaniu bez wywłaszczeń Jeżeli planowanie odbywa się tylko w sytuacjach a) i d), to mówimy o planowaniu bez wywłaszczeń W tych sytuacjach proces, który otrzyma procesor zachowuje go aż do swojego zakończenia lub przejścia do stanu czekania W tych sytuacjach proces, który otrzyma procesor zachowuje go aż do swojego zakończenia lub przejścia do stanu czekania Ta metoda planowania jest używana w środowisku Microsoft Windows Ta metoda planowania jest używana w środowisku Microsoft Windows W przypadku, gdy planowanie odbywa się w sytuacjach b) i c), mówimy o planowaniu wywłaszczającym W przypadku, gdy planowanie odbywa się w sytuacjach b) i c), mówimy o planowaniu wywłaszczającym

11 Metody szeregowania i przydziału zasobów Metoda FCFS pierwszy zgłoszony, pierwszy obsłużony (First Come, First Served) Metoda FCFS pierwszy zgłoszony, pierwszy obsłużony (First Come, First Served) W metodzie tej procesy wykonywane są w kolejności przybywania W metodzie tej procesy wykonywane są w kolejności przybywania Łatwą implementację tego algorytmu uzyskuje się za pomocą kolejki FIFO (First Input First Output) Łatwą implementację tego algorytmu uzyskuje się za pomocą kolejki FIFO (First Input First Output)

12 Przykład proces zapotrzebowanie na CPU P124 P23 P33 Kolejność przybycia procesów: Metoda FCFS

13 PROCESOR P1P2 P3

14 1 PROCESOR CZAS OCZEKIWANIA

15 1 PROCESOR

16 1 PROCESOR 2 3 CZAS OCZEKIWANIA 27

17 Średni czas oczekiwania dla P1 czas oczekiwania =0 dla P1 czas oczekiwania =0 dla P2 czas oczekiwania =24 dla P2 czas oczekiwania =24 dla P3 czas oczekiwania =24+3=27 dla P3 czas oczekiwania =24+3=27 średni czas oczekiwania = (24+27)/3= 17

18 Przykład proces zapotrzebowanie na CPU P23 P33 P124 Kolejność przybycia procesów: Metoda FCFS

19 P2 PROCESOR P3 P1

20 1 PROCESOR 23 0 CZAS OCZEKIWANIA

21 1 PROCESOR 2 3 3

22 PROCESOR

23 Średni czas oczekiwania dla P1 czas oczekiwania =0 dla P1 czas oczekiwania =0 dla P2 czas oczekiwania =3 dla P2 czas oczekiwania =3 dla P3 czas oczekiwania =3+3=6 dla P3 czas oczekiwania =3+3=6 średni czas oczekiwania = (3+6)/3= 3 Podsumowując można stwierdzić, że w tym algorytmie procesy krótkie są wstrzymywane przez długie, zatem średni czas oczekiwania może być długi

24 Metody szeregowania i przydziału zasobów Metoda SJF najkrótsze zadanie najpierw (Shortest Job First) Metoda SJF najkrótsze zadanie najpierw (Shortest Job First) Realizując tą metodę procesor przydziela sie temu procesowi, który ma najkrótszą fazę zapotrzebowania Realizując tą metodę procesor przydziela sie temu procesowi, który ma najkrótszą fazę zapotrzebowania W przypadku, gdy fazy są równe, stosuje się metodę FCFS W przypadku, gdy fazy są równe, stosuje się metodę FCFS

25 Przykład proces zapotrzebowanie na CPU P124 P23 P33 Kolejność przybycia procesów:

26 PROCESOR P1P2 P

27 1 PROCESOR CZAS OCZEKIWANIA 3

28 1 PROCESOR

29 1 PROCESOR

30 Średni czas oczekiwania dla P2 czas oczekiwania =0 dla P2 czas oczekiwania =0 dla P3 czas oczekiwania =3 dla P3 czas oczekiwania =3 dla P1 czas oczekiwania =3+3=6 dla P1 czas oczekiwania =3+3=6 średni czas oczekiwania = (3+6)/3= 3 Algorytm ten zapewnia minimalny średni czas wykonania, ale wadą jest konieczność znajomości czasów wykonania poszczególnych procesów

31 Metody szeregowania i przydziału zasobów Szeregowanie priorytetowe Z każdym procesem jest związany priorytet, który jest liczbą naturalną Z każdym procesem jest związany priorytet, który jest liczbą naturalną W tej metodzie procesor przydziela się w pierwszej kolejności procesowi z najwyższym priorytetem W tej metodzie procesor przydziela się w pierwszej kolejności procesowi z najwyższym priorytetem

32 Metody szeregowania i przydziału zasobów Metoda szeregowania karuzelowego (Round Robin ) zaprojektowano go specjalnie dla systemów z podziałem czasu zaprojektowano go specjalnie dla systemów z podziałem czasu istotą tej metody jest podzielenie czasu procesora na kwanty (ang. time quantum) istotą tej metody jest podzielenie czasu procesora na kwanty (ang. time quantum)

33 Round Robin kwant czasu wynosi zwykle od 10 do 100 milisekund kwant czasu wynosi zwykle od 10 do 100 milisekund jeżeli po zakończeniu kwantu czasu wykonywanego procesu nie zakończono, to jest on przerywany i ustawiany na koniec kolejki a do wykonania jest pobierany następny proces według algorytmu FCFS jeżeli po zakończeniu kwantu czasu wykonywanego procesu nie zakończono, to jest on przerywany i ustawiany na koniec kolejki a do wykonania jest pobierany następny proces według algorytmu FCFS

34 Przykład proces zapotrzebowanie na CPU P124 P23 P33 Kolejność przybycia procesów: Kwant czasu jest równy 4 ms

35 PROCESOR P1P2 P ms

36 1 PROCESOR CZAS OCZEKIWANIA 4 ms 2433

37 1 PROCESOR ms 4 CZAS OCZEKIWANIA 2033

38 1 PROCESOR 3 7 CZAS OCZEKIWANIA ms

39 1 PROCESOR 10 CZAS OCZEKIWANIA 4 ms 203 0

40 1 PROCESOR 4 ms 16

41 1 PROCESOR 4 ms 12

42 1 PROCESOR 4 ms 8

43 1 PROCESOR 4

44 1 PROCESOR 0

45 Średni czas oczekiwania dla P1 czas oczekiwania =10 dla P1 czas oczekiwania =10 dla P2 czas oczekiwania =4 dla P2 czas oczekiwania =4 dla P3 czas oczekiwania =7 dla P3 czas oczekiwania =7 średni czas oczekiwania = (10+4+7)/3= 7 średni czas oczekiwania w metodzie rotacyjnej bywa dość długi średni czas oczekiwania w metodzie rotacyjnej bywa dość długi


Pobierz ppt "ZARZĄDZANIE PROCESAMI Dr Anna Kwiatkowska Instytut Informatyki."

Podobne prezentacje


Reklamy Google