Autor Thema: CommFS?  (Gelesen 16497 mal)

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #20 am: 09. May 2005, 21:45 »
Da ist GRUB ja wirklich SEHR praktisch :)

T0ast3r

  • Gast
Gespeichert
« Antwort #21 am: 10. May 2005, 10:46 »
Was ist den nun überhaupt GRUB?
Gib mir mal da bitte eine Erklärung ab.
Ich werde jetzt dann einen Code basteln, der versucht ein FS zu erkennen, denn das ist ja der 1. Schritt.
Nun möcht uich für euch nur noch wissen, für welche FSs ich Treiber basteln soll.
Und übriggens soll ich den Treiber in C oder Ass schreiben?
Ich werd wahrscheinlich einbinden: FAT (12, 16, 32), LowFS :lol: , TBFS *doppelt LOL*, und ein paar andere

DDR-RAM

  • Beiträge: 184
    • Profil anzeigen
Gespeichert
« Antwort #22 am: 10. May 2005, 10:52 »
GRUB ist nen Bootloader.

ASM ist für nen FS-Treiber unnötig, der greift auf nen HDD/FDD/CD/DVD-Treiber zu,  braucht also kein asm. Die Schnittstelle ist allerdings nocht nicht definiert. Also kannste noch nix machen.

MfG
DDR-RAM

stultus

  • Beiträge: 486
    • Profil anzeigen
Gespeichert
« Antwort #23 am: 10. May 2005, 11:30 »
najo, treiberdocs durcharbeiten wär ja schonmal nen ganz guter anfang, der auch ohne interface geht ^^
MSN: planetconquestdm@hotmail.de
ICQ: 190-084-185

... Wayne?

DDR-RAM

  • Beiträge: 184
    • Profil anzeigen
Gespeichert
« Antwort #24 am: 10. May 2005, 11:45 »
ist dann aber nix mit basteln ;-)

Da stell ich mal wieder ne technische Frage in den Raum:
Wir haben Treiber und Kernmodule, was ist der Unterschied zwischen beiden, also ich bräuchte keinen, aber passt nicht so ganz hier her.

stultus

  • Beiträge: 486
    • Profil anzeigen
Gespeichert
« Antwort #25 am: 10. May 2005, 12:03 »
Kommt drauf an welche Begriffe du wie definierst.
Wenn
Kernmodul: Festplatte, CD, Floppy, Netzwerk, (Alles was gebraucht wird um Hardware allgemein anzusprechen)
und
Treiber: Dateisysteme, Protokolle (IP, TCP, UDP, ...) (Alles was direkt vom Userprogramm verwendet wird)
ist der unterschied ganz klar: Treiber benötigen bestimmte Kernmodule, von wo soll nen Fat12-Treiber schließlich Daten beziehen wenn das Floppylaufwerk nicht ansprechbar ist?
MSN: planetconquestdm@hotmail.de
ICQ: 190-084-185

... Wayne?

Svenska

  • Beiträge: 1 790
    • Profil anzeigen
Gespeichert
« Antwort #26 am: 10. May 2005, 14:12 »
Wenn wir einen Microkernel basteln wollen, so gehört _nichts_ in den
Kernel rein, was irgendwie mit Treibern zu tun hat.
Die Aufgabe des Kernels ist es dann nur, den einzelnen Prozessen
Rechenzeit zuzuweisen und zu klauen, möglichst nach einem einheitlichem
Schema.

Kernel
    ||
    \/
Hardware-    (z.B. HDD, FDD, Net, ...)
  treiber
    ||
    \/
Software-     (z.B. FAT12, Ext2, TCP/IP, IPX, ...)
treiber


Damit das klappt, brauchen wir eine Schnittstelle, mit der wir den Kernel
mit dem Hardwaretreiber verbinden.

@DDR-RAM: Wer lieber Asm statt C++ programmiert, sollte das auch
duerfen. Nicht notwendig ist nicht gleich schlecht :)

Svenska

DDR-RAM

  • Beiträge: 184
    • Profil anzeigen
Gespeichert
« Antwort #27 am: 10. May 2005, 15:38 »
Also, ich man könnte, aufteilen in Kernmodule(z.B. IPC), Hardwaretreiber(z.B. Laufwerke), Softwaretreiber (z.B. Dateisysteme),
mir ging es um den technischen Unterschied, außer das Softtreiber auf Hardwaretreibern aufbauen müssen.

Ich hatte nie vor jemandem ASM/C zu verbieten ;-)
Mache mich nur dafür stark, lieber C++ als C zu verwenden und asm nur wenn notwendig, um die kompatiblität und evtl. Transportablität auf andere System zu maximieren.

MfG
DDR-RAM

Svenska

  • Beiträge: 1 790
    • Profil anzeigen
Gespeichert
« Antwort #28 am: 10. May 2005, 22:11 »
Hmm CommOS soll ein Lern-OS werden, nicht den Zweck NetBSDs
verfolgen... welches richtige OS ist schon in Cpp geschriebn? *lach*

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #29 am: 10. May 2005, 22:32 »
ich persoenlich wuerde fuer jegliche abstraktion von der hardware c++ verwenden..weils einfach die abstraktion schon 'eingebaut' hat.. im sinne der objektorientierten programmierung.
\\o
o//
\o/

T0ast3r

  • Gast
Gespeichert
« Antwort #30 am: 11. May 2005, 13:00 »
Ihr kommt vom Thema ab!
Also: wie soll ich FAT12 erkennen?
Ich hab mir überlegt, dass ich 3 Euinträge aus dem Bootloaderinfoblock vergleiche.
Diese 3 Werte sind:
BytesPerSec: muss 512 sein
NumFATs: muss KLEINER als 13 sein
NumHeads: muss KLEINER als 13 sein
was hält ihr davon?
Ich weiß halt nbicht, woran ich sonst ein FAT12 Formast erkennen sollte.,

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #31 am: 11. May 2005, 13:08 »
Daran das irgendwie im Sektor ein String steht der mit FAT anfängt und du dann eine Clusterzahl ausrechnest die <4085 ist oder so ähnlich.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

T0ast3r

  • Gast
Gespeichert
« Antwort #32 am: 11. May 2005, 13:13 »
Jo!
Das hab ich mir schon auch gedacht!
Aber das blöde ist nur das der Eintrag in dem Normalerweise FAT12 steht nur bedingt ist!
(siehe TJ Fat tutorial, Bottirgendwas)

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #33 am: 11. May 2005, 13:16 »
In den allermeisten Fällen ist er aber da, und wenn nicht kannste auf gut Glück mal die CLuster ausrechnen, relativ unwahrscheinlich das was sinnvolles rauskommt wenn's nicht FAT12 ist, da ja doch einige Werte einbezogen werden müssen.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

T0ast3r

  • Gast
Gespeichert
« Antwort #34 am: 11. May 2005, 13:18 »
Dann soll ich die 3 Einträge zu testen vergessen? *seufz*

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #35 am: 11. May 2005, 13:51 »
Ja^^
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

T0ast3r

  • Gast
Gespeichert
« Antwort #36 am: 11. May 2005, 15:42 »
@ Roshl: Das mit den Clustern ist find ich ein blödsinn.
Wenn, dann nur weil an einem Entrag FAT12 steht, ansonsten würde ich sagen das es kein FAT ist.
(Weil der Clustereintrag kann ja vieles sein, vn den anderen FSs)
Naja ich schua dann einfach nach, ob da halt FAT12 steht

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #37 am: 11. May 2005, 15:54 »
Also nochmal:
Zuerst schaust du ob der Kennungsstring mit FAT anfängt.!!!
Dann berechnest du die Clustergrösse.
Das ist nunmal das einzige an dem man die verschiedenen FAT-Varianten erkennen kann.
Denn es ist NICHT!!!! Pflicht das dort auch FAT12 steht, es kann sein, dass dort NUR FAT steht, dann bist du wohl aufgeschmissen.
Steht so in JEDER Doku dazu.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #38 am: 11. May 2005, 16:54 »
...und dann geben wir uns die Hand, und haben uns wieder lieb...also ganz ruhig.

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #39 am: 11. May 2005, 17:05 »
Sorry aber ich finde wenn man schon eine Doku dazu auf dieser Seite hier hat, sollte mans auch Lesen, und da steht klar drin, das man FAT12 eben nur an den Clustern erkennt und nicht das da FAT12 drin steht. Nur weil ich mit nem Edding "Wurst" auf ein Stück Käse schreibe wird keine Wurst draus. Das ist leider Fakt^^
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

 

Einloggen