So, ich habe mir gedacht, dass ich in meinem OS ja eine Art Tabelle benötige, in der alle Geräte eingetragen werden. Über eine Bibliotheksdatei (in der vielleicht sogar die Tabelle stecken könnte
) wie z.B. Dev.lib könnte man dann Geräe hinzufügen oder entfernen und informationen über ein spezielles Gerät auslesen etc. Dann würde genau ein Datensatz informationen über ein Gerät beinhalten. Ich grüble die ganze Zeit welche Informationen denn ein Datensatz beinhalten könnte. Bis jetzt sind mir folgende durch den Kopf gegangen:
-Geräteklasse (Zeichenkette) z.B. mouse, keyboard, cdrom etc.
-Anzeigename (Zeichenkette) z.B. SONY DVD RW DRU-800A ATA Device
-PID des zugehörigen Treibers
damit das OS auch den zugehörigen Treiber anspricht
-Laufwerksbit z.B. 0 = kein Laufwerk, 1 = Laufwerk
-wenn Laufwerksbit = 1, dann Laufwerksbezeichnung z.B. cd0, fd0 etc.
-wenn Laufwerksbit = 1, dann PID des zugehörigen Dateisystemtreibers
damit das VFS auch den richtigen Dateisystemtreiber anspricht
Oder sollte man den Anzeigenamen vom Treiber laden und nicht in die Tabelle schreiben? Bzw. was habe ich eurer Meinung nach vergessen bzw. was gehört nicht in die Tabelle. Wäre es nicht noch vernünftig jedem Gerät eine ID zuzuweisen (Größe? Byte, Word oder noch größer?, weil mehr als 255 Geräte wird man wohl nicht an einem PC anschließen (können) oder?)?
Ach ja, und dann muss ja noch eine Art Device-Byte in die Tabelle? Denn wenn das VFS ein Laufwerk anspricht und dann den Treiber, dann muss ja z.B. der ATAPI-Treiber wissen ob das Gerät an IDE0,0 oder bis IDE1,1 angeschlossen ist.
Da einige von euch ja bereits funktionierende Geräte- Dateisystem- und Laufwerkstreiber für ihr OS geschrieben haben hoffe ich doch mal, dass ihr mir helfen könnt. Ich wäre euch sehr dankbar.
bitmaster