LinuxTag 2002 Konferenz-CD-ROM  
[Hauptseite][Vortr臠e][Bcher][History][Software][Sponsoren] [Abspann]

Grußwort von Dr. Müller
Die Vorträge

Realtime Linux in der Sub-Nano Forschung: Das Echtzeit-Mess-System Elisabet
von Oliver Khlert
Uni. Marburg/MPI-K Heidelberg

Oliver Khlert, geb. am 1.1.1972, hat w臧rend des Studiums der Physik in Marburg an Treibern und Diagnoseprogrammen fr verschiedene Firmen gearbeitet. Zun臘hst fr Windows NT, sp舩er Linux. Momentan ist er Doktorand der Philipps-Universit舩 Marburg und verantwortlich fr die Programmierung des Echtzeit-Teils des Mess-Systems ELISABET am MPI fr Kernphysik in Heidelberg.

Die Arbeitsgruppe Oberfl臘henphysik der Universit舩 Marburg untersucht in Zusammenarbeit mit dem Max-Planck Institut fr Kernphysik in Heidelberg die Oberfl臘hen von Festkpern. Deren Verhalten weicht stark von den Eigenschaften im Inneren eines Kristalls ab. Im Mittelpunkt des Interesses stehen dabei Halbleiter und Metalle. Dabei zeigt es sich, dass das Aufbringen geringer Mengen von Fremdatomen zur Strukturbildung im atomaren Bereich fhrt, teilweise mit selbstorganisatorischem Charakter. Diese Strukturen h舅gen z.B. nicht nur stark von der statischen Temperatur sondern auch von deren Dynamik ab.

Deshalb ist es von gro゚em Interesse, derartige Parameter in Echtzeit mit hoher Pr艘ision steuern zu knen. Auch muss die Messwertaufnahme zu genau definierten Zeitpunkten in zur Temperatursteuerung parallelen threads erfolgen. Zugriffe auf die Hardware (in diesem Fall einem CAMAC-Controller) mssen voreinander geschtzt werden.

Der Inhalt des Vortrages besteht aus einer kleinen Einfhrung in die Kernel-Modulprogrammierung und wie durch deren Laden (insmod, modprobe) dem Kernel neue Funktionalit舩 zur Laufzeit dynamisch dazugelinkt wird. Anschlie゚end werden dann die Funktionen unterster Ebene zum Ansprechen der Hardware im Detail vorgestellt, da fr den erw臧nten Controller keine Treiber existieren.

Es folgt eine kurze Definition von Echtzeit, bevor die rtlinux Erweiterung des Kernels und (auf Wunsch) dessen Installation vorgestellt wird. Am Beispiel unseres Mess-Systems werden dann die Programmiertechniken und Funktionen von rtlinux vorgestellt:

  • Erzeugen, Starten und Stoppen von threads
  • Schtzen von paralleler Ausfhrung in kritischen Bereichen durch mutex-locking
  • Erzeugen und Benutzen von FIFOS zur Kommunikation von rtlinux mit einem Hauptprogramm
  • Benutzung eines handlers zur asynchronen Benachrichtigung von FIFOS
  • Suspendieren und Aufwecken von threads
  • Zeiten und Uhren im Kernel
  • die thread-Ausfhrung halten und zu periodischen (oder einmaligen, zu genau festgelegten Zeitpunkten) fortsetzen.

Die Kommunikation zwischen Hauptprogramm und rtlinux erfolgt ber FIFOS. Zu deren Vereinfachung wurde eine C++ Klassenbibliothek, welche kompatibel zum Analyseprogramm "root" (Teil der CERN-library) ist, erstellt. Deren Aufbau (ebenfalls thread benutzend) soll kurz skizziert werden.

Eine in unserem Projekt nicht benutzte Technik ist der mbuff shared-memory driver. Diese Methode soll zum Abschluss vorgestellt werden. Auf Wunsch kann noch kurz gezeigt werden, wie das anfangs besprochene CAMAC Modul in einen "echten" linux-Treiber verwandelt werden kann.

Material zum Vortrag: PS PDF

  LinuxTag 2002 Konferenz-CD-ROM © 2002 LinuxTag e.V.