ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
3077
3077
EMPFEHLEN
-
30.09.04 13:19 #1
- Registriert seit
- Jun 2004
- Ort
- Wels (Oberösterreich) bzw. Mayrhofen (Tirol)
- Beiträge
- 211
Hi,
ich wololote frage ob es einen Compiler zur Betriebssystem-'rogrammierung gibt? Ich hab mal was von so nem Teil gehört.
Danke im vorraus für eure Antwort.
-
Was meinst du mit OS-Compiler?!
Man compiliert Quelltext von Programmiersprachen und das gibt dann das OS, nicht umgekehrt..
Also wenn du einer für Assembler brauchst:
Netwide Assembler: NASM
Für C / C++: GCC
Wenn du unter Windows arbeitest:
http://www.domae.ch -> Downloads dort kannst du dir ein Developper-Packet downloaden.
mfg
-
01.10.04 19:52 #3
- Registriert seit
- Jun 2004
- Ort
- Wels (Oberösterreich) bzw. Mayrhofen (Tirol)
- Beiträge
- 211
Damit meine ich einen Compiler mit dem man leicht eine OS schreiben kann, weil er nur Systerm-Unabhängige Befehle hat.
-
02.10.04 18:40 #4
- Registriert seit
- May 2004
- Beiträge
- 684
Ein Compiler hat keine "Befehle", so wie Du es jetzt meinst. Wenn Du ein OS schreiben willst, nimmst Du z.B. eine Kombination aus C und ASM, mit nicht all zu vielem Aufwand kannst Du Dir ein eigenes kleines Programm bauen, welches den Rechner starten kann (im weitesten Sinne ein OS
).
Der Compiler übersetzt den Programmcode in Maschinensprache - Systemunabhängige Befehle wie gesagt mit ASM, aber auch ein wenig C Code wird dabei sehr helfen. Wie schon mein Vorredner meinte, GCC ist ein guter C (++) Compiler.
Wenn Du einfach mal unter google suchst, dort gibt es eine Menge Material dazu, wie man es angeht, ein OS zu programmieren.
-
02.10.04 18:52 #5
Vielleicht interessiert dich das hier:
http://www.tutorials.de/tutorials20706.html
-
03.10.04 12:39 #6
- Registriert seit
- Jun 2004
- Ort
- Wels (Oberösterreich) bzw. Mayrhofen (Tirol)
- Beiträge
- 211
Mit befehle meine ich Anweisungen die unabhängig vom OS sind wie zi#um beispiele ein unabhängiges printf(). Und es gibt Compiler die Befehle haben, z. B. PureBasic oder Visual Basic.
Das Tutorial hab ich schon gelesen, aber trotzdem danke.
-
Die Einzigen OS-Unabhängigen Befehle sind die ASM-Befehle (ohne die Bibliotheken). printf ist der Aufruf einer Standard-Bibliothek in C. Die ist OS-Abhängig. Stell dir blos einmal einen Webserver ohne Bildschirm vor (mit individuellem Betriebsystem). Warum sollte der ein printf haben?
Falls du OS-Unabhängig (zumindest relativ) Programmieren willst, nimm Java.
-
Also Funktionen wie printf musst Du als Entwickler eines Betriebssystems selber programmieren. Eigentlich kannst Du nur Assembler für die Entwicklung verwenden, oder C (ohne Libs) mit Inline Assembler. Anders geht es nicht.
"Alle Götter waren unsterblich"
FDOS Beitriebssystem: www.fdos.de
CCBasic++ Programmiersprache: www.fdos.de/ccbpp
-
03.10.04 23:55 #9
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
An Assembler-Aufrufen wird man bei der Entwicklung von Betriebssystemen nicht vorbeikommen, da kann man sich noch so sehr auf den Kopf stellen. Gerade aus dem Grund, dass Dinge wie Treiber und Bootloader so hardwarenah programmiert werden müssen, dass C oder andere Hochsprachen nicht mehr geeignet sind.
Allerdings ist das hier genannte Beispiel der prinft-Funktion aus der Standardbibliothek von den gängigen C-Compilern auch größtenteils ohne Assembler-Aufrufe machbar. Das einzige, was man braucht, ist Schreibzugriff auf den für die Grafikausgabe reservierten Speicher - und an diesen kommt man mit C relativ einfach, wenn man Pointer einsetzt.
Andererseits ist es bei Pascal und davon abgeleiteten Sprachen so, dass das printf-Äquivalent nicht aus einer dynamisch ladbaren Bibliothek stammt, sondern direkt zum Sprachumfang gehört. Mit anderen Worten: Die Textausgabe auf Bildschirmen oder anderen Geräten ist bei Pascal Bestandteil der Grundausstattung der Sprache selbst. Ob das aber in diesem Fall auch funktioniert, kann ich dir nicht sagen."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
04.10.04 08:19 #10
- Registriert seit
- Feb 2003
- Ort
- Düsseldorf, Aachen (NRW)
- Beiträge
- 20
Naja er könnte sich ja die Mühe machen und einen Compiler schreiben, der den Source Code direkt Assembler umsetzt. Das habe ich mal gemacht, jedoch wird man schnell merken, dass es einfacher
ist ein Betriebssystem zu programmieren, als einen Compiler.
"Alle Götter waren unsterblich"
FDOS Beitriebssystem: www.fdos.de
CCBasic++ Programmiersprache: www.fdos.de/ccbpp
-
04.10.04 13:56 #11
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Wozu? Die meisten gängigen Compiler übersetzen den Code in mehreren Schritten, wobei auch Assembler dazu gehört. Beim gcc lässt sich dieser intern verwendete Schritt auch nach außen weitergeben, um die aus dem C-Code erstellte Assembler-Datei zu speichern. Allerdings gehen dabei natürlich Kommentare und Formatierungen verloren und bei ein paar hunderttausend ASM-Anweisungen in einer Datei (die man noch nicht einmal selbst geschrieben hat), wird es schwerer zu pflegen.Naja er könnte sich ja die Mühe machen und einen Compiler schreiben, der den Source Code direkt Assembler umsetzt.
Ich denke, beides wird - je nach Umfang des gewünschten Ergebnisses - ungefähr auf der gleichen Stufe stehen, wenn man sich ernsthaft damit beschäftigen möchte.jedoch wird man schnell merken, dass es einfacher ist ein Betriebssystem zu programmieren, als einen Compiler."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
04.10.04 21:31 #12
- Registriert seit
- Feb 2003
- Ort
- Düsseldorf, Aachen (NRW)
- Beiträge
- 20
Hallo,
also meiner Erfahung ist, dass Compilerbau komplexer ist als die Entwicklung eines Betriebssystems (soweit, wie das für eine Person überhaupt möglich ist).
(Ich meinte mit meinem Tipp eine nicht-C-Sprache, da ich das mit ASM nur in gcc kenne)"Alle Götter waren unsterblich"
FDOS Beitriebssystem: www.fdos.de
CCBasic++ Programmiersprache: www.fdos.de/ccbpp
-
05.02.05 19:56 #13HCProgger Tutorials.de Gastzugang
Hi,
Also ich wollte auch schon mal eine OS proggen, aber ich habe bisher nur mit NASM und GCC zutun gehabt. Einen anderen Compiler gibt es für dieses Gebiet glaube ich nicht.
Wenn du dich allerdings ernsthaft damit beschäftigen möchtest, dann solltest du LowLevel lesen, das ist ein Online-Magazin in dem es nur um OS-progging geht. Ich die Seite hieß http://www.lowlevel.net. Probier es einfach mal aus. Wenn es diese Seite nicht gibt, dann geh mal auf http://www.robsite.de, dort gibt es in jedem Fall einen Link dazu.
Ich habe alle dieser PDF's (wahlweise auch TXT oder HTML) gelesen und es ist echt gut. Dort wird das Programmieren von OS'sen in NASM und GCC (einmal in Englisch und einmal in Deutsch) erklärt, andere OS'se vorgestellt und erklärt wie das FAT16 Dateisystem funktioniert. (Das ist natürlich nur der Anfang).
Viel Spaß.
HCProgger.
-
Die Seite heißt http://www.lowlevel.net.tc/ !
greetz
daddzbe inspired...simplify...
Ähnliche Themen
-
g++ Compiler
Von tipster im Forum C/C++Antworten: 3Letzter Beitrag: 05.10.10, 08:51 -
c-Compiler für mac
Von GAILTALER im Forum C/C++Antworten: 2Letzter Beitrag: 11.04.08, 15:30 -
c++ Compiler
Von Martin Schroeder im Forum Linux & UnixAntworten: 1Letzter Beitrag: 11.10.04, 19:27 -
compiler
Von Pardon_Me im Forum Coders TalkAntworten: 7Letzter Beitrag: 10.02.04, 19:53 -
Compiler
Von Hannes im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 0Letzter Beitrag: 10.02.01, 21:04





Zitieren
Login





