Systemy czasu rzeczywistego Systemy operacyjne czasu rzeczywistego

Podobne dokumenty
Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Układy reprogramowalne i SoC Implementacja w układach FPGA

Systemy Czasu Rzeczywistego (SCR)

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

Systemy Czasu Rzeczywistego (SCR)

Architektura komputerów Wprowadzenie do algorytmów

Systemy czasu rzeczywistego wstęp

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

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

Systemy wbudowane. Paweł Pełczyński

Czujniki obiektowe Sterowniki przemysłowe

Podstawowe zagadnienia

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Studia podyplomowe realizowane w ramach zadania 5 Systemy mobilne i techniki multimedialne

Zaawansowane programowanie w języku C++ Wyjątki

Układy reprogramowalne i SoC Język VHDL (część 4)

Układy czasowo-licznikowe w systemach 80x86

WPROWADZENIE Mikrosterownik mikrokontrolery

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Zaawansowane programowanie w języku C++ Przeciążanie operatorów

Mikrosystemy Wprowadzenie. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt.

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Technika Mikroprocesorowa

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

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

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

Podstawy Techniki Komputerowej. Temat: BIOS

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

Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android

Medical electronics part 9a Electroencephalography (EEG)

Systemy czasu rzeczywistego wstęp

Budowa systemów komputerowych

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce

oznaczenie sprawy: CRZP/231/009/D/17, ZP/66/WETI/17 Załącznik nr 6 I-III do SIWZ Szczegółowy opis przedmiotu zamówienia dla części I-III

dr inż. Małgorzata Langer Architektura komputerów

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Systemy na Chipie. Robert Czerwiński

Pełna oferta produktów do synchronizacji czasu w systemach i sieciach komputerowych

Embedded Solutions Automaticon Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Wprowadzenie do systemów operacyjnych

Łukasz Januszkiewicz Technika antenowa

Architektura komputerów

V Seminarium Naukowe Tomografia procesowa aplikacje, systemy pomiarowe i algorytmy numeryczne - relacja

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Szczegółowy Opis Przedmiotu Zamówienia: Zestaw do badania cyfrowych układów logicznych

Zaawansowane programowanie w języku C++ Programowanie obiektowe

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

1. Zasilacz awaryjny UPS typu RACK do podtrzymania zasilania urządzeń serwerowych 1 sztuka. 15 min. 5 min

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Urządzenia wejścia-wyjścia

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

Zarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera. Katarzyna Wyszomierska

Obudowa na moduły Blade 1 szt. Chassis o parametrach: Typ obudowy: Dedykowana do instalacji w szafie rack 19

System czasu rzeczywistego

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Architektura komputerów Historia systemów liczących

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

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

Prezentacja systemu RTLinux

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Łukasz Januszkiewicz Technika antenowa

CZĘŚĆ XV. Serwer stelażowy węzeł klastra obliczeniowego

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

1. Wprowadzenie Opis sytuacyjny Specyfikacja techniczna... 3

Układy czasowo-licznikowe w systemach mikroprocesorowych

AUTOREFERAT. Załącznik nr 3. Łódź, dn

Technika mikroprocesorowa

Podstawa rozwiązań sterowania przemysłowego na komputerach PC. Software Controller. siemens.pl/software-controller

Specyfikacja Techniczna Opis przedmiotu zamówienia

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

System komputerowy. System komputerowy

Laboratorium Komputerowe Systemy Pomiarowe

PRZEWODNIK PO PRZEDMIOCIE

Metody optymalizacji soft-procesorów NIOS

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

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

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

1. Architektura wydruków w Poczcie Polskiej

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

1 Serwer - 1 sztuka Nazwa producenta / Model : /

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA CZĘŚĆ I

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Budowa Mikrokomputera

Zgrana para - NerO i CleO

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

Autor: Jakub Duba. Interjesy

PUKP Programowanie urządzeń kontrolno-pomiarowych. ztc.wel.wat.edu.pl

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Zaawansowane programowanie w języku C++ Klasy w C++

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Zagadnienia egzaminacyjne ELEKTRONIKA I TELEKOMUNIKACJA studia rozpoczynające się przed r.

1. Serwer rack typ 1 Liczba sztuk: 2

LEKCJA TEMAT: Zasada działania komputera.

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Innowacje w standardzie

1. Szeregowanie w systemach czasu rzeczywistego

"System CC1 jak zbudować prywatną chmurę obliczeniową w jedno popołudnie. M. Witek, M. Zdybał w imieniu CC1

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

Transkrypt:

Systemy czasu rzeczywistego Systemy operacyjne czasu rzeczywistego Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Prezentacja dystrybuowana jest bezpłatnie Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 www.kapitalludzki.p.lodz.pl w ramach Europejskiego Funduszu Społecznego

Systemy czasu rzeczywistego Systemy operacyjne czasu rzeczywistego Real-time operating systems 2

Systemy czasu rzeczywistego 3 System czasu rzeczywistego Systemem czasu rzeczywistego (ang. real-time system) nazywamy system, który musi wykonać określone zadania w ściśle określonym czasie. Poprawność pracy systemu czasu rzeczywistego zależy zarówno od wygenerowanych sygnałów wyjściowych, jak i spełnionych zależności czasowych System, który nie spełnia jednego lub większej liczby wymagań określonych w specyfikacji nazywany jest systemem niesprawnym

Systemy czasu rzeczywistego System czasu rzeczywistego 1. Jak szybki musi być układ przetwarzający dane? 2. Ile sygnałów można przetwarzać jednocześnie? 3. Obsługa sytuacji wyjątkowych? Przykładowe systemy sterujące: System realizujący internetową sprzedaż biletów lotniczych? System kontrolujący trajektorię lotu samolotu pasażerskiego? System sterujący reaktorem jądrowym? System sterujący rakieta ziemia-powietrze? System władzy sądowniczej? Które z nich są systemami czasu rzeczywistego? 4

Systemy czasu rzeczywistego 5 System mikroprocesorowy Sygnały wejściowe Sygnały wyjściowe Sygnały wizyjny Sygnały z kamery cyfrowej Czujnik 1 Sygnał sterujący 1 Czujnik 2 Sygnał sterujący 2 System komputerowy Sygnał sterujący m Czujnik n

Systemy czasu rzeczywistego 6 System sterujący Obiekt sterowany Sygnały wyjściowe Sygnały wejściowe System sterujący ADC Procesor DAC

Systemy czasu rzeczywistego System operacyjny czasu rzeczywistego Systemem czasu rzeczywistego określa się taki system, którego wynik przetwarzania zależy nie tylko od jego logicznej poprawności, ale również od czasu, w jakim został osiągnięty System czasu rzeczywistego odpowiada w sposób przewidywalny na bodźce zewnętrzne napływające w sposób nieprzewidywalny Poprawność pracy systemu czasu rzeczywistego zależy zarówno od wygenerowanych sygnałów wyjściowych jak i spełnionych zależności czasowych Z pojęciem czasu rzeczywistego wiąże się wiele nadużyć. Terminu tego używa się potocznie dla określenia obliczeń wykonywanych bardzo szybko, co nie zawsze jest prawdą. 7

Systemy czasu rzeczywistego 8 System czasu rzeczywistego Czas reakcji systemu przedział czasu potrzebny systemowi operacyjnemu na wypracowanie decyzji (sygnału wyjściowego) w odpowiedzi na zewnętrzny bodziec (sygnał wejściowy) Czas reakcji systemu może wahać się w granicach od ułamków sekund (np.: system akwizycji danych z kamery) do kilkudziesięciu godzin (np.: system sterowania poziomem wody w zbiorniku retencyjnym) Charakterystyka różnych zadań aplikacji musi być znana a priori Systemy czasu rzeczywistego, w szczególności systemy dynamiczne, muszą być szybkie, przewidywalne, niezawodne i adoptowalne

Systemy czasu rzeczywistego Podział systemów czasu rzeczywistego Systemy o ostrych ograniczeniach czasowych (ang. hard real-time) przekroczenie terminu powoduje katastrofalne skutki (zagrożenie życia lub zdrowia ludzi, uszkodzenie lub zniszczenie urządzenia). Nie jest istotna wielkość przekroczenia terminu, a jedynie sam fakt jego przekroczenia Systemy o miękkich lub łagodnych ograniczeniach czasowych (ang. soft real-time) przekroczenie terminu powoduje negatywne skutki. Skutki są tym poważniejsze, im bardziej termin został przekroczony Systemy o mocnych ograniczeniach czasowych (ang. firm real-time) fakt przekroczenia terminu powoduje całkowitą nieprzydatność wypracowanego przez system wyniku. Fakt niespełnienia wymagań czasowych nie stanowi jednak zagrożenia dla ludzi lub urządzenia (bazy danych czasu rzeczywistego) 9

Funkcja zysku Funkcja zysku U określa procentowe wykorzystanie procesora podczas realizacji zadań w danym systemie mikroprocesorowym. Funkcja zysku [%] 0-25 26-50 51-69 Stan pracy systemu Typowe zastosowanie Różne Różne Różne Systemu wbudowane 83-99 System źle zaprojektowany Bardzo bezpieczny Bezpieczny Teoretyczna granica bezpieczeństwa systemu Stan dyskusyjny Niebezpieczne zachowanie systemu 100 System przeciążony Systemy narażone na przeciążenia 69 70-82 Systemu wbudowane Systemu wbudowane

Czas reakcji systemu Czas reakcji systemu czasu rzeczywistego jest silnie uzależniony od użytego mechanizmu szeregowania zadań (wywłaszczanie, wykonywanie zadań z podziałem czasu). Instrukcje warunkowe if-then mają znaczący wpływają na czas realizacji zadań przez system. Każda niesekwencyjna zmiana licznika sterującego wykonaniem programu komputerowego (ang. program counter) uważana jest za zdarzenie i ma wpływ na czas wykonania zadania.

Systemy wbudowane Deterministyczne algorytmy szeregowania zadań W systemach operacyjnych czasu rzeczywistego (stosowanych m. in. w automatyce) najważniejszym zadaniem algorytmu szeregowania jest zapewnienie, by wykonanie danego procesu zakończyło się przed upływem zdefiniowanych dla niego ograniczeń czasowych. Opracowano w tym celu deterministyczne algorytmy szeregowania, takie jak: Cooperative scheduling Round-robin scheduling, Preemptive scheduling Fixed priority pre-emptive scheduling, an implementation of preemptive time slicing, Fixed-Priority Scheduling with Deferred Preemption, Fixed-Priority Non-preemptive Scheduling, Critical section preemptive scheduling, Static time scheduling, Earliest Deadline First approach, Advanced scheduling using the stochastic and MTG. Katedra Mikroelektroniki i Technik Informatycznych DMCS 12

Zdarzenia synchroniczne i asynchroniczne Synchroniczne Zdarzenia okresowe Zdarzenia nieokresowe Zdarzenia sporadyczne Funkcje wykonywane okresowo Instrukcje skoków Instrukcje skoków (obsługa wyjątków) Procesy zależne od wewnętrznego zegara Przerwania generowane Asynchroniczne przez zewnętrzny timer Pułapki Przerwania generowane Zewnętrznie generowane przez urządzenia wyjątki peryferyjne Zdarzenia losowe

Systemy wbudowane Przerwania w systemach czasu rzeczywistego Katedra Mikroelektroniki i Technik Informatycznych DMCS 14

Systemy czasu rzeczywistego 15 Porównanie czasu obsługi przerwań oraz przełączenia kontekstu MVME5500 Interrupt latency (usec) Context Switching(usec) Maximum (Average) Maximum (Average) Idle System RTEMS 5.04 (3.45) 6.80 (0.96) VxWorks 6.10 (1.58) 9.65 (0.91) RTEMS 8.17 (3.74) 17.48 (1.69) VxWorks 13.90 (1.68) 20.80 (1.90) Loaded System

Systemy czasu rzeczywistego 16 RTEMS - Podsumowanie W przypadku pracy bez obciążenia zarówno RTEMS jak i VxWorks wykazują podobne opóźnienia czasowe W przypadku pracy z obciążeniem RTEMS wykazuje niewiele większą stabilność opóźnień niż system WxVorks Jeżeli chodzi o wydajność i stabilność RTEMS jest systemem porównywalnym do komercyjnych systemów czasu rzeczywistego RTEMS jest systemem elastycznym, niezawodnym oraz odpowiednim nawet do zastosowań o ostrych wymaganiach czasowych RTEMS jest nieustannie rozwijany co potwierdza stale zwiększająca się lista obsługiwanych procesorów RTEMS nie jest tak popularnym systemem jak Linux, jednakże gwarantuje wysoką wydajność i stałość opóźnień czasowych nawet w przypadku bardzo obciążonego systemu. Tego typu parametry są mniej przewidywalne w przypadku systemu Linux Dostęp do implementacji RTEMS dla danej platformy sprzętowej jest gwarantowany nawet jeżeli nie jest ona wspierana w kolejnych wersjach systemu

Systemy czasu rzeczywistego Dlaczego Linux nie jest systemem czasu rzeczywistego Zastosowany algorytm szeregowania z podziałem czasu Niska rozdzielczość zegara systemowego Nie wywłaszczalne jądro (nie dotyczy wersji > 2.6) Wyłączanie obsługi przerwań w sekcjach krytycznych Zastosowanie pamięci wirtualnej Optymalizacja wykorzystania zasobów sprzętowych 17

Przykłady mikroprocesorowych systemów czasu rzeczywistego

Laser na swobodnych elektronach FLASH

Tunnel akceleratora FLASH DESY, Hamburg

Laser na swobodnych elektronach FLASH

Wnęka przyspieszająca e -

System sterujący akceleratorem FLASH (1)

System sterujący akceleratorem FLASH (2)

System sterujący akceleratorem FLASH (3)

Natężenie pola elektrycznego

Wpływ siły Lorenza na pole elektryczne

System sterujący procesor DSP

System sterujący - FPGA PSI board SimCon 3.1L SPARC CPU-56

System sterujący akceleratorem FLASH

Standardy wykorzystywane do budowy rozproszonych systemów czasu rzeczywistego

Standard ATCA Advanced Telecommunications Computing Architecture (ATCA, AdvancedTCA) jest jednym z największych standardów opracowanych przez organizację PICMG (twórca standardu PCI/PCIe) służącym do budowy złożonych systemów telekomunikacyjnych. Standard określa specyfikację pozwalająca na budowę systemów modularnych składających się z kasety ATCA (utca) oraz płyt elektronicznych lub modułów AMC (Advanced Mezzanine Card) Płyty elektroniczne umieszczone w kasecie mogą się komunikować przy pomocy kilku różnych interfejsów szeregowych: PCIe, Gb Etherent, RapidIO, StarFabric, InfiniBand.

Standard utca Standard utca umożliwia budowanie prostszych systemów złożonych z modułów AMC umieszczonych w miniaturowej kasecie utca. Moduły AMC mogą być również umieszczone na płycie nośnej ATCA o rozmiarach 280 mm x 322 mm (zgodność standardu ATCA z utca). Dostępne interfejsy w standardzie AMC: AMC.1 PCI Express (and PCI Express Advanced Switching), AMC.2 Gigabit Ethernet and XAUI, AMC.3 Storage, AMC.4 Serial RapidIO. Kaseta utca firmy NAT

Prototypowe moduły AMC

System IPMI Inteligent Platform Management Interface standard umożliwiający zarządzanie zasobami złożonych systemów komputerowych (serwery, klastry komputerów). Standard IPMI jest wykorzystywany do zarządzania urządzeniami umieszczonymi w kasecie ATCA. Za monitorowanie i obsługę podsystemów ATCA odpowiedzialny jest układ określany mianem Shelf Manager. Shelf Manager: Realizuje funkcjonalność hot-swap, Umożliwia kontrolę kompatybilności interfejsów (ang. elektronic keying), Monitoruje napięcia zasilające, temperaturę w systemie, Steruje wiatrakami w zależności od obciążenia systemu i temperatury komponentów, Udostępnia historię zdarzeń w systemie, Umożliwia zdalne zarządzanie urządzeniami i kasetą ATCA/uTCA (np. włączenie/wyłączenie urządzenia, restart, podgląd aktywnych interfejsów, itd...)

Standard xtca (ATCA, utca, nanotca) PICMG 3.0 Advanced Telecommunications Computer Architecture PICMG AMC.0 Advanced Mezzanine Card

Standard xtca IRTM ATCA 3.0 CR Exists 3.1 R2 High Speed Ethernet AdvancedTCA Extensions Approved! utca.1 Air Cooled Rugged utca.0 CR Exists utca.3 Conduction Cooled xtca Physics Physics xtca I/O, Timing & Synchronization Physics xtca Software Architectures & Protocols Active Pre-SOW

Komercyjne systemy LLRF zbudowane w oparciu o xtca

Dlaczego ATCA? Wiele laboratoriów zajmujących się fizyką wysokich energii prowadzi badania nad systemami sterującymi LLRF Przyszłe systemy sterujące LLRF akceleratorami będą wymagały ponad 100 szybkich (>100 MHz) kanałów ADC przetwarzanych w czasie rzeczywistym (poniżej kilkuset ns). Standardy xtca dostarczają możliwość budowy systemów modularnych, skalowalnych Cenne właściwości systemów ATCA takie, jak: hot-plug, system IPMI monitorowania i zarządzania zasilaniem (Intelligent Platform Management System)

System LLRF zbudowany w oparciu o ATCA x3 Probes, Pfor, Pref DWC x24 x8 IF signals ADC RF signals Probes, Pfor, Pref Local preprocessing LO Optical communication Timing module Low Level Applications VM DAC RF Drive Signal MO

System sterujący pojedynczym kry-modułem (1)

System sterujący pojedynczym kry-modułem (2)

Oprogramowanie systemu LLRF

Prototypowa płyta sterująca systemem LLRF Stacked 1-wide AMC ADC s & IO AMC s, connectors 1.3 GHz RF Inputs Down-converters To 25 MHz IF 105 MHz 14 bit 8 Ch COTS ADC s RTM

Sygnały i interfejsy w systemie LLRF

System IPMI na płycie systemu LLRF Management of ATCA carrier board, Management of AMC modules, Monitoring of ATCA health (diagnostics), E-Keying for PCIe, Gb Ethernet and user defined Low Latency Connection, Monitoring of temperature, power supply, clocks, etc... IPMC ATMEGA 1281 microcontroller with dedicated management hardware

System sterujący pojedynczym kry-modułem (3)

System LLRF podczas testów w ośrodku DESY ATCA CPU Blade ATCA Carrier Board ADC (AMC board) Timing Module Vector Modulator

Kaseta ATCA z systemem sterującym 24 wnękami przyspieszającymi

Charakterystyki natężenia pola przyspieszającego

Systemy czasu rzeczywistego Systemy czasu rzeczywistego Wprowadzenie do przedmiotu Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Prezentacja dystrybuowana jest bezpłatnie Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 www.kapitalludzki.p.lodz.pl w ramach Europejskiego Funduszu Społecznego 51