Kategorie systemów czasu rzeczywistego

Slides:



Advertisements
Podobne prezentacje
Wirtualizacja zasobów w systemach operacyjnych
Advertisements

Podstawowe pojęcia programowania współbieżnego
Mechanizmy pracy równoległej
Wykład nr 8: Zakleszczenia
Dynamiczne struktury danych Listy, Kolejki, Stosy
Macierzowa reprezentacja sieci
ROZDZIAŁ 12: Systemy wejścia-wyjścia
SYSTEMY OPERACYJNE WSTĘP
SYSTEMY OPERACYJNE ·       SO : zestaw programów zarządzających zasobami komputera i wspomagających jego użytkowanie zarządzanie zasobami.
Semafory Autorzy : Michał Winciorek Łukasz Jackowicz.
SYSTEMY OPERACYJNE PROCESY I WĄTKI
SYSTEMY OPERACYJNE WSTĘP
Elementarne struktury danych Piotr Prokopowicz
Grafika komputerowa Wykład 7 Krzywe na płaszczyźnie
Sygnały Cz. 3 EAIiE Katedra Automatyki Kraków,
Sygnały Proponowane rozwiązanie EAIiE Katedra Automatyki Kraków,
Binaryzacja okresów zadań cyklicznych SCR2000, Kraków Jerzy Nawrocki, Adam Czajka Instytut Informatyki Politechnika Poznańska.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
ANALITYCZNE MODELE SYSTEMÓW KOLEJKOWYCH
Zagadnienie niedokładności w GIS
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Wykład nr 3: Struktura systemu operacyjnego
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Wykład nr 6: Planowanie przydziału procesora
Magistrala & mostki PN/PD
Temat nr 10: System przerwań
Redukcja sieci Petriego
Budowa systemów operacyjnych czasu rzeczywistego
Zdarzenia w programach VI (zdarzenia rejestrowane dynamicznie)
ZARZĄDZANIE PROCESAMI
Język Java Wielowątkowość.
4. TEORETYCZNE MODELE PROCESÓW WSPÓŁBIEŻNYCH Teoretyczne modele uwzględniają wybrane cechy rzeczywistych procesów, stanowiąc kompromis pomiędzy łatwością
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
RODZAJE KOMUNIKACJI MIĘDZY PROCESAMI
Wątki.
Zarządzanie transakcjami Wykład S. Kozielski. Zarządzanie transakcjami Transakcja – jedna lub więcej operacji na bazie danych stanowiących pewną logiczną
Pamięć wspólna Przegląd stosowanych rozwiązań Marcin Kamiński, Michał Kotra Wydział EAIiE Katedra Automatyki Kraków, 2008.
Zastosowanie technologii CUDA w sztucznej inteligencji
Sygnały Przegląd istniejących rozwiązań EAIiE Katedra Automatyki Kraków,
Promotor: Dr inż. Grzegorz Wróbel
Zdzisław Stryła Instytut Fizyki UAM
ogólne pojęcia struktury
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Parallel Extension czyli programowanie równoległe != współbieżne na platformie .NET Framework 4.0 Wojciech Grześkowiak
Systemy Operacyjne Dr inż. Sławomir Samolej
Szeregowanie zadań w modelu deterministycznym
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 2.
Systemy operacyjne.
Budowa systemu komputerowego
UKŁADY MIKROPROGRAMOWANE
Listy, stosy i kolejki..
Problem sekcji krytycznej
Przerwanie ang. interrupt.
M i k r o j ą d r o D e f i n i c j a. M i k r o j ą d r o to rodzaj jądra systemu operacyjnego, które zawiera tylko najbardziej niezbędne elementy, takie.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Systemy Operacyjne Dr inż. Sławomir Samolej
Wykład 7 Synchronizacja procesów i wątków
W ą t e k (lekki proces) thread.
Planowanie przydziału procesora
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Palm Pilot Robot Kit Projekt inżynierski „Rozbudowa funkcjonalności robota mobilnego PPRK”
Systemy Operacyjne Dr inż. Sławomir Samolej D108 A, tel: ,
Diagram czynności Diagram czynności (activity diagram) służy do modelowania dynamicznych aspektów systemu. Diagram czynności przedstawia sekwencyjne lub.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Struktura systemu operacyjnego
Wstęp do programowania Wykład 7
Wątki, programowanie współbieżne
Zapis prezentacji:

Kategorie systemów czasu rzeczywistego

Podstawowe definicje

Podstawowe definicje

Standard IEEE / ANSI

System Czasu Rzeczywistego Sensory Sterowniki Otoczenie KOMPUTER

Kategorie SCR

Kategorie SCR

Kategorie SCR

Cechy SCR

Problematyka SCR

JEDNOSTKA PLANUJĄCO - STERUJĄCA Strategia PUSH JEDNOSTKA PLANUJĄCO - STERUJĄCA M M M M Materiały Sterowanie Informacje

Strategia PUSH

JEDNOSTKA PLANUJĄCO - STERUJĄCA Strategia SQUEEZE JEDNOSTKA PLANUJĄCO - STERUJĄCA M B Materiały Sterowanie Informacje

Strategia SQUEEZE

JEDNOSTKA PLANUJĄCO - STERUJĄCA Strategia PULL JEDNOSTKA PLANUJĄCO - STERUJĄCA M Materiały Sterowanie Ssanie

Systemy JIT

Notacja (trójpolowa) 

 = 1 2

 = 1, 2, 3, 4, 5

Dodatkowe zasoby (discretely-additional resources)

Wymagania kolejnościowe zadań. in–tree out–tree

Parametry zadania

Parametry zadania

Kryteria optymalizacji

Kryteria optymalizacji

Zależności między kryteriami  wi Ti Lmax  wi Ci  Ti  Ci Cmax Kryteria 1, 2 są w relacji 1  2 jeśli rozwiązanie problemu z kryterium 2 dostarcza rozwiązania problemu z kryterium 1.

System permutacyjny (PF, Permutation Fow-shop) 1 2 m Przepływ zadań Stanowisko obsługi Maszyna

System (F, Flow-shop) Przepływ zadań Stanowisko obsługi Maszyna 1 2 m

System gniazdowy (J, Job-shop) Przepływ zadań Stanowisko obsługi Maszyna 1 2 m

System równoległy (P, Parallel-shop) Przepływ zadań Stanowisko obsługi Maszyny

System gniazdowy równoległy Przepływ zadań Stanowisko obsługi Maszyny

Typy zagadnień szeregowania

Algorytm Johnsona O(nlogn) Cmax(*) = m i n Cmax() * 

Problem PF3|P2, no-bottl.|Cmax

Algorytm Johnson O(nlogn)

Zadania podzielne. Procesory równoległe

Zadania podzielne. Procesory równoległe 2 6 4 P1 P2 Z4 Z3 P3 Z2 Z1 Z5

Zadania podzielne. Procesory równoległe 2 6 4 P1 P2 Z5 Z3 Z2 Z1 Z4 Z6 8 10

Zadania zależne. Procesory równoległe

Algorytm Hu, Przykład 1 2 3 4 Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z10 Z11 Z9 2 6 4 P1 P2 Z2 Z1 Z4 Z3 Z6 Z8 Z5 Z7 Z9 Z10 Z11

Zadania niezależne, procesory równoległe LPT P1 P2 P3 RPT

Reguła EDD (Earliest Due Date) Z2 Z1 d1 d2 Z1 Z2 d1

Zadania niezależne, przerywalne.

Zadania zależne, przerywalne.

Zadania zależne, procesory równoległe.

Przykład P| pj=1, in–tree | Lmax 0*, 4 0*, 2 0*, 2 Z1 Z2 Z3 -1*, 2 -1*, 3 Z4 Z5 Z6 -1*, 4 -2*, 3 Z7 Z8 -4*, 5 2 4 P2 P3 Z3 Z2 Z6 Z5 Z7 Z9 Z1 P1 Z4 Z8 L*max= 0 Z10 Z9 -5*, 6 dj*, dj -6*, 7 Z10

Zadania niepodzielne, dodatkowe zasoby

Przykład Ppodz, res11Cmax Zj Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 R(Zj) 1 rj 4 2 3 5 7 2 4 P2 Z4 Z5 Z1 P1 Z7 6 8 10 Z6 Z8 Z3 Z2 P3

Cykliczny algorytm FIFO

Struktura kolejki w algorytmie cyklicznym 1 2 3 4 6 5 7 Kierunek obsługi

Cykliczny algorytm LIFO (Last in First Out) Kolejka Stanowisko obsługi Zadania przerwane Zadania zakończone

Cykliczny algorytm SS (Selfish Scheduling)

System obsługi wg. algorytmu SS Kolejka System kolejek Stanowisko obsługi Zadania wykonane Podstawowy algorytm szeregowania Nowe zadania Zadania oczekujące Zadania wykonywane

Szeregowanie zadań cyklicznych:

Binaryzacja okresów zadań

Binaryzacja niezdominowana T1 T2 T3 T4 T5 1 7 8 14 15 21 22 28 Uszeregowanie dopuszczalne dla binaryzacji B1: [7: 1, 4]

Binaryzacje niezdominowane

Komunikacja między zadaniami

Kolejki komunikatów Kolejka zadań odbierających wysyłających Blok kontrolny kolejki Długość kolejki Rozmiar wiadomości Element

Jednokierunkowa komunikacja Kolejki komunikatów Kopia I Kopia II Bufor zadania wysyłającego Bufor zadania odbierającego Jednokierunkowa komunikacja

Semafor

Rejestry zdarzeń. Flagi zdarzeń. OR /AND 1 ZAD1 ZAD2 Ustawienie flag zdarzeń ZAD3 Użycie rejestru i flag zdarzeń

Potoki ZAD. CZYTAJĄCE PISZĄCE DANE POTOK Deskryptor

Zakleszczenie (deadlock) KOLEJKA (pusta) ZADANIE 2 (czeka na semafor) SEMAFOR ZADANIE 1 (czeka na dane, posiada semafor)

Przeterminowanie (starvation) KOLEJKA ZADANIE 2 SEMAFOR ZADANIE 1 ZADANIE 3

Inwersja priorytetów (priority inversion) ZAD1 ZAD2 NISKI WYSOKI Priorytet t1 t2 t3 t4 t5 Inwersja priorytetów

Inwersja priorytetów Inwersja priorytetów Priorytet Nieznany czas WYSOKI NISKI t3 t4 t5 t6 t1 t2 t7

Usługi jądra systemu czasu rzeczywistego

Jądro z wywłaszczaniem ZADANIE A 1 7 3 5 2 IRS 4 ZADANIE B 6 Czas wykonanie

Stany zadania

ZADANIE 1 Stos STATUS Wskaźnik stosu Priorytet TCB . . . Kontekst Pamięć CPU Rejestry CPU ZADANIE n

Przełączanie kontekstu

Cechy systemu VxWorks

Stany zadania VxWorks WYKONYWANE GOTOWE OCZEKUJĄCE WSTRZYMANE ZAWIESZONE

Mechanizmy Komunikacji między zadaniami

Współdzielona pamięć, wzajemne wykluczanie ZADANIE 1 ZADANIE 2 ZADANIE 3 Wsp_Dane PAMIĘĆ

Semafory VxWorks

Inwersja priorytetów Priorytet Zadanie A Zadanie B Zadanie C w posiadaniu semafora czas wywłaszczenie blokada oddanie semafora pobranie semafora

Dziedziczenie priorytetów Zadanie A Zadanie B czas w posiadaniu semafora wywłaszczenie blokada pobranie semafora C A B oddanie semafora dziedziczenie priorytetu Zadanie C

System RTLinuks

Systemy KURT, MERT

Cechy systemu RTLinuks

Architektura systemu RTLinux Zwykłe procesy Linuksa Funkce systemowe, POSIX Drivery Linux Zadanie czasu rzecz. Zadanie czasu rzecz. RT-Linux Scheduler we/wy Przerwania Sprzęt

Zadania RTLinuksa

Szeregowanie i komunukacja w RTLinuksie

Architektura systemu QNX MIKROJĄDRO Zadania (procesy ) systemowe Zadania (procesy) aplikacyjne Poziom zadań Poziom jądra systemu

Zadania (procesy) systemowe QNX

Funkcje mikrojądra QNX

Struktura mikrojądra QNX ZAD ZAD Mechanizmy komunikacji (IC) SCHEDULER Przekierowania przerwania (IR) Interfejs sieciowy (NI) Przerwania Zarządca sieci (NM)

Zadania (procesy) systemowe Send Receive Reply G W M Z ZReceive ZSend Diagram przejść między zadaniami

Szeregowanie, komunikacja i synchronizacja

Implementacja spotkania Wiadomości Mr M Zadanie T1 Zadanie T2 Send( T2, M, Mr ) Receive(M ) Reply(Mr) Implementacja spotkania

Depozyty (Proxy) DEPOZYT Proces Widomość

Sygnały

Automatyczne przekazanie wiadomości przez połączenie Komunikacja w sieci P VQ Send ( ) ZAD VP Q Receive ( ) Zadania wirtualne Węzeł sieci Automatyczne przekazanie wiadomości przez połączenie

QNX Neutrino Ochrona pamięci System plików Obsługa we-wy Aplikacja Podsystem graficzny Mikrojądro NEUTRINO Ochrona pamięci Procedury obsługi urządzeń Procedury obsługi sieci Procedury obsługi grafiki SPRZĘT

Zastosowanie

Standard POSIX

Standard POSIX

Sieci Petriego

Konwencje graficzne  p1 p2 p3 t2 t1

Znakowanie sieci.

Realizacja przejścia t1   p1 p2 p4 p3 p5 3 2 

Własności dynamiczne sieci

Czasowe sieci Petriego

Interpretacja miejsc i przejść

Model automatu obsługującego sprzedaż  wait 5 10 15 20

Model procesów współbieżnych  ParBegin t1 p2 ParEnd p1 p3 p4 t2 t0 t3 p0

Model protokołu z potwierdzeniem Received Receive Sender  Receiver Mess_Buff Ack_Buff Ready Wait for ack Send ack mess

Komunikacja za pomocą ograniczonego bufora producer  consumer p k p’

Synchronizowany dostęp do obszaru krytycznego   p0 t1 t3  p2 p4 t2 t4

Sieciowy model procesu cyklicznego Czasowy znakowany graf TMG (Timed Marked Graph): pP  p=1 and  p=1 pkc proces k tk i pkb tk i + 1 Operacja oki(h)  tranzycja tki T Czas wykonania operacji oki(h)   czas palenia tranzycji t = T(t)

Sieciowy model procesu cyklicznego process k .. p c s

Cykliczne procesy współbieżne process 1 process k process n

Czas cyklu Niech  będzie sekwencją wzbudzeń ={<ti; si(1), si(2),...,,si(v),...>: tiT} gdzie: si(v) - jest chwilą w której tranzycja ti inicjuje v-te palenie. Liczba C() jest czasem cyklu sieci, jeżeli istnieje sekwencja wzbudzeń   ( jest zbiorem możliwych sekwencji wzbudzeń), dla której znakowanie sieci M jest równe znakowaniu początkowemu M0 w chwilach kC(), k=1, 2, ... . C*=C(*)=min  {C()}.