Nut/OS ist ein modulares, Open Source Echtzeit-Betriebssystem für Embedded Systeme. Es ist leicht konfigurierbar und optimiert für 8 und 32 bit Mikroprozessoren.
NUT/OS
Durch die modulare Architektur des Betriebssystem werden nur die Teile eingebunden, die von der Anwendung tatsächlich benötigt werden. Die Anpassung an das Zielsystem erfolgt in der Regel automatisch. Zur Feinabstimmung steht mit dem Nut/OS Konfigurator eine graphische Oberfläche unter Linux, Windows und OS X zur Verfügung.
Nut/OS Multithreading ist sicher und einfach anzuwenden. Sein kooperatives Threading garantiert, dass ein Thread die Kontrolle nur an eindeutig definierten Punkten abgibt. In den meisten Fällen kann ohne zusätzliche Absicherung auf gemeinsam genutzte Resourcen zugegriffen werden. Daraus ergibt sich kleiner und einfacher Code für die Anwendung, sowie ein geringes Risiko von Race Conditions und Deadlocks. Deterministische Interrupt Latenzzeiten bieten hartes Echtzeitverhalten innerhalb festgelegter Zeitgrenzen, unabhängig von aktuell verfügbaren Resourcen.
Dem Entwickler steht eine umfangreiche Bibliothek an C Funktionen zur Verfügung, die die Laufzeitbibliothek des Compilers ergänzt. Durch weitestgehende Posix-Kompatibilität wird das Erlernen vieler neuer Spezialaufrufe vermieden. Unter anderem erfolgt der Zugriff auf Dateien, TCP Sockets oder die wichtigsten Hardware-Schnittstellen über stdio Streams.
Eigenschaften
OS Kern
- Geringer Speicherbedarf
- Prioritäts-basiertes, kooperatives Multithreading
- Deterministische Interrupt Reaktionszeit
- Skalierbar für Low Power bis zu High Performance Systemen
- Dynamische Speicherverwaltung mit minimaler Fragmentierung
- Skript-gesteuerte GUI Anwendung für einfache Konfiguration
Netzwerk-Unterstützung
- TCP/IP Stack für problemlose Verbindungen im Intranet und Internet
- ARP, IP, UDP, ICMP, TCP über Ethernet und PPP
- Automatische Konfiguration per DHCP
- Host-, Net- und Default-Routing
- HTTP Bibliothek mit Dateizugriff und CGI Funktionen
- High-Level Protokolle inklusive SNTP, DNS, Syslog und FTP
Laufzeitbibliothek
- Posix-ähnliche C Standard API für portable Anwendungen
- C stdio Streams anwendbar auf Devices, Dateien und TCP Sockets
- Mehrere Dateisysteme verfügbar
- High-Level Interface für Audiostreaming
- Plattform-unabhängige Funktionen für SPI, I2C, CAN, GPIO usw.
- Optionale Erweiterungen zur Fehlersuche
- Unterstützung für ICCAVR unter Windows und GNU C/C++ unter Linux, Windows und OS X
Weitere Informationen auf der Homepage des Ethernut Projekts.
