Bezdrátové senzorické sítě Operační systémy a vývojové prostředky Ing. David Široký Katedra informatiky a výpočetní techniky Fakulta aplikovaných věd Západočeská univerzita v Plzni
Úlohy operačního systému K čemu je potřeba operační systém? urychlení vývoje základní stavební kameny abstrakce
Operační systémy pro WSN I s malým kašpárkem lze... absence uživatelského rozhraní paměť – RAM, flash energetická úspora ovladače zařízení síťování dynamický kód správa procesů
Dynamický kód vzdálené programování aktualizace opravy programových chyb
Správa procesů běh více procesů najednou řízení událostmi vlákna nepreemptivní preemptivní priority hybridní řešení
Přehled existujících OS desítky vyvinutých systémů OS pro MCU/WSN jazyk primárně C virtuální stroje – Java, Python...
TinyOS navržený pro WSN programovací jazyk nesC detekce souběhu a programování komponent statický kód aplikace je zkompilována současně s OS řízení událostí, absence vláken
TinyOS jednoduché multi-hop směrování absence ovladačů zařízení přímý přístup k zařízení ~ 200 B RAM TOSThreads preemptivní jádro běží v jediném vlákně s vysokou prioritou uživatelská vlákna běží pouze při nečinnosti vlákna
Contiky vyvinutý obecně pro MCU ovladače zařízení, vzdálené programování preemptivní multitasking hybridní model správy procesů jádro – 1 vlákno, řízení událostí (TCP|UDP)/IP, IPv6 GUI, VNC jednotky kB flash, stovky B RAM
Contiky
Mantis OS vyvinut pro WSN s ohledem na úsporu energie preemptivní multitasking podmnožina POSIXových vláken vzdálené programování ovladače zařízení COMM – rádio, sériové rozhraní – asynchronní DEV – např. čtení dat ze senzoru – synchronní ~ 500 B RAM, 14 kB flash
NanoRK preemptivní multitasking RK – resource kernel časování a plánování procesů fixní priority procesy se nemůžou ”předbíhat” snadné hospodaření s energií multi-hop síťování ovladače zařízení
Virtuální stroje Java SUN Spot, Squawk 512 kB RAM, 4 MB flash SNAPpy Python 40 kB flash Microsoft.NET Micro
Vývojové prostředky kompilace ladění CLI, IDE programátory simulátory
GCC a jeho přátelé gcc-avr MSP430 tools SDCC C, C++ CLI, žádné GUI nezahrnují programátor MCU
Integrovaná vývojová prostředí převážně (zcela) na platformě MS Windows AVR Studio AVR Wireless a Battery Studio IAR Embedded Workbench Code Composer Studio
Závěrem volba operačního systému podpora ne-Windowsových platforem budoucí vývoj simulátory bezpečnost, efektivita síťování