Autor Thema: Neuling braucht Hilfe!  (Gelesen 9602 mal)

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« am: 23. July 2006, 23:53 »
Hallo! Ich bin neu hier! :D

Ich schreib momentan an meinem ersten ernsthaftem Kernel und habe daher noch recht wenig Erfahrung mit OS-Devving.
Daher möchte ich wissen, wie ich es am besten angehe:
Gleich A20-Gate umstellen und PM aktivieren oder erst mit 16 Bit und einem Megabyte begnügen und Erfahrung sammeln? :?:

// Edit by hannibal: Ein Emoticon pro Ausdruck reicht.

nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 23. July 2006, 23:59 »
Ich hab gleich mit A20 u PM angefangen!!!

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 24. July 2006, 00:08 »
Ah, könntest du mir n paar Tipps geben?
Zum Beispiel, kann ich mit dem 62-Seitigen Datenblatt über den Floppy-Controller kann ich echt nichts anfangen. Kommt man denn als Anfänger schon ohne BIOS-Interrupts aus? Is eigentlich was was ich so schnell nicht missen möchte!

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #3 am: 24. July 2006, 02:44 »
Zitat von: Noobtotal
Zum Beispiel, kann ich mit dem 62-Seitigen Datenblatt über den Floppy-Controller kann ich echt nichts anfangen.


Ich hoffe für dich, dass es nicht an einer Englischphobie liegt. Ansonsten schau dir einfach mal Quellcode von anderen Betriebssystemen an. Aielleicht klären sich da viele Fragen. Evtl. auch die anschaffung eines Buches in Betracht ziehen. Ich empfehle da "PC Hardwarebuch: Aufbau, Funktionsweise, Programmierung". Das gibt ein "Feeling" für die Hardware und sehr viele wichtige Erklärungen. Ich könnte mir denken, dass sich damit viele Probleme lösen lassen.
Aber ich würde dir (siehe weiter unten) nicht vorschlagen sich mit dem floppy disk controller schon so früh auseinanderzusetzen. Der ist schon relativ schwer zu verstehen (Ich mein anderen Code c&p, dass kann jeder, aber ob man dadurch was verstanden hat? :wink: ).

Zitat
Kommt man denn als Anfänger schon ohne BIOS-Interrupts aus?

Ich denke allgemeine Kenntnisse über den realmode schaden definitiv nicht. Ansonsten ja, auch Anfänger können ohne BIOS Interrupts auskommen. Einfach Dinge wie Textausgabe, CMOS, PIC, PIT kann man relativ einfach implementieren imho und man sieht da natürlich auch schnell Erfolg. Was ja sehr wichtig für die Motivation ist.
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #4 am: 24. July 2006, 11:11 »
Also ich habe 2 Jahre nur im RM gearbeitet und bereue überhaubt nichts. Ich finde es für Anfänger wirklich viel besser. Denn man lernt die BIOS-Interrupts kennen, lernt die BDA kennen, lernt das Video-Subsystem kennen und lernt die Segmentierung im RM kennen. Das sind alles Sachen die man im PM nicht brauchst. Na gut, den Video-Subsystem kann man evt. doch brauchen. Also ich hätte mir am Anfang nicht zugetraut Sachen mit dem FDC zu laden anstatt über den schönen einfachen "int 13h". Also für Anfänger würde ich eindeutig den RM empfehlen.

bitmaster
In the Future everyone will need OS-64!!!

nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 24. July 2006, 17:57 »
Zitat von: bitmaster
Also ich habe 2 Jahre nur im RM gearbeitet und bereue überhaubt nichts. Ich finde es für Anfänger wirklich viel besser. Denn man lernt die BIOS-Interrupts kennen, lernt die BDA kennen, lernt das Video-Subsystem kennen und lernt die Segmentierung im RM kennen.

Hehe jaja wenn man gerne Sachen über veraltetes Zeugs lernt.....Aber gerade auch Treiber schreiben usw. hat auch seine Reize.....Auch Techniken mit Modulsystemen und Paging kann man im RM kaum machen......

Meine Meinung

Thoth

  • Beiträge: 62
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 24. July 2006, 18:24 »
Er hat ja nicht gesagt, dass er auf ewig im RM bleiben will. Die Leute von Intel und Microsoft haben auch am Anfang mit dem Realmode gearbeitet, bevor sie sich weiter gewagt haben und ich machs genauso: zuerst mal ein stabiles Fundament schaffen und dann langsam drauf aufbauen.
Madness isn't a bug - it's a feature

nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 24. July 2006, 18:31 »
Geht auch....Aber wir sind jetzt auch 20 Jahre weiter als zu Anfangszeiten von M$ oder IBM....

Das meiste RM Zeugs braucht man nicht mehr und micht würde es gewaltig anscheissen immer nach Offsets und Segmenten zu schauen.....Und wenn mann immer nur die Bios-Ints benutzt bringt das OS coden auch nicht so wahnsinnig viel....


Immer noch meine Meinung  :lol: Hehe

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #8 am: 24. July 2006, 18:32 »
Zitat von: Thoth
zuerst mal ein stabiles Fundament schaffen und dann langsam drauf aufbauen.

Falls du damit ein Wissensfundament meinst, ok, _kann_ hilfreich sein, aber  eigentlich kann man den ganzen Müll über RM & BIOS Interrupts im Proteced-Mode getrost wieder vergessen. Falls du damit ein Sourcecodefundament meinst, dann mit Sicherheit nicht. Du kannst deinen ganzen Code (außer Bootsektor) wieder wegschmeißen und neu anfangen.

edit: @noooos: Ich stimme dir natürlich zu :)
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 24. July 2006, 21:49 »
Ich hab nur schon lang nichts mehr gecodet, daher bleib ich zum üben erst mal im RM!

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 24. July 2006, 22:22 »
Hab mich umentschieden! Will lieber gleich in den PM! Nur bräucvhte ich da ein wenig Hilfevon euch! Ich hab hier mal ein paar Fragen:
    Muss ich den PIC neu programmieren und was bringts?
    Wo gibts ein gutes Tastaturtreiber Tutorial?
    Wo gibts ein gutes FDC Tutorial?
    Kann man fürn Anfang das direkte schreiben in den Framebuffer als Grafik-Trreiber gelten lassen?
    Protected Mode mit dem Bootloader oder mit dem Kernel anschalten?[/list:u]

    Mist, irgendwie krieg ich die "geordnete Liste" nicht hin! :evil:  :evil:  :evil:  :evil:  :evil:  :evil:  :evil:

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 24. July 2006, 22:33 »
Zitat von: Noobtotal
Muss ich den PIC neu programmieren und was bringts?
Wo gibts ein gutes Tastaturtreiber Tutorial?
Wo gibts ein gutes FDC Tutorial?

Versuch für den Anfang erstmal, unfallfrei in den PM zu kommen - heißt, Deskriptortabellen sinnvoll setzen und sowas. Damit kann man sich lang genug aufhalten (zumindest beim ersten Mal hat es bei mir gedauert). Wenn das steht, kannst du dir mal langsam Gedanken über den PIC machen.

Zitat
Kann man fürn Anfang das direkte schreiben in den Framebuffer als Grafik-Trreiber gelten lassen?

Klar, warum nicht? Ich wüßte nichtmal, warum ich das auf "für den Anfang" einschränken würde. Ist nicht wirklich optimiert, aber ein Treiber ist es.

Zitat
Protected Mode mit dem Bootloader oder mit dem Kernel anschalten?

Ich weiß, das gibt wieder eine sinnlose Diskussion, aber: Mit GRUB. ;)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

thetrue

  • Beiträge: 216
    • Profil anzeigen
    • http://www.the-true.net
Gespeichert
« Antwort #12 am: 24. July 2006, 22:35 »
1. PIC ist sehr wichtig ... da er die Hardware auf IRQs "umleitet" ...
2. Tastatur treiber ist sehr simple ;) hier, hier
3. Zum FDC kann ich dir nicht viel sagen (habe da selber noch Probleme ;)) aber hier
4. ich verstehe deine Frage nicht ... Aber Vesa reicht voll aus ;)
5. Ich denke man sollte PMode in dem Kernel erst einschalten ...
thetrue way is my way

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #13 am: 24. July 2006, 22:41 »
Zitat von: Noobtotal
Protected Mode mit dem Bootloader oder mit dem Kernel anschalten?


Im Bootloader. Im Kernel machen es viele Anfänger zu kompliziert und kriegen nur Probleme.
Dieser Text wird unter jedem Beitrag angezeigt.

thetrue

  • Beiträge: 216
    • Profil anzeigen
    • http://www.the-true.net
Gespeichert
« Antwort #14 am: 24. July 2006, 22:42 »
Zitat von: PorkChicken
Zitat von: Noobtotal
Protected Mode mit dem Bootloader oder mit dem Kernel anschalten?


Im Bootloader. Im Kernel machen es viele Anfänger zu kompliziert und kriegen nur Probleme.

hmm, ok hast recht es macht sinn im Bootloader PMode einzuschalten ... muss ich mal bei mir ändern :P
thetrue way is my way

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #15 am: 24. July 2006, 22:44 »
Zitat von: thetrue
1. PIC ist sehr wichtig ... da er die Hardware auf IRQs "umleitet" ...
2. Tastatur treiber ist sehr simple ;) hier, hier
3. Zum FDC kann ich dir nicht viel sagen (habe da selber noch Probleme ;)) aber hier
4. ich verstehe deine Frage nicht ... Aber Vesa reicht voll aus ;)
5. Ich denke man sollte PMode in dem Kernel erst einschalten ...


1: Die Hardware auf IRQs umleitet???? Wie bist du denn drauf? Damit kannst du den IRQs Interrupt Adressen bzw. Nummern zuleiten. Das bedeutet z.B. das der IRQ0 auf den int 20h zeigt.

2: Sagt einer der noch einen Tastaturtreiber von 10% hat. Ich progge z.Z. auch an einem PM Tastaturtreiber. Ist gar nicht so einfach das mit seinem OS zu kombinieren. Würde ich für den Anfang nicht empfehlen.

3: Schau dir mal das Intel Manual zum FDC an.

4: Jo, VESA is good. ^^ Aber du brauchst später soweiso API Funktionen.

5: Ich denke auch im Kernel. Oder du schaltest ihn im Bootstrap ein aber im Kernel legst du 'ne neue gdt idt etc.

bitmaster
In the Future everyone will need OS-64!!!

thetrue

  • Beiträge: 216
    • Profil anzeigen
    • http://www.the-true.net
Gespeichert
« Antwort #16 am: 24. July 2006, 22:46 »
Zitat von: bitmaster
Zitat von: thetrue
1. PIC ist sehr wichtig ... da er die Hardware auf IRQs "umleitet" ...
2. Tastatur treiber ist sehr simple ;) hier, hier
3. Zum FDC kann ich dir nicht viel sagen (habe da selber noch Probleme ;)) aber hier
4. ich verstehe deine Frage nicht ... Aber Vesa reicht voll aus ;)
5. Ich denke man sollte PMode in dem Kernel erst einschalten ...


1: Die Hardware auf IRQs umleitet???? Wie bist du denn drauf? Damit kannst du den IRQs Interrupt Adressen bzw. Nummern zuleiten. Das bedeutet z.B. das der IRQ0 auf den int 20h zeigt.

2: Sagt einer der noch einen Tastaturtreiber von 10% hat. Ich progge z.Z. auch an einem PM Tastaturtreiber. Ist gar nicht so einfach das mit seinem OS zu kombinieren. Würde ich für den Anfang nicht empfehlen.

3: Schau dir mal das Intel Manual zum FDC an.

4: Jo, VESA is good. ^^ Aber du brauchst später soweiso API Funktionen.

5: Ich denke auch im Kernel. Oder du schaltest ihn im Bootstrap ein aber im Kernel legst du 'ne neue gdt idt etc.

bitmaster


öhm zu 1. OK, sollte mich anders ausdrücken ;)
2. FDC ist für mich schwieriger als Tastatur treiber!
thetrue way is my way

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« Antwort #17 am: 24. July 2006, 23:07 »
Jaja, ich weiss, ich weiss. Ich gehöre ein bisschen zu der Sorte, die alles auf einmal implementieren will und dann nichts richtig funktionierend implementiert. Na hoffentlich kannich mich ein bissschen am Riemen reissen, sonst wird das nix mit dem eigenen OS.  :evil:  :cry:
Ansonsten: danke für eure Hilfe! Aber ich muss sagen, ihr seit euch über den PMode und dessen Aktivierunds-Position nicht besonders einig! :lol:

// Edit by hannibal: Again - ein Emoticon pro Ausdruck reicht. Nicht boese gemeint.

thetrue

  • Beiträge: 216
    • Profil anzeigen
    • http://www.the-true.net
Gespeichert
« Antwort #18 am: 24. July 2006, 23:08 »
Zitat von: Noobtotal
Aber ich muss sagen, ihr seit euch über den PMode und dessen Aktivierunds-Position nicht besonders einig! :lol:  :lol:  :lol:  :lol:  :lol:  :lol:  :lol:


tja, so sind wir halt :D
thetrue way is my way

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #19 am: 25. July 2006, 07:00 »
Ich kann dir nur empfehlen, dir mal ein Grub Image zu holen und ein einfaches Assemblerfile zu schreiben mit dem du in eine C/Assembler Routine springst um z.B. ein Zeichen auszugeben. Wenn du soweit bist, kannst du schon mal sagen, dass du eine grosse Huerde ueberwunden hast. :)

Lg, Alex
\\o
o//
\o/

 

Einloggen