betriebssystemprogrammierung welche sprache

Von: , Frage gestellt am Di, 16. Jan 2007

Hallo ich möchte mal ein eigenes kleines betriebssystem programmieren das nur das notwendigste besitzt also einen Texteditor und einen Internet Browser und halt solche Sachen wie einen Bildanzeiger und einen Mediaplayer aber es sollte schon multitasking können. Könnte mir da jemand eine Sprache empfehlen?

12 Antworten zu dieser Frage

  1. Antwort von nach 19 Minuten 0 hilfreich
    ziemlich egal

    Es müssen nur ein paar Vorraussetzungen erfüllt sein:

    - es gibt für die Hardware-Plattform einen Compiler, sonst selbst schreiben, soll bei C einfach sein
    - die Programmiersprache kennt alle hardware-nahen Kommandos, die ein BS eben braucht und einen Internet Browser und halt solche Sachen
    wie einen Bildanzeiger und einen Mediaplayer aber es sollte
    schon multitasking können.
    Hmm. Du willst wohl auch eine graphische Oberfläche haben (GUI). Na dann viel Spaß und genug Zeit bis zum Ableben.


    Gruß

    Stefan

  2. Antwort von nach 39 Minuten 0 hilfreich
    Re: betriebssystemprogrammierung welche sprache

    Hallo,



    Für den Kernel würde ich dir zu C + Assembler raten, den Rest in der Programmiersprache deiner Wahl.

    Aber ich befürchte fasst, dass du dich da ein wenig übernimmst: Ein OS ist schon mal viel Arbeit, dann willst du auch noch grafische Ausgabe (auch viel Arbeit), einen Browser (Auch viel Arbeit) und einen Mediaplayer (Auch viel Arbeit). Und das ganze ohne eine Vorstellung davon, in welcher Sprache du es machen willst?

    Grüße,
    Moritz [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  3. Antwort von nach 54 Minuten 0 hilfreich
    Re: betriebssystemprogrammierung welche sprache

    Hallo Michael, ich möchte mal ein eigenes kleines betriebssystem
    programmieren das nur das notwendigste besitzt
    LOL also einen Texteditor und einen Internet Browser und
    halt solche Sachen wie einen Bildanzeiger und einen
    Mediaplayer aber es sollte schon multitasking können.
    Könnte mir da jemand eine Sprache empfehlen?
    Ich empfehle:

    • 5 Jahre Studium Informatik / Angewandte
      Informatik / Mikrorechnertechnik, plus
    • 5 Jahre Mitarbeit in verschiedenen Software-
      Projekten und schrittweise Entwicklung eigener
      Expertise in 2 oder 3 Programmiersprachen unter-
      schiedlicher Verwendungsgebiete, aber auch
    • zuerst mal die Programmierung eines
      "Bildanzeigers" mit Menü unter Windows in C#
      oder Java zu versuchen
    Resumé: "Die Sprache zu empfehlen" ist eigentlich
    unerheblich, nach zehn Jahren intensiver Arbeit
    haben sich Deine Vorlieben und Stärken auf einige
    wenige Tools (Sprachen) konzentriert, mit denen
    Du etwas erreichen kannst (mehr Nutzen als Schaden
    anrichten).

    Grüße

    CMБ

    • Antwort von nach einer Stunde 0 hilfreich
      Re^2: betriebssystemprogrammierung welche sprache

      Hiho ich möchte mal ein eigenes kleines betriebssystem
      programmieren das nur das notwendigste besitzt
      LOL
      Schon mal nach "eigenes Betriebssystem" oder (ertragreicher) OS und programming geguckt?
      (das ist jetzt nicht abwertend gemeint, aber du wirst danach schon sehen, das du nicht weit kommst ;-| (eigene erfahrung, ist ja nicht so, das ich mich nicht schon mal umgesehen habe), um sowas hinzubekommen (und damit meine ich keinen bootfähigen kleinen kernel für x86, der "hello world" ausgibt) brauchst du vor allem erfahrung ... wie schon gesagt wurde.

      So, nach der Vorrede ein paar resourcen:
      http://www.nondot.org/sabre/os/articles
      http://www.osdev.org
      http://www.osdever.net
      - der linux-kernel o_O, ne niedrige version (so 1.0)

      Ansonsten hilft google weiter. also einen Texteditor und einen Internet Browser und
      halt solche Sachen wie einen Bildanzeiger und einen
      Mediaplayer aber es sollte schon multitasking können.
      Könnte mir da jemand eine Sprache empfehlen?
      Ich empfehle:

      • 5 Jahre Studium Informatik / Angewandte
        Informatik / Mikrorechnertechnik, plus
      • 5 Jahre
        Mitarbeit in verschiedenen Software-
        Projekten und schrittweise Entwicklung eigener
        Expertise in 2 oder 3 Programmiersprachen unter-
        schiedlicher Verwendungsgebiete, aber auch
      • zuerst mal
        die Programmierung eines
        "Bildanzeigers" mit Menü unter Windows in C#
        oder Java zu versuchen
      Resumé: "Die Sprache zu
      empfehlen" ist eigentlich
      unerheblich, nach zehn Jahren intensiver Arbeit
      haben sich Deine Vorlieben und Stärken auf einige
      wenige Tools (Sprachen) konzentriert, mit denen
      Du etwas erreichen kannst (mehr Nutzen als Schaden
      anrichten).
      Was sind deine Vorlieben (interessiert mich jetzt echt) ;-) ?

      Hmm, in Anbetracht der Vorstellungen (Browser, Multimedia) wohl *zustimm* aber um ein bisschen rumzuspielen reicht auch weniger ... egal

      Naja, wollte das ein bisschen relativieren, ich meine, wenn jemand sehr viel Talent hat ... soll doch jeder selbst herausfinden, ob er es nicht packt.

      mfg TLF

  4. Antwort von nach 4 Stunden 0 hilfreich
    Re: betriebssystemprogrammierung welche sprache

    Hallo Michael,

    aaalso: Zum "Notwendingen" für ein BS gehört auf jeden Fall ein Compiler!

    Ich schlage deshalb vor, du baust erst mal einen C Compiler, der den gesamten Sprachschatz von Ansi-C99 abdeckt (http://de.wikipedia.org/wiki/Varianten_der_Programmi...) und (wie von dir gefordert) gleich mal Multithreading-Optimierungen durchführt. Perfekt für den Compilerbau ist die etablierte Sprache Brainfuck:
    http://de.wikipedia.org/wiki/Brainfuck

    Wenn du dafür immer die Zeit in deiner Mittagspause opferst, dürftest du damit in knapp einer Woche fertig sein.

    Ich freue mich, dich in einer Woche hier im Forum wieder zu treffen, deinen Compiler zu bewundern und dir Ratschläge für die Weiterentwicklung des MichaelOS 1.0 geben zu dürfen.

    Gruß
    Martin
    P.S.: du bist nicht zufällig mit "Hofi" verwandt? ;-)
    http://www.wer-weiss-was.de/cgi-bin/forum/showarticl...

    • Antwort von nach 6 Stunden 0 hilfreich
      Re^2: betriebssystemprogrammierung welche sprache

      aaalso: Zum "Notwendingen" für ein BS gehört auf jeden Fall
      ein Compiler!
      Habe etwas C++ kenntnisse falls das was bringt
      Ich schlage deshalb vor, du baust erst mal einen C Compiler,
      der den gesamten Sprachschatz von Ansi-C99 abdeckt
      (http://de.wikipedia.org/wiki/Varianten_der_Programmi...)
      und (wie von dir gefordert) gleich mal
      Multithreading-Optimierungen durchführt. Perfekt für den
      Compilerbau ist die etablierte Sprache Brainfuck:
      http://de.wikipedia.org/wiki/Brainfuck
      muss ich da alle befehle von C reinbringen?
      und weiss jemand woher man so einen brainfuck tutorial bekommt und und das mit den compler mit den wortschatz Ansi C99 brauch ich doch alle befehle von diesen C oder muss ich da "nur" den kompletten Ansi code reinbringen? Wenn du dafür immer die Zeit in deiner Mittagspause opferst,
      dürftest du damit in knapp einer Woche fertig sein.
      Ich freue mich, dich in einer Woche hier im Forum wieder zu
      treffen, deinen Compiler zu bewundern und dir Ratschläge für
      die Weiterentwicklung des MichaelOS 1.0 geben zu dürfen.
      Das glaub ich nicht P.S.: du bist nicht zufällig mit "Hofi" verwandt? ;-)
      http://www.wer-weiss-was.de/cgi-bin/forum/showarticl...
      nein bin ich nicht

      • Antwort von nach 6 Stunden 0 hilfreich
        Re^3: betriebssystemprogrammierung welche sprache

        Hi Michael,

        hmmm, also ich gehe jetzt mal davon aus, du hast deine anfängliche Frage wirklich ernst gemeint. Und ansonsten... hab eh' gerade Zeit...

        Natürlich nimmt man nicht Brainfuck für die Compilerprogrammierung her. Da (und auch mit der Zeitangabe) wollte ich nur darauf anspielen, dass dein Vorhaben "Mission Impossible" ist. Aber eine Grundlage für ein BS ist wirklich dass man einen Compiler (nebst Linker) dafür hat, um andere Programme dafür übersetzen zu können.

        Um den Aufwand mal *etwas* (das ist noch lange nicht alles!) auszuführen: Du müsstest einen eigenen Kernel schreiben, brauchst einen TCP/IP Stack für das Internet, Paging wäre was, Scheduler für das Multitasking, System-Bibliotheken (so wie dll in Windows und .a/.o in Linux), Datei-Management (wenn man Lust hat ein eigenes Dateisystem), eine GUI, etc... Und wenn du das dann alles hast, kannst du dir mal darüber Gedanken machen, was für Anwendungen du für dein BS schreibst. Nur reden wir hier nicht von Tagen, Wochen oder Monaten. Für das Ganze solltest du als einzelne Person Jahre bzw. Jahrzehnte ansetzen.

        Und auch hier mein Rat, wie an Hofi:
        http://www.amazon.de/Moderne-Betriebssysteme-Andrew-...
        Dieses Buch dürfte deinen (falls vorhanden, bin da immer noch am zweifeln) Wissensdurst nach BS-Konstruktion fürs Erste stillen.

        Grüße
        Martin

        • Antwort von nach 17 Stunden 0 hilfreich
          Re^4: betriebssystemprogrammierung welche sprache

          Hallo Martin,

          Eines der besten Bücher das ich kenne war:

          Echtzeit-Betriebssysteme für Mikrocomputer
          von Dr. Clemens Schmidt & Dietmar Albrecht
          ISBN 3-922120-84-9 [Buch anschauen]
          1984 Markt & Technik

          Falls es einem antiquarisch über den Weg läuft .....

          Hat sogar den ganzen Sourcecode für "ROSY" (Real time Operating SYstem) im Anhang, ist allerdings in PL/M-86 geschrieben, kommt aber daher ohne Assenbler aus.

          Die Grundlagen und grundlegenden Probleme haben sich in den letzten 20 Jahren ja nicht verändert, zudem ist es recht leicht verständlich geschrieben.

          MfG Peter(TOO)

          • Antwort von nach einem Tag 0 hilfreich
            Re^5: betriebssystemprogrammierung welche sprache

            Hallo Peter(TOO),

            danke für den Hinweis, das kannte ich noch gar nicht.

            Viele Grüße
            Martin



Keine passende Antwort gefunden? Jetzt eigene Frage stellen!