Diplomarbeit - Operating Systems Group - Technische Universität ...
Diplomarbeit - Operating Systems Group - Technische Universität ...
Diplomarbeit - Operating Systems Group - Technische Universität ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
44 KAPITEL 4. IMPLEMENTIERUNG<br />
/* directory entry */<br />
struct rtfs_dir_entry<br />
{<br />
rtfs_blockid_t inode; /* inode block number */<br />
unsigned short rec_len; /* entry length */<br />
unsigned short name_len; /* name length */<br />
char name[RTFS_FILENAME_LENGTH]; /* file name */<br />
};<br />
Abbildung 4.11: Eintrag in Verzeichnis-Liste<br />
4.5.2 Speicherung der Strombeschreibungen<br />
Die Speicherung der für die Beschreibung der Echtzeitdateien verwendeten Daten erfolgt in separaten Dateien;<br />
dadurch wird ein einfacher Zugriff auf diese Daten auch durch LLinux-Anwendungen möglich. Die<br />
Zuordnung der Dateien erfolgt durch spezielle Dateinamenserweiterungen, die in Tabelle 4.1 aufgeführt<br />
sind.<br />
Neben den in Abschnitt 3.1.3 beschriebenen Parametersätzen werden in einer weiteren Datei datentypspezifische<br />
Informationen gespeichert, wie z.B. die Auflösung und das verwendete Kompressionsverfahren<br />
bei einem Video.<br />
Dateiname Inhalt<br />
name.data Daten<br />
name.para Parametersätze der Strombeschreibung<br />
name.desc Beschreibung des Dateityps<br />
4.6 Stand der Implementierung<br />
Tabelle 4.1: Verwendete Dateinamenserweiterungen<br />
Die derzeitige Implementierung umfaßt die Speicher-, Festplatten- und Dateiverwaltung sowie die Behandlung<br />
der Nicht-Echtzeitdateien. Für die Steuerung und das Testen des Dateisystems wurde zusätzlich eine<br />
serielle Konsole implementiert, diese besteht aus einem Server, der die Kommunikation mit der seriellen<br />
Schnittstelle durchführt sowie einem separaten Thread des Dateisystems, der die Darstellung der Konsole<br />
übernimmt.<br />
Der Zugriff auf die Dateien erfolgt über eine UNIX-ähnliche Schnittstelle. Diese umfaßt die open-,<br />
create-, close-, read-, write- und seek- sowie spezielle fcntl- und fstat-Funktionen und<br />
ist auf eine IPC-Kommunikation mit dem Behandlungs-Thread im Dateisystem abgebildet. Über diese<br />
Schnittstelle wird im Moment auch von LLinux-Anwendungen aus auf das Dateisystem zugegriffen; eine<br />
Bibliothek mit den entsprechenden Funktionen wurde dazu entwickelt.<br />
Die Implementierung umfaßt ca. 12500 Zeilen C-Quelltext für das Dateisystem (inklusive Pager und serielle<br />
Konsole) sowie weitere 1500 Zeilen für die LLinux-Bibliothek und darauf basierende Programme<br />
zum Zugriff auf die Dateien von LLinux aus.