Lowlevel

Lowlevel => OS-Design => Thema gestartet von: sp am 25. December 2004, 18:55

Titel: Hardwaretreiber und ihr Manager
Beitrag von: sp am 25. December 2004, 18:55
Hallo

Ich arbeite gerade an einem Floppy-Treiber (Sektoren laden funktioniert schon ganz gut) und einem "Drive-Manager", welcher sich später einmal um alle Laufwerke (unabhängig vom Anschlusstyp) kümmern soll. Nun stelle ich mir gerade die Frage, welche Details der Treiber und welche der Manager verwalten soll. Also ob der Treiber nur die Funktionen bereitstellt, selber aber keine Verwaltungsaufgaben übernimmt, oder ob er sich in einem gewissen Maß auch merkt was er eigentlich anspricht.

Ein Beispiel im Fall eines Floppys: Wer merkt sich den Diskettentyp (Größe, Bytes per Sector, usw.), besser der Treiber oder der Manager?

Der Manager stellt den FS Treibern Funktionen zum Lesen und Schreiben bereit, bei denen man nur die ID des Laufwerks und die zu lesenden/schreibenden Sektoren, aber keine Laufwerk-Details angibt.
Titel: Hardwaretreiber und ihr Manager
Beitrag von: joachim_neu am 25. December 2004, 18:56
das würd ich dem manager überlassen, dann ist der treiber austauschbar, und man kann leichter treiber für neue medien entwickeln, weil man sich nur um das lesen und schreiben an sich und net um das koordinieren der daten kümmern muss...
Titel: Hardwaretreiber und ihr Manager
Beitrag von: sp am 25. December 2004, 18:59
So hatte ich mir das auch gedacht, vielen Dank.
Titel: Hardwaretreiber und ihr Manager
Beitrag von: Roshl am 26. December 2004, 12:11
Ich würde auch bei dem Treiber nur die Lese/Schreibfunktionen reinpacken und den Rest dem Manager überlassen.
Ich verzweifel bei dem Flopp-Treiber wieso musste man das so kompliziert bauen? Festplatten sind da einfacher, mein Festplattentreiber funktioniert ohne zu zucken. (Ein System das Festplatten lesen kann, aber kein Disketten wie lustig^^)
Titel: Hardwaretreiber und ihr Manager
Beitrag von: sp am 26. December 2004, 12:39
Ich hab das jetzt so gemacht:
- Diskmanager ruft die Initialisierungsfunktion des Treibers auf, wenn die Hardware findet initialisiert sie den Controller und meldet Erfolg.
- Bei Erfolg fragt der Diskmanager die Anzahl der gefunden Geräte ab, erstellt dann einen Stuct-Array (in seinem Speicher) in den dann der Treiber die Geräte einträgt