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

Podobne dokumenty
Systemy Czasu Rzeczywistego (SCR)

Systemy czasu rzeczywistego wstęp

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady

Podstawowe zagadnienia

Systemy Czasu Rzeczywistego (SCR)

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

1. Szeregowanie w systemach czasu rzeczywistego

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

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

Systemy czasu rzeczywistego wstęp

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

Planowanie przydziału procesora

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

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

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

Grupy pytań na egzamin inżynierski na kierunku Informatyka

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

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Planowanie przydziału procesora

Organizacja oprogramowania

Planowanie przydziału procesora

KOMPUTEROWE SYSTEMY POMIAROWE

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

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

PROGRAMOWALNE STEROWNIKI LOGICZNE

Urządzenia wejścia-wyjścia

Systemy operacyjne. Paweł Pełczyński

Wprowadzenie do systemów operacyjnych

Systemy wbudowane. Cel syntezy systemowej. Wykład 12: Przykłady kosyntezy systemów wbudowanych

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

System komputerowy. System komputerowy

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

KOMPUTEROWE SYSTEMY POMIAROWE

Architektura mikroprocesorów TEO 2009/2010

System czasu rzeczywistego

Podstawy Informatyki Systemy sterowane przepływem argumentów

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

Systemy Czasu Rzeczywistego (SCR)

4. Procesy pojęcia podstawowe

Zarządzanie procesami i wątkami

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

4. Procesy pojęcia podstawowe

Instrukcja. Laboratorium Metod i Systemów Sterowania Produkcją.

Wbudowane systemy operacyjne

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

Prezentacja systemu RTLinux

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

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

* Wymień typowe standardy sygnałów procesowych: - analogowy - dwustanowe

Czujniki obiektowe Sterowniki przemysłowe

Architektura i administracja systemów operacyjnych

Komputerowe systemy sterowania

Projekt i implementacja systemu obsługi kart chipowych

Podstawy Techniki Komputerowej. Temat: BIOS

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Systemy wbudowane - wykład 3

Real-Time Linux. Wprowadzenie

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Co to jest system wbudowany?

SYLABUS/KARTA PRZEDMIOTU

Systemy na Chipie. Robert Czerwiński

Kasy Fiskalne Lublin Analityk

1.1 Definicja procesu

Zarządzanie projektami. Zarządzanie czasem w projekcie

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Modularny system I/O IP67

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

4. Procesy pojęcia podstawowe

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

Systemy Czasu Rzeczywistego (SCR)

Automatyka i Regulacja Automatyczna Laboratorium Zagadnienia Seria II

Dobór parametrów algorytmu ewolucyjnego

Opis efektów kształcenia dla modułu zajęć

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Systemy wbudowane. Wykład 4: Systemy operacyjne dla systemów wbudowanych. Obsługa przez przerwania. Z wywłaszczaniem zadań:

>>> >>> Ćwiczenie. Cloud computing

PRZEWODNIK PO PRZEDMIOCIE

Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński

Specyfikacja sprzętu komputerowego

USB 2.0 DVD MAKER INSTRUKCJA OBSŁUGI. Nr produktu Strona 1 z 6

Planowanie przydziału procesora

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Zarządzanie projektami

Wprowadzenie do złożoności obliczeniowej

Jesień LinuksowaLinux - Real-Time w systemach wbudowanych

5. Model komunikujących się procesów, komunikaty

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

Rejestratory Sił, Naprężeń.

Wstęp do programowania

Technologia informacyjna. Urządzenia techniki komputerowej

MatliX + MatliX MS. Urządzenie do wizyjnej kontroli wymiarów oraz kontroli defektów powierzchni

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

TAK, WYMAGA NIE WYMAGA

Transkrypt:

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