Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
RTOS s aplikačním rozhraním Win32 API
Ing.Petr Štefka Ing.Ladislav Reisner dataPartner s.r.o.
2
dataPartner s.r.o. dodavatel softwarových řešení
3
Program přednášky Vývojové trendy a možnosti hardware
Zpětný vliv na software OS reálného času PharLap ETS Charakteristika ETS RTX - doplněk reálného času pro Windows Charakteristika RTX Schéma implementace RTX Klíčové technické momenty Nástroje pro vývoj aplikací Provoz a výsledky Příklady aplikací Ukázka RTX
4
Vývojové trendy a možnosti hardware
Zvyšování výkonu – dostupný 1GHz Snižování nároků na prostředí – odolnost Snižování cen – běžná dosažitelnost Unifikace, integrace – jednodeskové CPU
5
Zpětný vliv na software
Rozhraní Win32 API jako sjednocující standard na všech úrovních aplikací Vyspělé informační technologie přímo do procesu řízení –> embedded CPU Výkonné programovací techniky blíže technologii Složité výpočty Distribuované řídící prostředky Moderní vizualizace Datová úložiště
6
Zpětný vliv na software
Zabudované (embedded) aplikace Řídící jednotky Průmyslová automatizace, Medicínské aplikace, Řízení strojů Nenáročné CPU, s vysokou spolehlivostí Malé rozměry Nízká spotřeba Cenově dostupné
7
Zpětný vliv na software
Aplikace reálného času Řídící a monitorovací aplikace Průmyslová automatizace, Telekomunikace Testy a měření, Medicínské aplikace, Simulace a mnohé další Deterministické plánování a reakční časy Programový multitasking Reakční doby v nejhorším případě pod 50 µs Vysoký výkon přepínání programových vláken pod 1 µs
8
OS reálného času PharLap ETS
Pevný reálný čas Deterministický plánovač úloh 32 úrovní priority Jednoprocesní, mnohovláknový OS Má všechny podstatné rysy Win32 Vývoj aplikací v prostředí MS Visual C++
9
Charakteristika ETS Pevný reálný čas
Prioritami řízené jádro, Souběžné zpracování úloh – vlákna (threads) Deterministický plánovač Subsystémy jádra ETS TCP/IP ETS Micro Web pošta SMTP DOS kompatibilní souborový systém Zavaděče knihoven DLL Emulátor plovoucí řádové čárky Grafické uživatelské rozhraní Je optimální pro embedded aplikace Přístupové funkce na I/O porty Strukturovaná organizace výjimek Nejnovější jazykové vlastnost C++ Embedded StudioExpress Nadřazený křížový debugger v HW RTOS Režimy WaitHost / NoWaitHost Výpisy na obrazovku Hosta / Klienta Jádro RTOS využívá část API Flexibilní ladění prototyp aplikace lze přímo ladit ve Windows kompatibilita se systémy Windows Programové nástroje Embedded Studio Express Spojovací program LinkLoc Visual System Builder
10
Charakteristika ETS Síťová podpora s TCP/IP Systém souborů
WinSock 1.1 Multihoming Ethernet + protokoly PPP a SLIP MicroWeb Server Systém souborů FAT 8, 16, 32 FTP protokol Knihovny dll Sada Win32 API Multithreading Synchronizační objekty Strukturované výjimky
11
RTX – Doplněk reálného času pro Windows
Přidává do Windows subsystém reálného času Nezávislý plánovač vláken v RTSS běží před všemi přerušeními a před vykonáváním vláken Windows RTSS poskytuje vysoce-rychlostní a deterministické reakce Žádné změny v jádře, v HAL-u ani v ovladačích Doplněk HAL-u o reálný čas pro izolaci přerušení, rychlé časovače a zachycení STOP stavu jádra OS RTX podporuje volání RtWinAPI a Microsoft Visual Studio IDE
12
Charakteristika RTX Služby a aplikace Windows Aplikace s RTX
Mohou startovat v průběhu boot-u (sekundy po obrazovce loga) Při stavu Windows STOP mohou být avizovány a pokračovat dál Zajišťuje IPC mezi procesy Win32 a RTSS 128 úrovní priorit – nastavitelné časové kvantum na vlákno Pracuje s XP Power Management a PnP Podpora ACPI (Advanced Configuration Power Interface), pro multiprocesorové i standardní platformy PC Podpora multiprocesorů (vyhrazené nebo sdílené RTSS) Služby a aplikace Windows Společný uživatelský interface a síťová konektivita Levné platformy a bohatá podpora OS
13
Schéma implementace RTX
Windows XP Jádro a Ovladače zařízení Windows HAL Ovladač RTX Subsystém Win32 Proces RTX.DLL Proces Win32 s RTX a IPC RTX Real-time doplněk HAL-u IA32 PC – UP nebo MP Hardwarová platforma LPC Real-time proces 1 proces N … RTX RTSS (RtWinAPI) TCP/IP DLL Uživatel.
14
Schéma implementace RTX detaily
Thread Manager Server & Klienti LPC Synchro & Metody IPC Zpracování RtWinAPI & Správa Objektů Podpora RTX pro Win32 Memory, File IO, PnP & Interrupt, Power Manager Exception Interrupt Do fronty RTSS Hodiny, Časovače & Přerušení Fronty XP Podpora ostatních RtWinAPI Prostředí RTSS Prostředí XP Proces, Heap & Paměť
15
Klíčové technické momenty
Možné zdroje dlouhé reakční doby Hardware Dlouho trvající přístup k zařízení „busy-wait“ (zabírá procesor) Dlouho trvající obsazení sběrnice (paměťový konflikt) Power management (metody non-ACPI) BIOS-em prováděný System Management Mode (SMM) Software CLI – Zákaz přerušení, vydaný na procesorové úrovni (kritický kód) WBINVD – Cache write-back (vyrovnávání video paměti)
16
Klíčové technické momenty
Hooking Zachycené přerušení jádro-HAL nebo volání časovače Dlouhotrvající spin-locks a kritický kód Sdílení zdrojů (resource) mezi Windows a RTX Alokace paměti Inventarizace a správa sběrnic zařízení Přidělování přerušení – PnP, PCI Bus, ISA Bus Windows a RTX nemohou sdílet vektory přerušení Omezení sledu přerušení na PCI (pro více než 4 zařízení)
17
Nástroje pro vývoj aplikací
Visual Studio IDE „plug-in“ Wizard pro aplikace/ovladače RTX Standardní C/C++ kompilátor a knihovny pro exekutivu Hlavičkové soubory a knihovny pro RtWinAPI „plug-in“ Debugger RTX na zdrojové úrovni Real-time Object Viewer Real-time TimeView (trasování sekvencí) Quick Timer Latency Display Platform Evaluator
18
RTX – RTSS Object Viewer
19
RTX TimeView Nástroj na trasování událostí pro vývojáře a OEM
Události přerušení a časovače Přepínání kontextu vláken a synchronizační události Systémová volání aplikací a uživatelsky definované události Definovatelné přepínače trasování, filtry událostí Textový výstup, nebo … GUI pro vizualizaci Graf systémového časování Statistika přepínání vláken Zoom stupnice časové osy
20
Timer Latency Display
21
Provoz a výsledky Porovnání IPC Win32 a doby přepínání vláken pro Windows XP, CE 3.0 a RTX 5.1 Příklad TCP/IP – měření doby přenosu paketu datagramu, tam a zpět (“round trip”), mezi dvěma počítači 1.případ: Z Windows NT do Windows NT, s použitím standardního stack-u TCP/IP Windows NT 2.případ: Z RTX do RTX, s použitím stack-u embedded Treck TCP/IP
22
Výsledky přepínání vláken
Doby reakcí vlákna na zatíženém CPU Pentium III 800 (Min/Max v µsec) Operace Win XP CE 3.0 RTX 5.1 SetEvent (bez přepnutí) 1.04 / 5000+ 1.49 / 7.20 0.29 / 2.71 SetEvent WFSO 1.38 / 5000+ 2.46 / 10.7 0.60 / 2.96 ReleaseMutex WFSO 1.49 / 5000+ 3.51 / 10.5 0.70 / 3.26 ReleaseSemaphore WFSO 1.39 / 5000+ 3.00 / 9.40 0.61 / 3.43 Přepínání úloh „Yield“ 1.11 / 5000+ 1.32 / 8.34 0.33 / 3.37 Změna priority 1.31 / 5000+ 1.41 / 8.96 0.56 / 3.81 Reakční doba IST reakce vlákna obsluhy přerušení 4.3 / 5000+ 4.3 / 26 2.0 / 19 POZNÁMKY: 1) Maximální hodnoty zahrnují režii časovače přerušení. 2) Windows XP prioritně nepodporují vlastnictví konkurenčních mutexů vláknem. 3) Výsledky CE jsou lehce ovlivněny zátěží od GUI.
23
Výsledky TCP/IP
24
Přínos použití reálného času pro tvorbu aplikací
Řídící systémy reálného času s velkým rozlišením Systémy pokročilého řízení Velmi rychlé řídící systémy Systémy pro sběr dat v reálném čase Simulační systémy s velkým rozlišením Přesné řídící systémy Přesné detekční systémy
25
Příklady aplikací: Letecký simulátor
Požadavky na systém GUI Windows pro administraci Deterministická síťová konektivita do simulační WAN Přehled, pokud se vyskytnou simulované události Přehled nad časovými posloupnostmi prováděných úkonů Rychlý uživatelský vstup pro ovládání Řídící platforma pohonu tvarové řezačky Schopnost I/O operací v reálném čase, pro přesné ovládání stroje Řízení a síťové začlenění do infrastruktury rozhodování VP Konektivita USB pro velkou rozmanitost periferních doplňků
26
Architektura příkladů
Optimalizované řízení pohonu v reálném čase Logika řízení Simulací Deterministický síťový interface Interface ovládacích přístrojů uživatele RTX XP GUI pro Administraci Připojení do sítě Windows USB Plug-N-Play Grafické programy DirectDraw 8 XP Embedded IPC
27
Distribuovaný řídící systém DisCo®
Společné použití Win32 API Windows Embedded+RTX PharLap ETS Datový a aplikační objektový model Návrh a údržba datových modelů Studio DisCosuite Studio DisCO Embedded Konstrukční data v relační databázi Objekty generované pomocí builderů Persistentní objekty pro run-time Jedinečná identifikace objektů Typové objekty – PATERNY Data, Command, Event Builder, Manager, Scheduler,Supervisor, Observer
28
Ukázka RTX SRTM (System Response Time Measurement) Zobrazení reakčního času Ukázka reakčních dob Ukázka efektu “cache jitter”, vyvolaného GUI Kompilování a spuštění jednoduchého programu v C Ukázka kompilace, linkování a spuštění Ukázka práce s „Object Viewer“ Ukázka práce s debugger-em
29
Diskuse Cena ? Jedna licence pro školství 50%
Deset licencí pro školství 20% z komerční ceny Otázky a poznámky? Získejte zdarma zkušební verzi RTX 5.5 na Navštivte prosím pro podrobnější informace o RTX
30
Děkujeme za pozornost
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.