Autor Thema: floppy bzw dateisystemtreiber  (Gelesen 4162 mal)

livinskull

  • Beiträge: 27
    • Profil anzeigen
    • Livinskulls site
Gespeichert
« am: 10. January 2008, 20:35 »
Tach,

ich hab jetz nen funktionierenden Floppy-Treiber, das Dateisystem (FAT12) fehlt allerdings noch........
Jetz meine Frage: Ist es sinnvoll die komplette Diskette in den RAM zu laden?
Oder soll überhaupt eine komplette FAT geladen werden?


Ich hätte mir jetz gedacht die 2. FAT und das Rootdirectory einzulesen, aber selbst das braucht noch ziemlich lang. (und den 1. sektor natürlich, wegs den parametern)

Wie habt ihr das umgesetzt?

mfg, livinskull


RedEagle

  • Beiträge: 244
    • Profil anzeigen
    • RedEagle-OperatingSystem - Projekt
Gespeichert
« Antwort #1 am: 10. January 2008, 21:00 »
Das Dateisystem vollständig einzulesen ist auf jeden fall sinnvoll.

Ansonsten kommt es drauf an, was du mit deinem System erreichen willst.
Wenn es sehr schnell sein soll würde ich auf jeden fall die 1.5MB RAM "opfern"
ps.: MenuetOS lädt auch beim booten schon im RM die ganze diskette, und greift dann nurnoch auf die Kopie im RAM zu.

Wie ich es machen würde:
Ich habe zwar noch kein floppy-treiber, und mich interessieren erstmal andere dinge ;)
Jedenfalls habe ich 2 Szenarien

1. Die ganze Diskette in den RAM kopieren und evtl sogar defragmentieren

2. Die Diskette in 2 Bereiche teilen. Also quasi eine "schnelle" partition, die in den RAM geladen wird, und dort bis zum runterfahren bleibt, und eine "sichere"  partition, von der die dateien dann einzeln geladen und ohne umwege auch gespeichert werden.

FreakyPenguin

  • Administrator
  • Beiträge: 301
    • Profil anzeigen
    • toni.famkaufmann.info
Gespeichert
« Antwort #2 am: 11. January 2008, 11:22 »
Generell die ganze Diskette in den Arbeitsspeicher zu laden ist meiner Meinung nach nicht sinnvoll. Ich würde eher einen Block-Cache einrichten, bei dem die Grösse konfigurierbar ist. Damit hast du auch keine Probleme auf Rechnern mit wenig Arbeitsspeicher.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 11. January 2008, 11:47 »
Zwar eigentlich im IRC angesprochen, aber hier nochmal für das Archiv: Sektorweise einlesen ist 0xd00f und macht den Treiber lahm. Man sollte komplette Spuren auf einmal einlesen.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

 

Einloggen