text: Dateisysteme für Sensorknoten mit SD-Karten-Unterstützung
  Start 2011-09-26
  In drahtlosen Sensornetzen werden verschiedenste Daten mithilfe von Sensorknoten aufgenommen, verarbeitet, gespeichert und versendet. Die Sensorknoten bestehen dabei in der Regel aus einem Mikrocontroller, einem Funktransceiver mit Antenne, diversen Sensoren, Energieversorgung und Datenspeicher. Bei der persistenten Speicherung von Daten kommen auch bei Sensorknoten immer häufiger Dateisysteme zum Einsatz.
  Der am IBR entwickelte Sensorknoten INGA verfügt (neben RAM und EEPROM) über drei Arten von Speicher: Internes Flash, onBoard Flash und einen austauschbaren Speicher in Form einer micro-SD-Karte.
  Ziel dieser Arbeit ist es, ein Dateisystem für den neuen Sensorknoten INGA zu entwerfen und zu implementieren, welches prinzipiell auf allen oben genannten Speicherarten lauffähig ist. Bei der Verwendung mit SD-Karten soll dabei sichergestellt sein, dass sich die SD-Karte auch in einem aktuellen PC lesen und beschreiben lässt, also ein Standard-Dateisystem zum Einsatz kommt. Dazu sind zunächst mögliche Dateisystem miteinander zu vergleichen, ihre Eignung für den Einsatz auf Sensorknoten zu bewerten und diese dann gegebenenfalls zu implementieren.
  Die Implementierung soll für das Sensorknoten-Betriebssystem "Contiki" erfolgen und möglichst nah am vorhandenen Contiki-Dateisystem "Coffee" gehalten sein, da dieses auch als Referenz gelten soll und im Anschluss die Leistungsfähigkeit verglichen werden soll. Im aktuellen Zustand kann das Contiki-Dateisystem "Coffee" auf den externen Speicher des INGA-Knotens jedoch noch nicht zugreifen, weswegen hier zunächst entsprechende Anpassungen vorgenommen werden müssen. Wünschenswerte wäre auch, dass das zu implementierende Dateisystem die gleichen Schnittstellen anbietet, die im Augenblick von Coffee angeboten werden, damit ein Austausch des Dateisystems möglichst transparent erfolgen kann.
  Um das Dateisystem optimal in das kooperative Multitasking von Contiki zu integrieren, sollte es Anwendungen möglich sein, die voraussichtliche Bearbeitungszeit des Dateisystems vorab zu schätzen. Dies kann beispielsweise über einen im Arbeitsspeicher gehaltenen Puffer geschehen, der dann in Phasen der Inaktivität auf den Flash gespeichert wird. Ebenso kann man aufrufenden Anwendungen eine Schnittstelle anbieten, mit denen sie selbst den Zeitbedarf für bestimmte Operationen abfragen können. Weiterhin ist es auch denkbar, dass das Dateisystem regelmäßig relativ kurze Zeitschlitze zugeteilt bekommt und diese dann entsprechend effektiv nutzt. In dieser Arbeit sind verschiedene Konzepte vorzustellen und anschließend mindestens eines zu implementieren sowie zu evaluieren.
  In einer abschließenden Evaluation sind Möglichkeiten und Grenzen sowie die Leistungsfähigkeit der implementierten Lösungen im Vergleich miteinander, zu Coffee und zu einem Ring-File-System aufzuzeigen.