<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=TinyOS</id>
	<title>TinyOS - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=TinyOS"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=TinyOS&amp;action=history"/>
	<updated>2026-05-25T16:49:22Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=TinyOS&amp;diff=375858&amp;oldid=prev</id>
		<title>imported&gt;Rosenfalter: /* growthexperiments-addlink-summary-summary:3|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=TinyOS&amp;diff=375858&amp;oldid=prev"/>
		<updated>2024-12-03T18:51:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:3|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege fehlen|}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TinyOS&amp;#039;&amp;#039;&amp;#039; ist ein [[Open-Source]]-[[Betriebssystem]] für drahtlose [[Sensornetz]]e, dessen Großteil unter der [[BSD-Lizenz]] steht.&lt;br /&gt;
&lt;br /&gt;
== Entwicklung ==&lt;br /&gt;
TinyOS wurde an der [[University of California, Berkeley|Universität Berkeley]] (Kalifornien, USA) von David Culler entwickelt und später vor allem durch die Open-Source Community weiterentwickelt. Mittlerweile wurde eine Allianz, ähnlich der [[ZigBee]]-Alliance, gebildet, der Privatpersonen, Organisationen und Unternehmen aus Forschung, dem Dienstleistungssektor und der Industrie angehören. TinyOS hat eine große Verbreitung in der Forschungsgemeinde.&lt;br /&gt;
&lt;br /&gt;
== Versionen und Komponenten ==&lt;br /&gt;
Mittlerweile existiert es in zwei stabilen Versionen, TinyOS 1.1.15 und TinyOS 2.0.1, wobei Version 2.x komplett überarbeitet wurde und Nachteile des Vorgängers eliminiert hat. Diese Versionen sind zueinander nicht kompatibel, d.&amp;amp;nbsp;h. bestehende Anwendungen müssen überarbeitet werden.&lt;br /&gt;
&lt;br /&gt;
TinyOS bietet von Haus aus neben einbindbaren Komponenten (Kommunikation über UISP, [[Timer]], [[Scheduler]] etc.) und den bereitgestellten [[nesC]]-Compiler/-Linker einen Hardware- und Netzwerksimulator (TOSSIM), Hilfsmittel zur Sourcecode-Dokumentation und -Visualisierung ([[Graphviz]]), sowie Beispielapplikationen in [[Java (Programmiersprache)|Java]] wie etwa „SerialForwarder“ oder das Programm „Surge“ zur Netzwerkverbindungsanalyse.&lt;br /&gt;
&lt;br /&gt;
== Technik ==&lt;br /&gt;
TinyOS nutzt eine komponentenbasierte Architektur (&amp;#039;&amp;#039;component-based architecture&amp;#039;&amp;#039;) und ein ereignisbasiertes Ausführungsmodell (&amp;#039;&amp;#039;event-driven concurrency model&amp;#039;&amp;#039;). Gleichzeitig stellt es auch eine Entwicklungsumgebung und Programmierplattform speziell für Hardwaresysteme mit knappen Ressourcen in Bezug auf Speicher, [[Rechenleistung]] und Energieverwendung dar, welche autonom und sicher über Zeiträume von Monaten oder Jahren zuverlässig funktionieren müssen.&lt;br /&gt;
&lt;br /&gt;
Die „Philosophie“ des Betriebssystems ist es, die anstehenden Arbeiten so schnell wie möglich abzuarbeiten, um danach die Hardware in den Schlafmodus zu schicken. Die Umsetzung dieses Konzepts erreicht TinyOS durch eine ereignisgesteuerte Ausführung der in Komponenten (Components) gegliederten Programmteile, die über zweiphasige Operationen aufgerufen werden und somit keinen zusätzlichen Stack für das Zwischenspeichern benötigen.&lt;br /&gt;
&lt;br /&gt;
Ursprünglich wurde TinyOS in der [[Programmiersprache]] [[C (Programmiersprache)|C]] geschrieben. Doch das besondere Anwendungsgebiet machte es notwendig, ein neues Programmierkonzept zu entwerfen, welches das Betriebssystem optimal unterstützen konnte. Zu diesem Zweck wurde die Programmiersprache [[nesC]] geschaffen,&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.enterprisenetworkingplanet.com/os/iot-operating-systems/ |titel=Top IoT Operating Systems |datum=2022-11-18 |sprache=en-US |abruf=2022-11-24}}&amp;lt;/ref&amp;gt; welche wiederum so maßgeschneidert für die Programmierung von Sensorknoten entwickelt worden ist, dass TinyOS nochmals überarbeitet und komplett in nesC reimplementiert wurde. Somit wird die besondere Betriebssystem-Architektur optimal unterstützt.&lt;br /&gt;
&lt;br /&gt;
Für die Anwendungsentwicklung werden einzelne Komponenten (Components) für das jeweilige Anwendungsgebiet der Sensorknoten miteinander verknüpft und bilden somit im Endeffekt eine komplette Applikation, die über die UISP-Schnittstelle oder mittels [[Over-the-Air-Update|Over-the-air-programming]] (OTAP) auf die Zielhardware aufgespielt wird. Elementare Components kapseln Hardwarekomponenten wie etwa die [[Funkschnittstelle]] oder den Timer und bilden somit in einem hierarchischen [[Komponentenmodell]] die unterste Ebene, die als [[Hardware Abstraction Layer]] (HAL) bezeichnet wird. In TinyOS bzw. nesC gibt es zwei Arten von Components: &amp;#039;&amp;#039;&amp;#039;Modules&amp;#039;&amp;#039;&amp;#039; implementieren die einzelnen Funktionen der [[Schnittstelle]]n (zwischen den Components) und &amp;#039;&amp;#039;&amp;#039;Configurations&amp;#039;&amp;#039;&amp;#039; beschreiben mit Hilfe der Schnittstellen wie die einzelnen Components miteinander verbunden sind.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://github.com/tinyos/tinyos-main TinyOS auf GitHub] (engl.)&lt;br /&gt;
* [https://www.fierceelectronics.com/iot-wireless/tinyos-operating-system-design-for-wireless-sensor-networks TinyOS-Artikel aus dem Magazin „sensors“] (englisch)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freies Betriebssystem]]&lt;br /&gt;
[[Kategorie:Sensorik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Rosenfalter</name></author>
	</entry>
</feed>