08.12.2012 Aufrufe

Rotationsauflösende Laserspektroskopie - CFEL at DESY

Rotationsauflösende Laserspektroskopie - CFEL at DESY

Rotationsauflösende Laserspektroskopie - CFEL at DESY

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

84 11. Die entwickelte Software zur D<strong>at</strong>enerfassung<br />

im technisch-n<strong>at</strong>urwissenschaftlichen Bereich h<strong>at</strong>. Zudem war es zum Zeitpunkt<br />

der Entscheidung das deutlich ausgereiftere Produkt (und ist es wohl<br />

noch immer). Zunächst wurde das System auf Real-Time Linux Version 0.5<br />

aus der Arbeitsgruppe Yodaiken [12–14, 251, 252] entwickelt. Später wurde<br />

das System auf die Variante RTAI der Arbeitsgruppe Mantegazza [22] übertragen,<br />

da diese für unser Projekt besser optimierte Zeitscheibenalgorithmen<br />

verwendet und vielseitigere Funktionen zum Prozessstart und der Interprozesskommunik<strong>at</strong>ion<br />

bietet. Zur Zeit arbeitet das System mit RTAI in der Version<br />

1.3 auf einem Linux-Kern in der Version 2.2.14.<br />

Neben den Echtzeitprozessen steht bei diesem System ein normales Linuxsystem<br />

als Prozess niedrigster Priorität zur Verfügung. Somit können die<br />

vielfältigen Programme und Entwicklungswerkzeuge, die für dieses System<br />

vorhanden sind, verwendet werden. Auch die grafische Benutzeroberfläche<br />

der D<strong>at</strong>enerfassungssoftware läuft als normaler Linuxprozess vide infra.<br />

Aufgrund der freien Verfügbarkeit und der aktiven Weiterentwicklung<br />

in den Arbeitsgruppen Yodaiken und Mantegazza sowie weltweit über das<br />

Internet ist das Betriebssystem auch gut und und in aller Breite getestet.<br />

Eventuell dennoch auftretende Fehler werden durch die Entwicklergemeinde<br />

schnell behoben. 1<br />

11.1.1 LEISTUNGSMERKMALE<br />

In der eingesetzten RTAI-Version wird ein Round-Robin Zeitscheibenalgorithmus<br />

eingesetzt, 2 zusätzlich werden Implementierungsmöglichkeiten für<br />

Unterbrechungsbehandlungsroutinen zur Verfügung gestellt. Zur Kommunik<strong>at</strong>ion<br />

zwischen Betriebssystemkern und Anwendungsprozessen können<br />

Queues und shared memory eingesetzt werden. Für dieses Projekt kann jede<br />

Variante des Kerns eingesetzt werden, die einen Scheduler für periodische<br />

und unterbrechungsbedingte Echtzeitprozesse sowie Queues zur Verfügung<br />

stellt. Zu Beachten ist insbesondere die Granularität und Präzision<br />

der Zeitscheibenverteilung für das Modul rt_hidaq sowie die effiziente Um-<br />

1 Im allgemeinen reicht eine Anfrage in den Email-Listen und innerhalb weniger Stunden oder Tage<br />

ist eine Lösung des Problems gefunden.<br />

2 Der verwendete Algorithmus verwaltet eine Liste aller Echtzeittasks, in der st<strong>at</strong>ische Prioritäten<br />

der einzelnen Prozesse sowie ihr St<strong>at</strong>us („bereit“, „wartend“, „laufend“, „angehalten“, usw.)<br />

verwaltet werden. Bei jedem Aufruf der Verteilungsfunktion (rt_schedule) werden – vereinfacht<br />

dargestellt – alle laufbereiten Prozesse gesucht und derjenige dieser Prozesse, der am längsten<br />

nicht mehr gelaufen ist, gestartet. Zum genaueren Verständnis dieses Algorithmus sollte der<br />

Sourcecode herangezogen werden.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!