Systemy wbudowane - wykład 9 Przemek Błaśkiewicz 26 maja 2017 1 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; 2 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; system kontroli ABS; 3 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; system kontroli ABS; kontrola rdzenia reaktora; 4 / 93
Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; system kontroli ABS; kontrola rdzenia reaktora; robot spawalniczy; 5 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; system kontroli ABS; kontrola rdzenia reaktora; robot spawalniczy; system podtrzymywania życia pacjenta; 6 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; system kontroli ABS; kontrola rdzenia reaktora; robot spawalniczy; system podtrzymywania życia pacjenta; przenośny odtwarzacz muzyki/telefon/aparat; 7 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; system kontroli ABS; kontrola rdzenia reaktora; robot spawalniczy; system podtrzymywania życia pacjenta; przenośny odtwarzacz muzyki/telefon/aparat;... 8 / 93
Definicja System czasu rzeczywistego Real-time system to system, którego poprawność działania zależy nie tylko od poprawności rezultatów (obliczeń, decyzji, akcji), ale również od czasu, kiedy zostaną one wypracowane (czas reakcji). 9 / 93 Gotowość Program (system) jest zawsze gotowy na napływające dane 10 / 93 Gotowość Program (system) jest zawsze gotowy na napływające dane synchronicznie; 11 / 93 Gotowość Program (system) jest zawsze gotowy na napływające dane synchronicznie; asynchronicznie. 12 / 93
Gotowość Program (system) jest zawsze gotowy na napływające dane synchronicznie; asynchronicznie. Proces/system przetwarza dane w sposób przewidywalny, w rozumieniu: 13 / 93 Gotowość Program (system) jest zawsze gotowy na napływające dane synchronicznie; asynchronicznie. Proces/system przetwarza dane w sposób przewidywalny, w rozumieniu: długości czasu przetwarzania; 14 / 93 Gotowość Program (system) jest zawsze gotowy na napływające dane synchronicznie; asynchronicznie. Proces/system przetwarza dane w sposób przewidywalny, w rozumieniu: długości czasu przetwarzania; na bieżąco (długości czasu oczekiwania na rozpoczęcie przetwarzania); 15 / 93 Gotowość Program (system) jest zawsze gotowy na napływające dane synchronicznie; asynchronicznie. Proces/system przetwarza dane w sposób przewidywalny, w rozumieniu: długości czasu przetwarzania; na bieżąco (długości czasu oczekiwania na rozpoczęcie przetwarzania); spełnienia dodatkowych założeń dot. np. kolejności. 16 / 93
Gotowość Program (system) jest zawsze gotowy na napływające dane synchronicznie; asynchronicznie. Proces/system przetwarza dane w sposób przewidywalny, w rozumieniu: długości czasu przetwarzania; na bieżąco (długości czasu oczekiwania na rozpoczęcie przetwarzania); spełnienia dodatkowych założeń dot. np. kolejności. Współdziała ze środowiskiem, reagując na jego niezależne zmiany. 17 / 93 Gotowość Program (system) jest zawsze gotowy na napływające dane synchronicznie; asynchronicznie. Proces/system przetwarza dane w sposób przewidywalny, w rozumieniu: długości czasu przetwarzania; na bieżąco (długości czasu oczekiwania na rozpoczęcie przetwarzania); spełnienia dodatkowych założeń dot. np. kolejności. Współdziała ze środowiskiem, reagując na jego niezależne zmiany. 18 / 93 Gotowość Program (system) jest zawsze gotowy na napływające dane synchronicznie; asynchronicznie. Proces/system przetwarza dane w sposób przewidywalny, w rozumieniu: długości czasu przetwarzania; na bieżąco (długości czasu oczekiwania na rozpoczęcie przetwarzania); spełnienia dodatkowych założeń dot. np. kolejności. Współdziała ze środowiskiem, reagując na jego niezależne zmiany. nieprzewidywalne bodźce przewidywalny wynik 19 / 93 Szybkość RT-OS Pojęcie real-time nie oznacza szybki. 20 / 93
Szybkość RT-OS Pojęcie real-time nie oznacza szybki. Normalne systemy operacyjne mogą być szybsze, bo: 21 / 93 Szybkość RT-OS Pojęcie real-time nie oznacza szybki. Normalne systemy operacyjne mogą być szybsze, bo: korzystają z pamięci cache; 22 / 93 Szybkość RT-OS Pojęcie real-time nie oznacza szybki. Normalne systemy operacyjne mogą być szybsze, bo: korzystają z pamięci cache; mają wielopotokowe procesory; 23 / 93 Szybkość RT-OS Pojęcie real-time nie oznacza szybki. Normalne systemy operacyjne mogą być szybsze, bo: korzystają z pamięci cache; mają wielopotokowe procesory; mogą korzystać z akceleratorów (np. karty graficzne). 24 / 93
Szybkość RT-OS Pojęcie real-time nie oznacza szybki. Normalne systemy operacyjne mogą być szybsze, bo: korzystają z pamięci cache; mają wielopotokowe procesory; mogą korzystać z akceleratorów (np. karty graficzne). ALE Windows po szeregu aktualizacji i instalacji sterowników wyraźnie zwalnia... 25 / 93 Szybkość RT-OS Pojęcie real-time nie oznacza szybki. Normalne systemy operacyjne mogą być szybsze, bo: korzystają z pamięci cache; mają wielopotokowe procesory; mogą korzystać z akceleratorów (np. karty graficzne). ALE Windows po szeregu aktualizacji i instalacji sterowników wyraźnie zwalnia... ALE sposoby przyspieszania działają dobrze, ale wprowadzają zależność czasu wykonania działań od okoliczności ich wykonania. 26 / 93 Szybkość RT-OS Pojęcie real-time nie oznacza szybki. Normalne systemy operacyjne mogą być szybsze, bo: korzystają z pamięci cache; mają wielopotokowe procesory; mogą korzystać z akceleratorów (np. karty graficzne). ALE Windows po szeregu aktualizacji i instalacji sterowników wyraźnie zwalnia... ALE sposoby przyspieszania działają dobrze, ale wprowadzają zależność czasu wykonania działań od okoliczności ich wykonania. RT-OS mają gwarantowany pesymistyczny czas reakcji. 27 / 93 PC vs. SW vs. RTOS Systemy PC są oceniane pod względem prędkości działania, przepustowości, wszechstronności w średnim przypadku. 28 / 93
PC vs. SW vs. RTOS Systemy PC są oceniane pod względem prędkości działania, przepustowości, wszechstronności w średnim przypadku. Dlatego są one zmiennicze pod względem sprzętu i oprogramowania, które jest na nim uruchomione co daje różnorodność konfiguracji, kontrolowanych przez nie procesów oraz sposobu, w jaki się pojawiają w systemie. 29 / 93 PC vs. SW vs. RTOS Systemy PC są oceniane pod względem prędkości działania, przepustowości, wszechstronności w średnim przypadku. Dlatego są one zmiennicze pod względem sprzętu i oprogramowania, które jest na nim uruchomione co daje różnorodność konfiguracji, kontrolowanych przez nie procesów oraz sposobu, w jaki się pojawiają w systemie. System wbudowany jest często zamknięty pod względem sprzętu i oprogramowania, jak i środowiska, w którym pracuje. 30 / 93 PC vs. SW vs. RTOS Systemy PC są oceniane pod względem prędkości działania, przepustowości, wszechstronności w średnim przypadku. Dlatego są one zmiennicze pod względem sprzętu i oprogramowania, które jest na nim uruchomione co daje różnorodność konfiguracji, kontrolowanych przez nie procesów oraz sposobu, w jaki się pojawiają w systemie. System wbudowany jest często zamknięty pod względem sprzętu i oprogramowania, jak i środowiska, w którym pracuje. Można więc przedstawić lepsze mechanizmy planowania wykonania zadań, bo: 31 / 93 PC vs. SW vs. RTOS Systemy PC są oceniane pod względem prędkości działania, przepustowości, wszechstronności w średnim przypadku. Dlatego są one zmiennicze pod względem sprzętu i oprogramowania, które jest na nim uruchomione co daje różnorodność konfiguracji, kontrolowanych przez nie procesów oraz sposobu, w jaki się pojawiają w systemie. System wbudowany jest często zamknięty pod względem sprzętu i oprogramowania, jak i środowiska, w którym pracuje. Można więc przedstawić lepsze mechanizmy planowania wykonania zadań, bo: znamy charakter zadań (okresowość, wymagania obliczeniowe); 32 / 93
PC vs. SW vs. RTOS Systemy PC są oceniane pod względem prędkości działania, przepustowości, wszechstronności w średnim przypadku. Dlatego są one zmiennicze pod względem sprzętu i oprogramowania, które jest na nim uruchomione co daje różnorodność konfiguracji, kontrolowanych przez nie procesów oraz sposobu, w jaki się pojawiają w systemie. System wbudowany jest często zamknięty pod względem sprzętu i oprogramowania, jak i środowiska, w którym pracuje. Można więc przedstawić lepsze mechanizmy planowania wykonania zadań, bo: znamy charakter zadań (okresowość, wymagania obliczeniowe); wiemy jak szybko trzeba je wykonać; 33 / 93 PC vs. SW vs. RTOS Systemy PC są oceniane pod względem prędkości działania, przepustowości, wszechstronności w średnim przypadku. Dlatego są one zmiennicze pod względem sprzętu i oprogramowania, które jest na nim uruchomione co daje różnorodność konfiguracji, kontrolowanych przez nie procesów oraz sposobu, w jaki się pojawiają w systemie. System wbudowany jest często zamknięty pod względem sprzętu i oprogramowania, jak i środowiska, w którym pracuje. Można więc przedstawić lepsze mechanizmy planowania wykonania zadań, bo: znamy charakter zadań (okresowość, wymagania obliczeniowe); wiemy jak szybko trzeba je wykonać; inaczej SW nie ma sensu (?). 34 / 93 Podział RTOS Rygorystyczne (hard) gwarantują wypełnienie zadań krytycznych na czas; 35 / 93 Podział RTOS Rygorystyczne (hard) gwarantują wypełnienie zadań krytycznych na czas; ograniczają opóźnienie wszystkich zadań w systemie; 36 / 93
Podział RTOS Rygorystyczne (hard) gwarantują wypełnienie zadań krytycznych na czas; ograniczają opóźnienie wszystkich zadań w systemie; dane przechowywane w szybkiej pamięci lub pamięci ROM; 37 / 93 Podział RTOS Rygorystyczne (hard) gwarantują wypełnienie zadań krytycznych na czas; ograniczają opóźnienie wszystkich zadań w systemie; dane przechowywane w szybkiej pamięci lub pamięci ROM; brak wirtualizacji (bo wprowadza niedeterministyczne opóźnienia); 38 / 93 Podział RTOS Rygorystyczne (hard) gwarantują wypełnienie zadań krytycznych na czas; ograniczają opóźnienie wszystkich zadań w systemie; dane przechowywane w szybkiej pamięci lub pamięci ROM; brak wirtualizacji (bo wprowadza niedeterministyczne opóźnienia); NIE współpracują z systemami z podziałem czasu! 39 / 93 Podział RTOS Łagodne (soft) zadania krytyczne otrzymują i utrzymują pierwszeństwo przed innymi; 40 / 93
Podział RTOS Łagodne (soft) zadania krytyczne otrzymują i utrzymują pierwszeństwo przed innymi; opóźnienia są ograniczone - zadania mają skończony czas oczekiwania na wykonanie; 41 / 93 Podział RTOS Łagodne (soft) zadania krytyczne otrzymują i utrzymują pierwszeństwo przed innymi; opóźnienia są ograniczone - zadania mają skończony czas oczekiwania na wykonanie; 42 / 93 Podział RTOS Łagodne (soft) zadania krytyczne otrzymują i utrzymują pierwszeństwo przed innymi; opóźnienia są ograniczone - zadania mają skończony czas oczekiwania na wykonanie; Mocne (firm) pośrednie między rygorystycznymi a łagodnymi 43 / 93 Podział RTOS Łagodne (soft) zadania krytyczne otrzymują i utrzymują pierwszeństwo przed innymi; opóźnienia są ograniczone - zadania mają skończony czas oczekiwania na wykonanie; Mocne (firm) pośrednie między rygorystycznymi a łagodnymi niewykonanie zadania wyniki nieprzydatne, ale OK 44 / 93
Planowanie zadań Plan Plan (schedule) dla zbioru zadań (J 1, J 2,..., J n ) to pewna funkcja: σ : R + {0,..., n}, taka, że: t R +, t 1, t 2 R + : t [t 1, t 2 ), t [t 1, t 2 ) : σ(t) = σ(t ). 45 / 93 Planowanie zadań Plan Plan (schedule) dla zbioru zadań (J 1, J 2,..., J n ) to pewna funkcja: σ : R + {0,..., n}, taka, że: t R +, t 1, t 2 R + : t [t 1, t 2 ), t [t 1, t 2 ) : σ(t) = σ(t ). Czyli, jeśli σ(t) = j to wykonywane jest zadanie J j, jeśli σ(t) = 0, to nie wykonywane jest żadne zadanie. 46 / 93 Planowanie zadań Plan Plan (schedule) dla zbioru zadań (J 1, J 2,..., J n ) to pewna funkcja: σ : R + {0,..., n}, taka, że: t R +, t 1, t 2 R + : t [t 1, t 2 ), t [t 1, t 2 ) : σ(t) = σ(t ). Czyli, jeśli σ(t) = j to wykonywane jest zadanie J j, jeśli σ(t) = 0, to nie wykonywane jest żadne zadanie. σ(t) 3 2 1 J 3 J 2 J 2 J 1 J 3 t 47 / 93 Planowanie zadań Plan Plan (schedule) dla zbioru zadań (J 1, J 2,..., J n ) to pewna funkcja: σ : R + {0,..., n}, taka, że: t R +, t 1, t 2 R + : t [t 1, t 2 ), t [t 1, t 2 ) : σ(t) = σ(t ). Czyli, jeśli σ(t) = j to wykonywane jest zadanie J j, jeśli σ(t) = 0, to nie wykonywane jest żadne zadanie. σ(t) 3 2 1 J 3 J 2 J 2 J 1 J 1 t 48 / 93
Cechy charakterystyczne zadań Właściwości a priori: 49 / 93 Cechy charakterystyczne zadań Właściwości a priori: pojawienie się w systemie a i ; 50 / 93 Cechy charakterystyczne zadań Właściwości a priori: pojawienie się w systemie a i ; czas obliczenia C i - wymagany czas (max) na wykonanie obliczenia; 51 / 93 Cechy charakterystyczne zadań Właściwości a priori: pojawienie się w systemie a i ; czas obliczenia C i - wymagany czas (max) na wykonanie obliczenia; czas zakończenia (deadline) d i - maksymalny czas, przed upływem którego zadanie musi zostać przetworzone; 52 / 93
Cechy charakterystyczne zadań Właściwości a priori: pojawienie się w systemie a i ; czas obliczenia C i - wymagany czas (max) na wykonanie obliczenia; czas zakończenia (deadline) d i - maksymalny czas, przed upływem którego zadanie musi zostać przetworzone; czas luzu (slack time) X i = d i a i C i, maksymalny czas opóźnienia wykonania zadania po jego nadejściu, nadal umożliwiający jego wykonanie; 53 / 93 Cechy charakterystyczne zadań Właściwości a priori: pojawienie się w systemie a i ; czas obliczenia C i - wymagany czas (max) na wykonanie obliczenia; czas zakończenia (deadline) d i - maksymalny czas, przed upływem którego zadanie musi zostać przetworzone; czas luzu (slack time) X i = d i a i C i, maksymalny czas opóźnienia wykonania zadania po jego nadejściu, nadal umożliwiający jego wykonanie; 54 / 93 Cechy charakterystyczne zadań Właściwości a priori: pojawienie się w systemie a i ; czas obliczenia C i - wymagany czas (max) na wykonanie obliczenia; czas zakończenia (deadline) d i - maksymalny czas, przed upływem którego zadanie musi zostać przetworzone; czas luzu (slack time) X i = d i a i C i, maksymalny czas opóźnienia wykonania zadania po jego nadejściu, nadal umożliwiający jego wykonanie; C i 0 a i d i 55 / 93 Cechy charakterystyczne zadań Właściwości w planowaniu: 56 / 93
Cechy charakterystyczne zadań Właściwości w planowaniu: start wykonania s i ; 57 / 93 Cechy charakterystyczne zadań Właściwości w planowaniu: start wykonania s i ; koniec wykonania f i ; 58 / 93 Cechy charakterystyczne zadań Właściwości w planowaniu: start wykonania s i ; koniec wykonania f i ; opóźnienie - (lateness) L i = f i d i ; 59 / 93 Cechy charakterystyczne zadań Właściwości w planowaniu: start wykonania s i ; koniec wykonania f i ; opóźnienie - (lateness) L i = f i d i ; przekroczenie czasu - (exceeding time) E i = max(0, L i ); 60 / 93
Cechy charakterystyczne zadań Właściwości w planowaniu: start wykonania s i ; koniec wykonania f i ; opóźnienie - (lateness) L i = f i d i ; przekroczenie czasu - (exceeding time) E i = max(0, L i ); 61 / 93 Cechy charakterystyczne zadań Właściwości w planowaniu: start wykonania s i ; koniec wykonania f i ; opóźnienie - (lateness) L i = f i d i ; przekroczenie czasu - (exceeding time) E i = max(0, L i ); C i 0 a i s i f i d i 62 / 93 Ograniczenia na zadania ograniczenie kolejności Pewne zadania muszą być wykonane przed innymi, np. J 1 J 2, J 1 J 3, J 2 J 4, J 3 J 5 63 / 93 Ograniczenia na zadania ograniczenie kolejności Pewne zadania muszą być wykonane przed innymi, np. J 1 J 2, J 1 J 3, J 2 J 4, J 3 J 5 J1 J2 J3 J4 J5 64 / 93
Algorytmy planowania (1) Realizowalność planu (feasibility) plan jest realizowalny, jeśli jego wykonanie powoduje że wszystkie zadania kończą się nie później niż w swoim terminie wykonania. 65 / 93 Algorytmy planowania (1) Realizowalność planu (feasibility) plan jest realizowalny, jeśli jego wykonanie powoduje że wszystkie zadania kończą się nie później niż w swoim terminie wykonania. Zestaw zadań jest planowalny jeśli istnieje co najmniej jeden realizowalny plan ich wykonania. 66 / 93 Algorytmy planowania (2) wywłaszczające i niewywłaszczające zadania mogą być przerwane przez wykonanie innych zadań (lub nie, odpowiednio); 67 / 93 Algorytmy planowania (2) wywłaszczające i niewywłaszczające zadania mogą być przerwane przez wykonanie innych zadań (lub nie, odpowiednio); statyczne i dynamiczne decyzja planowania podjęta w momencie kompilacji (tworzenia sytemu), lub w trakcie działania, na bieżąco ; 68 / 93
Algorytmy planowania (2) wywłaszczające i niewywłaszczające zadania mogą być przerwane przez wykonanie innych zadań (lub nie, odpowiednio); statyczne i dynamiczne decyzja planowania podjęta w momencie kompilacji (tworzenia sytemu), lub w trakcie działania, na bieżąco ; jednoprocesorowe, wieloprocesorowe; 69 / 93 Algorytmy planowania (2) wywłaszczające i niewywłaszczające zadania mogą być przerwane przez wykonanie innych zadań (lub nie, odpowiednio); statyczne i dynamiczne decyzja planowania podjęta w momencie kompilacji (tworzenia sytemu), lub w trakcie działania, na bieżąco ; jednoprocesorowe, wieloprocesorowe; optymalne, heurystyczne; 70 / 93 Algorytmy planowania (2) wywłaszczające i niewywłaszczające zadania mogą być przerwane przez wykonanie innych zadań (lub nie, odpowiednio); statyczne i dynamiczne decyzja planowania podjęta w momencie kompilacji (tworzenia sytemu), lub w trakcie działania, na bieżąco ; jednoprocesorowe, wieloprocesorowe; optymalne, heurystyczne; dla zadań okresowych (periodycznych) i asynchronicznych; 71 / 93 Lemat o wywłaszczaniu Jeśli czasy nadejścia zadań są synchroniczne, to mechanizm wywłaszczenia nie polepsza maksymalnego opóźnienia. Czyli jeśli istnieje algorytm wywłaszczeniowy o opóźnieniu L max to istnieje również algorytm niewywłaszczeniowy o tym samym opóźnieniu dla tego samego zestawu zadań. 72 / 93
Lemat o wywłaszczaniu Jeśli czasy nadejścia zadań są synchroniczne, to mechanizm wywłaszczenia nie polepsza maksymalnego opóźnienia. Czyli jeśli istnieje algorytm wywłaszczeniowy o opóźnieniu L max to istnieje również algorytm niewywłaszczeniowy o tym samym opóźnieniu dla tego samego zestawu zadań. Dowód (szkic). 1 Załóżmy że istnieje plan wywłaszczający z opóźnieniem L max. 73 / 93 Lemat o wywłaszczaniu Jeśli czasy nadejścia zadań są synchroniczne, to mechanizm wywłaszczenia nie polepsza maksymalnego opóźnienia. Czyli jeśli istnieje algorytm wywłaszczeniowy o opóźnieniu L max to istnieje również algorytm niewywłaszczeniowy o tym samym opóźnieniu dla tego samego zestawu zadań. Dowód (szkic). 1 Załóżmy że istnieje plan wywłaszczający z opóźnieniem L max. 2 Jeśli istnieje zadanie wywłaszczone (np. J w ) w czasie t i powraca w czasie t, to przesuń całość zadania J w sprzed t na tuż przed t (uniknięcie wywłaszczenia). 74 / 93 Lemat o wywłaszczaniu Jeśli czasy nadejścia zadań są synchroniczne, to mechanizm wywłaszczenia nie polepsza maksymalnego opóźnienia. Czyli jeśli istnieje algorytm wywłaszczeniowy o opóźnieniu L max to istnieje również algorytm niewywłaszczeniowy o tym samym opóźnieniu dla tego samego zestawu zadań. Dowód (szkic). 1 Załóżmy że istnieje plan wywłaszczający z opóźnieniem L max. 2 Jeśli istnieje zadanie wywłaszczone (np. J w ) w czasie t i powraca w czasie t, to przesuń całość zadania J w sprzed t na tuż przed t (uniknięcie wywłaszczenia). 3 Nie pogorszy to opóźnienia J w, co najwyżej zmniejszy opóźnienie innych zadań. 75 / 93 Zadania aperiodyczne, synchroniczne Dany jest zestaw n zadań: J 1,..., J n, gdzie: 76 / 93
Zadania aperiodyczne, synchroniczne Dany jest zestaw n zadań: J 1,..., J n, gdzie: dla wszystkich zadań a i = 0, i = 1,... n; 77 / 93 Zadania aperiodyczne, synchroniczne Dany jest zestaw n zadań: J 1,..., J n, gdzie: dla wszystkich zadań a i = 0, i = 1,... n; każde zadanie ma określony deadline d i i czas obliczenia C i ; 78 / 93 Zadania aperiodyczne, synchroniczne Dany jest zestaw n zadań: J 1,..., J n, gdzie: dla wszystkich zadań a i = 0, i = 1,... n; każde zadanie ma określony deadline d i i czas obliczenia C i ; zadania są niezależne (nie ma zależności wykonania). 79 / 93 Zadania aperiodyczne, synchroniczne Dany jest zestaw n zadań: J 1,..., J n, gdzie: dla wszystkich zadań a i = 0, i = 1,... n; każde zadanie ma określony deadline d i i czas obliczenia C i ; zadania są niezależne (nie ma zależności wykonania). system bez wywłaszczenia 80 / 93
Zadania aperiodyczne, synchroniczne Dany jest zestaw n zadań: J 1,..., J n, gdzie: dla wszystkich zadań a i = 0, i = 1,... n; każde zadanie ma określony deadline d i i czas obliczenia C i ; zadania są niezależne (nie ma zależności wykonania). system bez wywłaszczenia jednoprocesorowy 81 / 93 Zadania aperiodyczne, synchroniczne Dany jest zestaw n zadań: J 1,..., J n, gdzie: dla wszystkich zadań a i = 0, i = 1,... n; każde zadanie ma określony deadline d i i czas obliczenia C i ; zadania są niezależne (nie ma zależności wykonania). system bez wywłaszczenia jednoprocesorowy zadanie: znajdź optymalny plan 82 / 93 Planista EDD (earliest due date) 83 / 93 Planista EDD (earliest due date) Wykonuje zadania w kolejności niemalejącego czasu zakończenia. 84 / 93
Planista EDD (earliest due date) Wykonuje zadania w kolejności niemalejącego czasu zakończenia. Przykład 1 J 1 J 2 J 3 J 4 J 5 C i 1 1 1 3 2 d i 3 10 7 8 5 85 / 93 Planista EDD (earliest due date) Wykonuje zadania w kolejności niemalejącego czasu zakończenia. Przykład 1 J 1 J 2 J 3 J 4 J 5 C i 1 1 1 3 2 d i 3 10 7 8 5 0 1 2 3 4 5 6 7 8 9 10 11 86 / 93 Planista EDD (earliest due date) Wykonuje zadania w kolejności niemalejącego czasu zakończenia. Przykład 1 J 1 J 2 J 3 J 4 J 5 C i 1 1 1 3 2 d i 3 10 7 8 5 d1 d5 d3 d4 d2 0 1 2 3 4 5 6 7 8 9 10 11 87 / 93 Planista EDD (earliest due date) Wykonuje zadania w kolejności niemalejącego czasu zakończenia. Przykład 1 J 1 J 2 J 3 J 4 J 5 C i 1 1 1 3 2 d i 3 10 7 8 5 d1 d5 d3 d4 d2 J1 J5 J3 J4 J2 0 1 2 3 4 5 6 7 8 9 10 11 88 / 93
Planista EDD (earliest due date) Wykonuje zadania w kolejności niemalejącego czasu zakończenia. Przykład 2 J 1 J 2 J 3 J 4 J 5 C i 1 2 1 4 2 d i 2 5 4 8 6 89 / 93 Planista EDD (earliest due date) Wykonuje zadania w kolejności niemalejącego czasu zakończenia. Przykład 2 J 1 J 2 J 3 J 4 J 5 C i 1 2 1 4 2 d i 2 5 4 8 6 0 1 2 3 4 5 6 7 8 9 10 11 90 / 93 Planista EDD (earliest due date) Wykonuje zadania w kolejności niemalejącego czasu zakończenia. Przykład 2 J 1 J 2 J 3 J 4 J 5 C i 1 2 1 4 2 d i 2 5 4 8 6 d1 d3 d2 d5 d4 0 1 2 3 4 5 6 7 8 9 10 11 91 / 93 Planista EDD (earliest due date) Wykonuje zadania w kolejności niemalejącego czasu zakończenia. Przykład 2 J 1 J 2 J 3 J 4 J 5 C i 1 2 1 4 2 d i 2 5 4 8 6 d1 d3 d2 d5 d4 J3 J5 J1 J2 J4 0 1 2 3 4 5 6 7 8 9 10 11 92 / 93
Rzeczy do zapamiętania różnice między RTOS a PC-OS ; właściwości czasowe zadań w systemie; rodzaje planistów, jakie warunki biorą pod uwagę; algorytm EDD (c.d.n.) 93 / 93