Kann man einen Kernel in C++ schreiben?

Dieses Thema im Forum "C/C++" wurde erstellt von Linthorul, 21.12.2007.

  1. #1 Linthorul, 21.12.2007
    Linthorul

    Linthorul Arch Luxer

    Dabei seit:
    01.12.2007
    Beiträge:
    205
    Zustimmungen:
    0
    Ist es mit C++ möglich einen (evtl. unix-kombatiblen) Kernel zu schreiben? Oder geht das nur mit z.B. C?

    Und wenn ja, ist das sinnvoll oder weniger sinnvoll?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Es gibt ein unixoides Betriebssystem namens "go", das in c++ geschrieben ist. Soweit ich weiss, stammt es von einer Forschungsgruppe am Imperial College London. Ich finde nur zur Zeit keinen Link - ist auch kein so markanter Name zum Suchen...
     
  4. @->-

    @->- Guest

    Du kannst theoretisch mit jeder Sprache einen Kernel/Betriebssystem schreiben. Viel wichtiger als welche Sprache du verwendest ist dein Compiler. Probleme wirst du aber spätestens bei den Protected sowie den Long Mode vom Kernel bekommen, hier sind Sprachen die keinen zugang zur Hardware bieten unbrauchbar. Windows Vista ist so weit ich weiß auch in C++ geschrieben.

    Also merke: Wichtiger als deine Sprache ist der Compiler, nicht mit jedem Compiler lassen sich Betriebssysteme erstellen :)

    Zu deiner Frage eine klare Antwort :) :
    Ja Mann aber auch Frau :) kann mit C++ einen Kernel schreiben.

    In diesem Sinne schönes Wochenende :)
     
  5. #4 Linthorul, 21.12.2007
    Linthorul

    Linthorul Arch Luxer

    Dabei seit:
    01.12.2007
    Beiträge:
    205
    Zustimmungen:
    0
    Danke an euch beide.

    Wisst ihr auch, ob das sinnvoll ist, einen Kernel in C++ zu schreiben oder ist das mit C sinnvoller?
     
  6. #5 @->-, 21.12.2007
    Zuletzt von einem Moderator bearbeitet: 21.12.2007
    @->-

    @->- Guest

    Hier solltest du alles finden:
    http://lowlevel.brainsware.org/wiki/index.php/Ausgabe_1

    Und hier ein Beitrag zu einem OS in PowerBasic:
    http://forum.qbasic.at/viewtopic.php?t=3275&highlight=betriebssystem

    Und hier der Basic Code :)
    http://www.powerbasic.com/support/forums/Forum7/HTML/002992.html
     
  7. #6 Wolfgang, 21.12.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Da der Kernel Harwarenah sein muss, ist natürlich Assembler am besten geeignet.
    Verschiedene Plattformen brauchen verschiedenen Maschinencode.
    Natürlich ist der Programmieraufwand zu optimieren.
    Und c oder c++ ( nicht gerade mit C# Dings Da Bumsda Gerassel ;) ) sind natürlich auch eine Option.
    c++ und c unterscheiden sich nach der Kompilierung nicht mehr wirklich.

    Wurde ja im Prinzip schon gesagt

    Gruß Wolfgang
     
  8. #7 Linthorul, 21.12.2007
    Linthorul

    Linthorul Arch Luxer

    Dabei seit:
    01.12.2007
    Beiträge:
    205
    Zustimmungen:
    0
    Danke an euch für die vielen Informationen. Jetzt bin ich wieder informierter :-)

    Noch eine Frage:
    Wieso sind denn die meisten Kernel in C und nicht in C++ geschrieben? z.B. Linux, BSD...
     
  9. #8 fabtagon, 22.12.2007
    fabtagon

    fabtagon somebody

    Dabei seit:
    20.07.2005
    Beiträge:
    28
    Zustimmungen:
    0
    Die BSDs sind es in meinen Augen in erster Linie, weil C damals, als BSD geboren wurde, state of the art war und darüber hinaus als Hochsprache über die Einbindung von Assembler die Low Level Programmierung ermöglichte. Open-, Net- und FreeBSD sind direkte Fortführungen dieses Quellcodes. Viele weitere unixoide OS wurden nicht viel später geschrieben (80er Jahre) und haben die ja gut funktionierende Sprache übernommen. C++ ist neueren Datums und war erst Ende der 80er einigermaßen "fest" (Sprachdefinition). Es sind in den 90ern einfach nicht mehr so viele OS geschrieben worden. Linux hat mMn ebenfalls einfach weil es erstmal naheliegend war und "keine großen Planungen erforderte" (sondern "einfach nur die Übernahme der bestehenden Unix-Standards") C genommen (bitte nicht falsch verstehen - es ist immer noch verdammt viel Arbeit - aber wenn man's in C++ gemacht hätte wäre es noch viel mehr geworden - und immerhin startete das Projekt ja als ein Hobby). Großer Pluspunkt für C ist auch, dass es dafür Compiler für so ziemlich jede Hardwareplattform gibt.

    Neuere OS sind durchaus nicht (nur) in C geschrieben: NextStep, aus dem sich später Darwin (Unterbau von MacOS X, basierend auf FreeBSD) entwickelte ist z.B. zum Teil in C++ geschrieben.
     
  10. #9 plasticman, 22.12.2007
    plasticman

    plasticman Mitglied

    Dabei seit:
    07.03.2007
    Beiträge:
    33
    Zustimmungen:
    0
    Ich schreibe mir gerade einen Kernel in HTML. Frohes Fest ;)
     
  11. #10 Tomekk228, 22.12.2007
    Tomekk228

    Tomekk228 Lebende Foren Legende

    Dabei seit:
    14.08.2007
    Beiträge:
    2.417
    Zustimmungen:
    0
    Ort:
    /home/tomekk/
    Html ist keine Programmiersprache. Und damit ein Kernel zu schreiben ist unmöglich ;)
     
  12. #11 kotzkroete, 22.12.2007
    kotzkroete

    kotzkroete Doppel-As

    Dabei seit:
    22.10.2006
    Beiträge:
    132
    Zustimmungen:
    0
    Ort:
    /germany/berlin/zehlendorf
    Vermutlich Ironie?
     
  13. musiKk

    musiKk Dr. Strangelove

    Dabei seit:
    30.07.2006
    Beiträge:
    264
    Zustimmungen:
    0
    Ort:
    Leipzig
    Man koennte ja versuchen, einen in PHP zu schreiben. :-P
     
  14. floh

    floh Jungspund

    Dabei seit:
    11.07.2006
    Beiträge:
    13
    Zustimmungen:
    0
    Ort:
    Weingarten
    Oder in Perl oder Java... Diese Sprachen brauchen aber alle einen Interpreter, da sie ja nicht wirklich ausfuerbaren code erzeugen...
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. Dizzy

    Dizzy Brain Damage

    Dabei seit:
    02.05.2007
    Beiträge:
    857
    Zustimmungen:
    0
    Ort:
    Graz
    Nu ja ... wenn ihr einen neuen Compiler entwerft, der die ganzen Interpretersprachen kompiliert ... nicht erst zur Laufzeit ... möglich wärs.
     
  17. #15 supersucker, 23.12.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Und genau sowas gibt es schon lange für die meisten ernstzunehmenden Scriptsprachen.

    By the way, auch scriptsprachen werden kompiliert, aber halt nicht in eine Sprache die die CPU versteht, sondern in eine Sprache die eine andere Maschine - nämlich der eigentliche Interpreter - versteht.

    Perl bspw. kompiliert den Code erst in einen sogenannten Parsing Tree, der daraufhin dem Interpreter übergeben wird, davon kriegt der user nur nichts mit.
     
Thema:

Kann man einen Kernel in C++ schreiben?

Die Seite wird geladen...

Kann man einen Kernel in C++ schreiben? - Ähnliche Themen

  1. Kann ich einen langen Piepston der Bash erzeugen?

    Kann ich einen langen Piepston der Bash erzeugen?: Ich würde gern ein Script schreiben, dass morsecode erzeugt. Einen kurzen Piepston kann man in der Bash mit "echo -e '\a'" erzeugen. Aber kann...
  2. Nethack ignoriert "-u", kann meinen Char. nicht benennen

    Nethack ignoriert "-u", kann meinen Char. nicht benennen: Ich wollte nach langer Zeit mal wieder 'ne Runde durch die Dungeons Of Doom schleichen, aber mich ärgert, daß Nethack immer den Usernamen benutzt,...
  3. kann man mehrere HDDs in einen ordner mounten ?

    kann man mehrere HDDs in einen ordner mounten ?: Hallo, habe ich möchte gerne mehre Festplatten die bereits gemountet sind, in einem Ordner zusammenfassen, sodas dich alle Daten in einem...
  4. Kann Ubuntu meinen Router abstürtzen lassen?

    Kann Ubuntu meinen Router abstürtzen lassen?: Es ist mir nun schon 2 mal passiert das während ich Ubuntu nutze mein Router sich aufhängt. Ich kann noch Websites aufrufen aber mein IM usw...
  5. kann keinen Text und Array in eine Datei speichern

    kann keinen Text und Array in eine Datei speichern: kann mir mal bitte einer sagen was daran falsch ist? syntax error near unexpected token `>>' ` echo "Server...