Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 18

Thema: Kernel schreiben

  1. #1
    gast 151
    Gast

    Kernel schreiben

    kennt irgendjemand ein gutes Buch um zu lernen wie man einen Kernel schreibt

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Naja, Linus hat ja den Tanenbaum benutzt (Operating Systems Design and Implementation) - also wird der wohl nicht all zu schlecht sein.

    Aber ich glaube du unterschätzt das gewaltigstens. Noch einen Kernel der nicht läuft und zuwenig Treiber hat und erst noch nicht innovativ ist braucht die Welt nicht.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer Avatar von dra
    Registriert seit
    02.11.2004
    Ort
    Ulm
    Beiträge
    29
    peschmae, du hast natuerlich insofern Recht, als dass es Unsinn ist, einen neuen Kernel "ins Rennen schicken zu wollen".

    Allerdings kann es sehr viel Spass machen und ist zudem wohl eine gute Uebung. Dass ein Eigenbau nicht die Masse eines Linux oder Darwin annehmen kann, ist dem Ersteller hoffentlich bekannt...

    Hab vor Ewigkeiten mal was minimalistisches geschrieben. War sehr interessant, aber es gibt -- zugegeben -- Wichtigeres.

    Gruss,
    dra
    "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." -- Rich Cook

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Klar ist es interessant. Nur die Person die das will und der das was bringt fragt nicht nach einer Anleitung "wie schreibe ich einen Kernel" - weil man das schlussendlich selber machen muss. Ich meine es gibt ja auch nicht Howtos "wie schreibe ich mein office-Programm" und so.
    Und schlussendlich sind alle Threads die mir hier untergekommen sind zu diesem Thema in diese Richtung abgedriftet.

    Ich fände es da sinnvoller sich mit einem bestehenden Lehr-OS zu befassen (Minix z.B. (jetzt nur gerade weils da eine aktuelle Version ist und das das einzige LehrOS ist das ich kenne))

    MfG Peschmä
    Geändert von peschmae (28-01-2006 um 21:51 Uhr)
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.12.2005
    Ort
    CH - Zug
    Beiträge
    88
    es kann durchaus sinn machen einen neuen zu schriben.
    was denkst du auf was laufen unsere embedded-systeme? =)

    okok ich gebs zu.. is eher ein abspecken als ein neuschreiben.. grz
    /* -->
    RTFM
    <-- */

  6. #6
    Registrierter Benutzer
    Registriert seit
    26.11.2004
    Ort
    Fulda
    Beiträge
    70
    Hallo,

    ich muss peschmea recht geben die leute die fragen "wo gibt es ein how to zum schreiben eines kernels" sind einfach noch nicht soweit einen selber zu schreiben. ich zähle mich übrigens auch dazu da ich vor etwas längere zeit die selbe frage gestellt habe.

    Aber ich habe dann erkannt dass das der falsche weg ist, und habe mich nun auf meinen hintern gesetzt und erstmal richtig C gelernt (wobei ich sagen muss dass ich immer noch jeden Tag was neues lerne). Ich glaube aber das bei mir das Problem war ich wollte besser C schreiben und hatte gedacht das ich dass durch das schreiben von irgendeinem gewaltigen Projekt schaffe.

    Nun ist aber (mit einigen Aussnahmen die ich in "Die Software Rebellen" gelesen habe. Nun genau umgekehrt man sollte erst sein Handwerkszeug benutzen können bevor man den David aus dem Stein meisselt

    mfg

    gsus
    C > Java oder wie ?

  7. #7
    Registrierter Benutzer
    Registriert seit
    20.11.2004
    Beiträge
    122
    Also wenn ich etwas schreiben wuerde was es noch nicht gibt, haette ich nichts zu tun.

    Gruß
    Kai
    C, Python, OCaml

  8. #8
    gast 151
    Gast
    ich möchte ihn natürlich nur für meinen eigenen PC verwenden

  9. #9
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Das schränkt den Arbeitsaufwand natürlich erheblich ein

    Du brauchst nur noch
    - die Speicherverwaltung
    - die Prozessverwaltung
    - den Treiber für deine ATA / SATA Platte
    - den Treiber für deine (wahrscheinlich undokumentierte) Grafikkarte
    - den Treiber für deine Soundkarte
    - den Treiber für PCI
    - den Treiber für den LAN Adapter
    - ...

    Schau dir wirklich erst mal minix an... Oder auch Linux 0.8 oder so, das sind nur ein paar Megabyte Quellcode

  10. #10
    Registrierter Benutzer
    Registriert seit
    22.09.2004
    Beiträge
    14
    mich würde mal interessieren, was nach dem bootloader passiert, wie wird ein kernel compiliert (einfach mit gcc xyz.c reicht doch nicht?) ...

    die inhaltlichen dinge kann man im tanenbaum nachlesen!

  11. #11
    Registrierter Benutzer
    Registriert seit
    06.12.2005
    Ort
    CH - Zug
    Beiträge
    88
    man ichwillnenkernelbauen ^^
    /* -->
    RTFM
    <-- */

  12. #12
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Zitat Zitat von abcdeef
    mich würde mal interessieren, was nach dem bootloader passiert, wie wird ein kernel compiliert (einfach mit gcc xyz.c reicht doch nicht?)
    Das hängt von der Architektur ab...

    Auf x86 Architekturen muss noch in den Protected Mode geschaltet werden und von da an dürfen keine BIOS-Funktionen mehr (direkt) aufgerufen werden. Wenn das der Bootloader nicht macht, muss der Kernel einen kleinen Teil in 16-bit Maschinencode enthalten, der in den Protected Mode umschaltet und dann zum wirklichen Einsprungspunkt des Kernels springt. Der Teil kann dann ganz normal mit gcc kompiliert sein, er kann halt nur keine C-Library Funktionen aufrufen.

  13. #13
    Registrierter Benutzer
    Registriert seit
    22.09.2004
    Beiträge
    14
    Zitat Zitat von Joghurt
    Das hängt von der Architektur ab...

    Auf x86 Architekturen muss noch in den Protected Mode geschaltet werden und von da an dürfen keine BIOS-Funktionen mehr (direkt) aufgerufen werden. Wenn das der Bootloader nicht macht, muss der Kernel einen kleinen Teil in 16-bit Maschinencode enthalten, der in den Protected Mode umschaltet und dann zum wirklichen Einsprungspunkt des Kernels springt. Der Teil kann dann ganz normal mit gcc kompiliert sein, er kann halt nur keine C-Library Funktionen aufrufen.
    also muss man z.b. printf() selber implementieren .oO(daten direkt zur graka schicken); nur wie?

    gibt es literatur darüber (minimaler kernel, 16-bit Maschinencode der in protected mode) ?

  14. #14
    gast 151
    Gast
    ich habe eine Radeon 9250 und den Netgear WG111v2, ist eine WLAN-Flashkarte

  15. #15
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Die Radeon könntest du, wenn überhaupt, nur über die VESA-Funktionen ansprechen, da die neueren Radeons nicht mehr dokumentiert ist, IIRC.

    Bei deiner WLAN-Karte (was soll eine Flashkarte sein) dürfte es ähnlich sein.

    Kauf dir doch erstmal den Tanenbaum, dann siehst du schon, wie kompliziert das ist.

    Sagen wir mal, dein "BS" soll nichts weiter können, als über die WLAN-Karte Mails abzuholen. Und kein Speichermanagement oder Multitasking können. Da bist du locker ein paar Monate beschäftigt, wenn du gut bist; wenn du noch keine große Programmiererfahrung hast, was ich einfach mal aus deiner ursprünglichen Frage ableite, rechne mit mind. einem Jahr.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •