Die Sonne lacht, die Sonne lacht, Metallica hat euch eine Spezialfrage mitgebracht...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Naja, die ersten Schritte finden natürlich in Assembler statt (wie auch sonst wenn man ein eigenes OS bootet). Dann muss man sich auf Basis des Assemblercodes einen C/C++-Compiler bauen. So hat es Linus m.W. gemacht... Er hat dann GNU-C-Quellcodes für die Shell, Kommandozeilentools etc. auf seinem System kompiliert. Ist aber alles unglaublich kompliziert. Brauchst Du die Infos für was bestimmtes?

    und ihr meint, dass ms systeme hat, die eine komplette innovation darstellen bzw. ganz anders sind als wir es uns vorstellen können???
    Guck Dir die Windows-Geschichte an! Windows 3.1,95,98 und Me haben alle genau dieselbe Plattform: DOS. Es sind einfach DOS-Programme, die nach dem Booten gestartet werden und in den 32-Bit-Modus wechseln.
    Bei NT, 2000 und XP ist es ein bisschen anders: IBM und Microsoft arbeiteten irgendwann in den frühen neunzigern zusammen an einem echten 32-Bit-Betriebssystem. Nach dem Bruch der Partnerschaft wurde daraus auf MS-Seite Windows NT und bei IBM OS/2. Ich nehme mal ganz stark an, NT wurde auf genau derselben Basis gestrickt wie jedes andere OS auch. Sooo anders können die Tools ja schon deswegen nicht sein, weil sie sich der selben Hardwarearchitektur unterwerfen müssen...

    Kommentar


    • #17
      Hier noch ein paar Links zur Linux-Geschichte:
      http://www.li.org/linuxhistory.php
      http://ragib.hypermart.net/linux/

      Kommentar


      • #18
        MS verwendet auf jeden Fall C++.
        Das kann man bei einigen bluescreens sehen
        Das is leider auch das einzige was die Dinger aussagen. Ich glaub die verstehen ihre eigenen Fehlermeldungen nicht, aber is im Prinzip ja auch egal, die machen ja sowieso keinen richtigen Support. Es werden nur Fehlermeldungen gesammelt und dann irgentwann mal nen Service Pack rausgebracht. Da hat man dann ja Zeit nach der Übersetzung des Fehlercodes zu suchen.
        Of all things I've lost
        I miss my mind the most

        Kommentar


        • #19
          Also Kernkomponenten und die meißten Systemkomponenten werden mit c/c++ entwickelt. Der eigentliche Kern (kernel) von XP is ein modifizierter Unixkernel ;-))

          ich brauch halt ein funktionierendes OS, damit ich die ganzen komponenten entwickeln kann (braucht halt eine paar grundsätzliche Dinge):
          1) kernel
          2) einfacher interpreter
          3) treiber/module für peripherie und hardware (meißt im Kernel)

          vorausgesetzt, daß ganze läuft, kann ich mich daran machen, alles drumherum zu entwickeln.

          Was MS noch benutzt sind XML, diverse Skripte für Systemfunktionen (ActiveX..) manche Teilchen sind glaube ich auch in VB, da bin ich mir aber nicht sicher.

          In einer "ausbaustufe" der MSDN bekommt man einige Codeschnipsel und Quellcodeauszuüge des OS, muß aber unterschreiben, daß man davon nicht weitergibt (wird glaube ich auch teuer)!

          gruss

          Kommentar


          • #20
            ich will kein OS bauen, mich interessiert's nur.

            aber ganz peil ich die sache noch nicht weil ich wahrscheinlich den fehler mache, dass ich mir das programmieren eines OS so wie das entwickeln eines programmes IN EINEM OS vorstelle.

            wieso braucht man erst assembler, dann C++ oder so??
            und was hat das mit dem ganzen 16/32Bit und Kernelzeugs zu tun??
            => speziell bei windows würd es mich interessieren.
            $PHP resource 4ever$

            Kommentar


            • #21
              Dazu musst Du dir angucken, was eine Programmiersprache eigentlich ist. Ein C-Compiler zum Beispiel nimmt Deinen Quellcode und setzt ihn in Maschinencode um. Startest Du nun ein eigenes Betriebssystem, stehen Dir keinerlei API-Funktionen zur Verfügung - woher auch? Das einzige, was Du machen kannst, ist mit Maschinencode BIOS-Funktionen (Festplattenzugriff, Grafikkarte, Tastatur, Interrupts...) aufrufen. Also musst Du erstmal die ganz grundlegenden Funktionen, eben einen Kernel, in Maschinencode schreiben. Wenn Du mal die Funktionalität zum speichern von Dateien (und ein Dateisystem) hast, kannst Du einen Compiler schreiben, der C-Code (oder was auch immer) in Maschinencode übersetzt. Dann fängst Du mit den ersten Tools und Treibern an usw.... Gibt ne Menge Literatur dazu, vor allem natürlich im Netz, ist aber ne sehr trockene Materie!

              Kommentar


              • #22
                achsooo, ja natürlich. jetzt check ich die lage.
                man beginnt ja bei null. hat man das eine, kann man das andere erst beginnen.
                verstehe!

                => möchte gar nicht wissen, wieviele mio zeilen code windows hat.

                die, die sowas können, sind die OBERGURUS, oder??
                ich meine, bei einem OS muss man ja wirklich alles verstehen und nicht nur eine sprache oder 'nen teil von irgendwas.
                $PHP resource 4ever$

                Kommentar


                • #23
                  neee.. die obergurus sind kleine picklige 14jährige, deren hirnfrequenz im einklang mit der cpu-taktung schwingt und die kein modem benötigen, weil sie die nötige tonfolge selber pfeifen können.

                  nein im ernst: obergurus gibts meines erachtens nicht - dazu ist das feld einfach zu gross, höchstens welche, die sich dafür halten

                  thorvalds z.b. war student - und sicher kein spezialist in punkto os-entwicklung, jeder fängt ja mal an

                  und wenn mans noch so geschraubt, ausgeklügelt oder sonstwie geplant angeht - im endeffekt lernt man imho programmierung - ganz egal welche - nur auf eine art und weise:
                  per trial and error

                  Kommentar

                  Lädt...
                  X