[hydrixOS] : HydrixOS Treibermodell - Kritik gesucht :-)

  • From: Friedrich Gräter <webmaster@xxxxxxxxxxx>
  • To: Mailingliste <hydrixos@xxxxxxxxxxxxx>
  • Date: Thu, 29 Aug 2002 19:22:17 +0200

Hallo,
mittlerweile ist Teil A des Handbuchs vollständig und ich bin dabei das 
Kapitel über das HydrixOS Treibermodell zu schreiben. Derzeit habe ich 
folgenden Vorschlag für das Treibermodell/Dateisystemmodell:

Alle Treiber melden sich bei einem zentralen Vermittlungsserver an. 
Dieser Vermittlungsserver bietet ein POSIX-artiges Dateisystem 
(Namensraum) an, bei dem die Treiber (Server) Verzeichnisse einhängen 
können. In diesen Verzeichnissen können sie dann entweder das 
Festplatten-Dateisystem anbieten oder ihre Treiberschnittstelle in Form 
von Dateien anbieten.

Der Vermittlungsserver fungiert dabei nur als reine Vermittlung. Er 
erzeugt die Abstraktion des hierarchischen Dateisystems (Bei HydrixOS 
gibt es wie bei UNIX "nur" eine Hierarchie, die auch mit "/" beginnt). 
Wird eine Datei geöffnet stellt er zwischen dem Client (der auf die 
Datei zugreifen will) und dem Dateiserver/Treiber/?-Server eine 
Verbindung her. Somit kann der Client direkt auf die Datei über den 
Dateiserver/Treiber/etc. zugreifen und muss nicht den Weg durch den 
Vermittlungsserver gehen.

Sicherheitsprüfung, Standard-Dateioperationen (Löschen, Kopieren, 
Verzeichnis erstellen, Mounten), das Auflösen von Pfadangaben und eben 
die Vermittlung zwischen Client und Dateiserver übernimmt der 
Vermittlungsserver - während der Dateizugriff selbst ohne den Vermittler 
auskommt.

Natürlich wird der Zugriff auf die Server über die 
HydrixOS-API-Bibliothek verborgen, so dass der Programmierer sich keine 
Gedanken über die Server machen kann, sondern mit dem Aufruf "open" 
einafch eine Datei öffnen und mit "read" auslesen kann...

Gerätetreiber bieten für jedes Gerät ein Verzeichnis an, das sie zuvor 
an das hierarchische Dateisystem gemountet haben. In diesem Verzeichnis 
können sie dann ihre Schnittstellen in Form von Dateien anbieten - so 
kann z.B. der Festplattentreiber die "rohe" Festplatte als Datei 
"/devices/hd0/diskspace" anbieten.

Als Standard-Verzeichnisse habe ich mir im Moment Folgende gedacht:

/ 
        Wurzelverzeichnis
/abstract 
Systemabstraktionen als Dateien (wie /proc bei Linux)
/config 
        Konfigurationsdateien
/devices 
Geräteverzeichnisse und -dateien
/programs 
Installierte Programme
/start 
        Dateien für den Systemstart
/system 
        Systemdateien
/users 
        Heimatverzeichnisse der Benutzer

Ich habe mit Absicht hier nicht die POSIX-Namen gewählt, damit nicht 
Programmierer eines POSIX-Subsystems auf die Idee kommen diese 
Hierarchie dem POSIX-Programm direkt und ganz unverdaut vorzusetzen (es 
wäre eine mittlere Katastrophe, wenn ein UNIX-Programm im 
Gerätetreiber-Ordner von HydrixOS rumwühlen würde). Die etwas längeren 
Standard-Namen "users" sollen zudem das Dateisystem weniger versierten 
Menschen zugänglicher machen...

Da die Aufrufe von Serverprozessen in HydrixOS auch über Netzwerke 
verteilt werden könnten, wäre es somit sogar möglich verteilte 
Dateisysteme zu schaffen.

Was haltet ihr von diesem HydrixOS Treibermodell? (Kritik erwünscht... :-))

cu

FG

-- 
HydrixOS Developers Mailing List

Administration: webmaster@xxxxxxxxxxx 
Archive: http://www.freelists.org/archives/hydrixos

Other related posts:

  • » [hydrixOS] : HydrixOS Treibermodell - Kritik gesucht :-)