Pojęcia podstawowe. Wykład 9: Planowanie procesów. Histogram czasów faz procesora (przypadek 1) Planista procesora (krótkoterminowy)

Podobne dokumenty
Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora

Planowanie przydziału procesora

Przełączanie kontekstu. Planista średnioterminowy. Diagram kolejek. Kolejki planowania procesów. Planiści

Planowanie przydziału procesora

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Planowanie przydziału procesora

Planowanie przydziału procesora

Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu

Zarządzanie procesami i wątkami

Zarządzanie procesorem

Planowanie przydziału procesora

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Materiały pomocnicze 1

Systemy Operacyjne - zarządzanie procesami

Informatyka, systemy, sieci komputerowe

2.1 Wstęp Kryteria planowania Algorytmy planowania Systemy wieloprocesorowe i czasu rzeczywistego...

Planowanie przydziału procesora

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych

Planowanie przydziału procesora

Systemy operacyjne III

Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora.

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

KOMPONENTY SYSTEMÓW OPERACYJNYCH

Materiały pomocnicze 1

Planowanie przydziału procesora

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Pytania do treści wykładów:

Przykłady implementacji planowania przydziału procesora

Systemy operacyjne. Paweł Pełczyński

Szeregowanie zadań w Linux Kernel 2.6. Daniel Górski Przemysław Jakubowski

przydziału procesora Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Programowanie współbieżne Wykład 2. Iwona Kochańska

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora

Procesy, wątki i zasoby

J. Ułasiewicz Programowanie aplikacji współbieżnych 1

projektowanie systemu

Systemy wbudowane - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes.

Procesy, zasoby i wątki

Procesy, zasoby i wątki

Podstawy Informatyki Systemy operacyjne

Prezentacja systemu RTLinux

Procesy, zasoby i wątki

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu

Proces y i y w i ąt ą ki

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Elementy Modelowania Matematycznego

Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we

Wprowadzenie do systemów operacyjnych

Analiza ilościowa w przetwarzaniu równoległym

Stan procesu. Procesy i zarządzanie procesorem. Koncepcja procesu. Diagram stanów procesu

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

1. Szeregowanie w systemach czasu rzeczywistego

4. Procesy pojęcia podstawowe

Przykłady implementacji planowania przydziału procesora. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Podstawowe zagadnienia

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

Procesy. W sk³ad procesu wchodzi:

Pamięć wirtualna. Jan Tuziemski Źródło części materiałów: os-book.com

Systemy operacyjne, architektura komputerów

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Jadro Linux 2.6. a zadania czasu rzeczywistego. Artur Lewandowski. Jądro Linux 2.6 p.1/14

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Zarządzanie procesami (omawiane zagadnienia)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

4. ZNACZENIE ROZKŁADU WYKŁADNICZEGO

Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Pamięć wirtualna. A gdyby tak w pamięci przebywała tylko ta część programu, która jest aktualnie wykonywana?

Ogólny schemat blokowy układu ze sprzężeniem zwrotnym

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

Architektura mikroprocesorów TEO 2009/2010

Modelowanie procesów współbieżnych

Mikroprocesor Operacje wejścia / wyjścia

dr Adam Sojda Wykład Politechnika Śląska Badania Operacyjne Teoria kolejek

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wykład Centralne twierdzenie graniczne. Statystyka matematyczna: Estymacja parametrów rozkładu

Informatyka. informatyka i nauki komputerowe (computer science)

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki

Architektura potokowa RISC

Elementy modelowania matematycznego

Struktury systemów operacyjnych

Stronicowanie w systemie pamięci wirtualnej

Wprowadzenie do systemów operacyjnych

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Wykład 4. Plan: 1. Aproksymacja rozkładu dwumianowego rozkładem normalnym. 2. Rozkłady próbkowe. 3. Centralne twierdzenie graniczne

Transkrypt:

Częstość występowania fazy 1 9 17 25 33 41 49 57 65 73 81 89 97 15 113 121 129 137 145 153 161 169 177 185 193 21 Częstość występowania fazy Wykład 9: Planowanie procesów Pojęcia podstawowe Podstawowe pojęcia Kryteria planowania Algorytmy planowania Planowanie wieloprocesorowe Planowanie w czasie rzeczywistym Ocena algorytmów Wieloprogramowość wieloprocesowość wiele programów (procesów) może być wykonanych w systemie z podziałem czasu Maksymalne wykorzystanie procesora ma wielkie znaczenie (głównie ze względów ekonomicznych), a może być osiągnięte dzięki stałemu utrzymywaniu w gotowości/działaniu kilku/kilkunastu/kilkudziesięciu procesów. Wykład 9, Systemy operacyjne (studia dzienne) PJWSTK, Adam Smyk, 216/17 4.1 4.2 Naprzemienny ciąg faz procesora i operacji wejścia/wyjścia Histogram czasów faz procesora (przypadek 1) 16 Cykle faz procesora i cykle faz we/wy Wykonanie procesu składa się z cykli faz procesora i oczekiwania na we/wy. Zarządzanie fazami procesora taki rozkład wykonania procesów, aby każdy z nich był uzyskał sprawiedliwy dostęp do jednostki wykonawczej, albo do innych zasobów. 14 12 1 8 6 4 2 1 9 17 25 33 41 Czas trwania fazy [ms] 4.3 4.4 Histogram czasów faz procesora (przypadek 2) 25 2 Planista procesora (krótkoterminowy) Wybiera jeden proces spośród przebywających w pamięci (w kolejkach) procesów gotowych do wykonania i przydziela mu procesor. Jak może wyglądać kolejka? 15 1 5 p5 p1 p4 p2 p3 p1 p2 p3 p4 p1 p2 p5 p3 p4 p6 p5 Czas trwania fazy [ms] p1 p2 p3 p4 p5 4.5 4.6 1

Planista procesora (krótkoterminowy) Decyzje o przydziale procesora mogą zapaść gdy proces: 1. Przeszedł ze stanu aktywności do stanu oczekiwania. 2. Przeszedł ze stanu aktywności do gotowości. 3. Przeszedł od stanu oczekiwania do gotowości. 4. Kończy się. Jeśli planowanie odbywa się tylko w sytuacjach 1 i 4 to mówimy o planowaniu niewywłaszczeniowym. Wszystkie inne przypadki przedstawiają planowanie wywłaszczeniowe. Planista procesora (krótkoterminowy) Planowanie bez wywłaszczania nie wymaga zastosowania żadnego dodatkowego sprzętu (typu timer) przy obsłudze zmiany kontekstu Przy planowaniu wywłaszczeniowym ponosimy dodatkowe koszty związane ze sprzętem, z być może konieczną modyfikacją jądra, z droższymi operacjami w zmodyfikowanym jądrze, z wprowadzeniem operacji synchronizacji. nowy Przyjęcie Przerwanie Wyjście zakończony nowy Przyjęcie Przerwanie Wyjście zakończony gotowy aktywny gotowy Decyzja planista aktywny Zakończenie obsługi zdarzenia lub operacji we/wy Decyzja planista Oczekiwanie na zdarzenie lub na wykonanie Operacji we/wy Zakończenie obsługi zdarzenia lub operacji we/wy Oczekiwanie na zdarzenie lub na wykonanie Operacji we/wy oczekujący oczekujący 4.7 4.8 Ekspedytor (ang. dispatcher) Moduł ekspediujący przekazuje kontrolę procesora do dyspozycji procesu wybranego przez planistę krótkoterminowego Do jego obowiązków należy: Przełączanie kontekstu Przełączanie do trybu użytkownika Przeskok do właściwej komórki w programie użytkownika w celu wznowienia działania programu Opóźnianie ekspedycji (ang. dispatch latency) czas zużyty przez ekspedytora na wstrzymanie jednego procesu i uaktywnienie innego. 4.9 Kryteria planowania Wykorzystanie procesora Dąży się do tego, aby procesor był nieustannie zajęły pracą. Wykorzystanie procesora może się wahać w granicach od do 1%. W rzeczywistym systemie powinno się ono mieścić w przedziale od 4% (słabe obciążenie systemu) do 9% (intensywna eksploatacja systemu). Przepustowość jeśli procesor jest zajęty wykonywaniem procesów, to praca postępuje naprzód. Jedną z miar pracy jest liczba procesów kończonych w jednostce czasu zwana przepustowością (ang. throughput). Dla długich procesów wartość ta może wynosić jeden proces na godzinę. Dla krótkich transakcji przepustowość może się kształtować na poziomie 1 procesów na sekundę 4.1 Kryteria planowania c.d. Kryteria planowania c.d. Czas cyklu przetwarzania Ważnym kryterium dla konkretnego procesu jest czas potrzebny na jego wykonanie. Czas upływający między chwilą nadejścia procesu do systemu a chwilą zakończenia procesu nazywa się czasem cyklu przetwarzania (ang. turnaround time). Jest to suma okresów spędzonych na czekaniu na wejście do pamięci, czekaniu w kolejce, procesów gotowych do wykonania, wykonywaniu procesu przez procesor i wykonywaniu operacji wejścia-wyjścia. Czas oczekiwania Algorytm planowania przydziału procesora nie ma faktycznie wpływu na czas, w którym proces działa lub wykonuje operacje wejścia-wyjścia: dotyczy on tylko czasu, który proces spędza w kolejce procesów gotowych do wykonania. Czas oczekiwania jest sumą okresów, w których proces czeka w kolejce procesów gotowych do działania. Czas odpowiedzi W systemach interakcyjnych czas cyklu przetwarzania może nie być najlepszym kryterium. Często bywa tak, że proces produkuje pewne wyniki dość wcześnie i wykonuje następne obliczenia, podczas gdy poprzednie rezultaty są prezentowane użytkownikowi. Toteż kolejną miarą jest czas upływający między wysłaniem żądania (przedłożeniem zamówienia) a pojawieniem się pierwszej odpowiedzi. Ta miara, nosząca nazwę czasu odpowiedzi (ang. response time), określa, ile czasu upływa do rozpoczęcia odpowiedzi, ale nie obejmuje czasu potrzebnego na wyprowadzenie tej odpowiedzi. Czas odpowiedzi jest na ogół uzależniony od szybkości działania urządzenia wyjściowego. 4.11 4.12 2

Kryteria optymalizacji Maksymalne wykorzystanie procesora Maksymalna przepustowość Minimalny czas cyklu przetwarzania Minimalny czas oczekiwania Minimalny czas odpowiedzi Algorytmy planowania dostępu do procesora Założenia: 1. Przy omawianiu konkretnych algorytmów, rozpatrujemy wyłącznie 1 fazę pracy procesora cel: ułatwienie analizy W większości przypadków kryterium może być średnia (wariancja miara zmienności) ze wszystkich lub z wybranych kryteriów Im więcej kryteriów tym, zazwyczaj, dokładniejsze dopasowanie charakteru procesów do charakteru systemu wykonawczego W systemach interaktywnych istotniejszy może być czas odpowiedzi: lepszy: wolniejszy, ale przewidywalny nieprzewidywalne czasowo odpowiedzi systemu obniżają komfort pracy i utrudniają zapanowanie nad systemem 2. Miarą stosowaną w porównaniach jest średni czas oczekiwania 3. Zależności czasowe między procesami przedstawiane będą na wykresach Gantta. 4.13 4.14 Algorytm planowania: Pierwszy przyszedł, Pierwszy obsłużony (FCFS FIFO) Przypuśćmy, że procesy przychodzą w kolejności: P 1, P 2, P 3 Diagram Gantta dla algorytmu planowania: Proces Czas trwania fazy 24 3 P3 3 P 1 P 2 P 3 24 27 3 Czas oczekiwania dla procesów: P 1 = ; P 2 = 24; P 3 = 27 Średni czas oczekiwania: ( + 24 + 27)/3 = 17 Algorytm planowania: Pierwszy przyszedł, Pierwszy obsłużony (FCFS FIFO) Załóżmy, że procesy nadeszły w kolejności: P 2, P 3, P 1. Diagram Gantta dla algorytmu szeregowania : P3 Czas oczekiwania dla P 1 = 6; P 2 = ; P 3 = 3 Średni czas oczekiwania : (6 + + 3)/3 = 3 Wynik: dużo krótsze czasy oczekiwania niż w poprzednim przypadku. 3 6 3 4.15 4.16 Algorytm planowania: Pierwszy przyszedł, Pierwszy obsłużony (FCFS FIFO) Algorytm FCFS jest algorytmem bez wywłaszczania kłopot w systemach z podziałem czasu Możliwy efekt konwoju: krótkie procesy czekają na zakończenie długiego procesu P3 P4 P5 Procesy o długich fazach wykonania (zależne od procesora) Zbiór procesów o krótkich fazach wykonania (zależne od We/Wy) Planowanie metodą "najpierw najkrótsze zadanie (ShortestJobFirst) Algorytm wiąże z każdym procesem długość jego najbliższej z przyszłych faz procesora; Podstawowe założenie SJF: dostępny procesor zostaje przydzielony procesowi z najkrótszą następną fazą. Dwa warianty : bez wywłaszczania - proces, któremu przydzielono procesor nie może być wywłaszczony dopóki nie zakończy się bieżąca faza. z wywłaszczaniem - jeżeli przybywa nowy proces z czasem trwania fazy mniejszym aniżeli czas pozostały do zakończenia bieżącego procesu. Ten schemat nazywany jest planowaniem metodą "najpierw najkrótszy pozostały czas. Jak można wykazać SJF jest algorytmem optymalnym: daje minimalny średni czas oczekiwania dla danego zbioru procesów. 4.17 4.18 3

Długość fazy Przykład SJF bez wywłaszczania Proces Czas przybycia Czas trwania fazy 7 2 4 P3 4 1 P4 5 4 Przykład SRTF (ShortestRemainingTimeFirst) SJF z wywłaszczaniem Proces Czas przybycia Czas trwania fazy 7 2 4 P3 4 1 P4 5 4 Diagram Gantta dla algorytmu SJF Diagram Gantta (SRTF) P 1 P 3 P 2 P 4 P3 P4 3 7 8 12 16 Średni czas oczekiwania = ( + 6 + 3 + 7)/4 = 4 2 4 5 7 11 Średni czas oczekiwania = (9 + 1 + +2)/4 = 3 16 4.19 4.2 Jak określić długość następującego zapotrzebowania procesu na procesor? Można tylko oszacować długość następnej fazy procesora Można to zrobić na podstawie znanych już poprzednich faz procesora, używając średniej wykładniczej pomiarów poprzednich faz 1. t n = aktualna długość n-tej fazy procesora 2. n+1 = przewidywana wartość długości fazy procesora w każdej chwili n+1 3., 1 4. Zdefiniujemy: n+1 = t n +(1- ) n Przewidywanie następnych faz procesora na podstawie średniej wykładniczej n+1 = t n +(1- ) n Faza procesora (tj) 6 6 4 6 4 13 13 13. Wartość "odgadnięta" (Tj) 1 8 6 6 5 9 11 12. 4.21 4.22 Przewidywanie następnych faz procesora na podstawie średniej wykładniczej Przykłady średniej wykładniczej 18 16 14 12 1 8 6 4 2 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 Czas n+1 = t n +(1- ) n Jeżeli = n+1 = n niedawna historia nie ma wpływu na wynik. Jeżeli =1 n+1 = t n liczy się tylko ostatnia wartość pomiaru fazy procesora. Można rozwinąć wzór : n+1 = t n +(1 - ) t n-1 + +(1 - ) j t n-j + +(1 - ) n+1 Ponieważ zarówno ( ) jak i (1- ) są mniejsze lub równe 1, to każdy następny człon ma mniejszą wagę niż jego poprzednik. 4.23 4.24 4

Średni czas cyklu przetwarzania Planowanie priorytetowe Planowanie priorytetowe Algorytm SJF jest jednym z algorytmem planowania priorytetowego, w którym priorytetem jest odwrotność oczekiwanego (przewidywalnego) czasu trwania fazy procesora Każdemu procesowi przypisuje się priorytet (liczbę całkowitą z zadanego zakresu np.:..127, -2..19) Procesor przydziela się procesowi, którego priorytet jest najwyższy (nice, renice) Im mniejsza liczba tym większy priorytet (lub odwrotnie) Priorytety wewnętrzne Mierzalne własności procesu: Limit czasu, wielkość potrzebnej pamięci, liczba otwartych plików.. Priorytety zewnętrzne Mierzalne własności wobec SO: ważność procesu, rodzaj i wielkość opłat, instytucja zlecająca wykonanie.. Rodzaje planowania priorytetowego Z wywłaszczeniem idea: jak w kolejce procesów gotowych pojawia się proces o wyższym priorytecie to proces aktywny zostaje wywłaszczony Bez wywłaszczania Problem: zagłodzenie procesu - procesy z niskim priorytetem mogą nigdy nie doczekać się procesora (IBM 794) Rozwiązanie: postarzanie procesów - stopniowe (co jakiś z góry ustalony czas) podwyższanie priorytetu długo oczekującego procesu, tak aby miał szanse się wykonać 4.25 4.26 Planowanie rotacyjne (Round Robin (RR)) Zaprojektowany specjalnie dla systemów z podziałem czasu. Każdy proces otrzymuje mała jednostkę czasu procesora (kwant), zwykle 1-1 milisekund. Po tym czasie proces jest wywłaszczany i przekierowywany na koniec kolejki. Jeśli jest n procesów w kolejce (FIFO) i kwant czasu wynosi q, wtedy każdy proces otrzymuje 1/n czasu procesora w kawałkach o maksymalnej długości q. Żaden proces nie czeka dłużej niż (n-1)q kwantów czasu. Jak można się spodziewać średni czas oczekiwania w RR jest dość długi. Wydajność: Duży kwant czasu algorytm sprowadza się do FIFO, FCFS Mały kwant czasu algorytm sprowadza się do ciągłe przełączenia kontekstu (duża strata czasu) i dużej rotacji procesów między kolejkami Przykład RR z kwantem czasu q=2 Procesy Czas trwania procesów 53 17 P3 68 P4 24 Czas przyjścia wszystkich procesów wynosi Wykres Gantt'a : P 1 P 2 P 3 P 4 P 1 P 3 P 4 P 1 P 3 P 3 2 37 57 77 97 117 121 134 154 162 Typowo, wyższy czas wykonania niż SJF, ale dużo lepszy (krótszy) czas odpowiedzi. 4.27 4.28 Kwant czasu i czas zmiany kontekstu Średni czas cyklu przetwarzania zależy od kwantu czasu Całkowity czas wykonania procesu = 1 1 6 1 1 2 3 4 5 6 7 8 9 1 Kwant Przełączanie kontekstu 12 6 1 1 9 12,5 12 11,5 11 1,5 1 Procesy Czas 6 3 P3 1 P4 7 Mniejszy kwant czasu zwiększa częstotliwość przełączania kontekstu Wniosek: Kwant czasu musi być długi w porównaniu z czasem zmiany kontekstu 4.29 9,5 1 2 3 4 5 6 7 8 Kwant czasu Suma ostatnich cykli wykonywania się wszystkich procesów Ilość procesów 4.3 5

Średni czas cyklu przetwarzania zależy od kwantu czasu Kolejki wielopoziomowe Procesy systemowe Przykład: Mamy 3 procesy o 1 jednostek czasu każdy Dla kwantu czasu o długości 1 mamy średni czas obiegu 29 Dla kwantu czasu o długości 1 mamy średni czas obiegu 2 A trzeba jeszcze uwzględnić czas potrzebny na zmianę kontekstu : ( Średni czas cyklu poprawia się gdy większość procesów kończy swoje kolejne fazy procesora w pojedynczych kwantach czasu. Mamy kilka typów procesów Kolejka zadań gotowych jest podzielona na oddzielne kolejki : przód(interaktywny) tło(wsad) Każda kolejka ma własny algorytm planowania, przód RR tło - FCFS Planowanie musi dokonywać się pomiędzy kolejkami. Planowanie ze stałym priorytetem (np. najpierw cały przód, potem cale tło). Istnieje możliwość zagłodzenia procesów. Podział czasu - każda kolejka otrzymuje określoną ilość czasu procesora którą może rozdzielić miedzy swoje procesy, np. 8% na przód i 2% na tło Najwyższy priorytet Procesy interakcyjne Procesy redagowania interakcyjnego Procesy wsadowe Procesy użytkownika 4.31 4.32 Najniższy priorytet Wielopoziomowe kolejki ze sprzężeniem zwrotnym Proces może poruszać się miedzy rożnymi kolejkami; w ten sposób można wprowadzić starzenie się procesów. Planowanie zadań wielopoziomowych kolejek ze sprzężeniem zwrotnym podlega następującym parametrom: ilość kolejek algorytm planowania dla poszczególnych kolejek metody używane do stwierdzania kiedy promować proces metody używane do stwierdzania kiedy degradować proces metody używane do stwierdzania do której kolejki wejdzie proces kiedy zajdzie potrzeba jego obsługi. Trzy kolejki : Przykład wielopoziomowej kolejki ze sprzężeniem zwrotnym Q kwant czasu 8 milisekund Q 1 kwant czasu 16 milisekund Q 2 kolejka pierwszy przybyły - pierwszy obsłużony(fcfs) Planowanie zadań Nowy proces przychodzi do kolejki Q typu FCFS. Kiedy kolejka 'zdobywa' procesor, proces otrzymuje 8 milisekund. Jeśli nie skończy działania w trakcie 8 milisekund proces jest przenoszony do kolejki Q 1. W kolejce Q 1 (znów FCFS) proces otrzymuje 16 dodatkowych milisekund. Jeśli i teraz nie zdąży się wykonać, jest wywłaszczany i przenoszony do kolejki Q 2. Kolejka Kwant = 8 Kolejka 1 Kwant = 16 Kolejka 2 FCFS 4.33 4.34 Planowanie zadań dla wielu procesorów Planowanie zadań staje się bardziej złożone jeśli jest dostępny więcej niż jeden procesor. Procesory w systemie wieloprocesorowym: identyczne (homogeniczne) lub różnorodne (heterogeniczne) Dzielenie i równoważenie obciążeń (ang. load sharing i load balancing). Każdy procesor może mieć niezależną kolejkę, lub może być jedna (wspólna) kolejka do wszystkich procesorów Wieloprocesorowość asymetryczna tylko jeden procesor (master) podejmuje decyzje planistyczne, pozostałe procesory (slaves) wykonują zlecone im zadania. Wieloprocesorowość symetryczna każdy procesor sam sobie wybiera proces do wykonania, byleby dwa procesory nie wybrały tego samego. Planowanie zadań w systemach czasu rzeczywistego Twarde (hard) systemy czasu rzeczywistego - musza zakończyć ważne zadania w gwarantowanej jednostce czasu: Wymagają dokładnych informacji o czasie wykonania procesów lub operacji I/O Wymagają (wcześniejszej) rezerwacji zasobów Raczej wykluczone z pamięcią wirtualną nieoczekiwane wahania czasowe Łagodne (soft) systemy czasu rzeczywistego - ważnym procesom nadaje się wyższe priorytety: Łagodne systemy czasu rzeczywistego mogą być implementowane w systemach z podziałem czasu: Możliwe są zagłodzenia Możliwy jest niesprawiedliwy przydział zasobów Procesy czasu rzeczywistego mają najwyższy możliwy priorytet, nie ulegają degradacji, a czas ich ekspedycji do procesora musi być minimalny. 4.35 4.36 6