Lowlevel

Lowlevel => OS-Design => Thema gestartet von: JG am 02. March 2006, 08:36

Titel: Hat euer OS einen Compiler?
Beitrag von: JG am 02. March 2006, 08:36
Hallo,
ich hab da mal eine Frage: Hat euer OS einen Compiler? Wenn ja, welche Programmiersprache?

Viele Grüße,
   Johannes
Titel: Hat euer OS einen Compiler?
Beitrag von: C#ris am 02. March 2006, 10:20
Du meinst, ob wir neben dem OS auch noch einen eigenen Compiler geschrieben haben, mit dem sich das OS kompilieren lässt?

Also bei unserem OS (www.xerxys.org) bisher keinen. Geplant ist aber definitiv ein optimierender Java-Compiler und ein JIT-Compiler innerhalb der Virtual Machine.
Titel: Hat euer OS einen Compiler?
Beitrag von: JG am 02. March 2006, 11:26
Ne, ich meine einen Compiler, der auf eurem OS läuft ;)
Titel: Hat euer OS einen Compiler?
Beitrag von: bitmaster am 02. March 2006, 11:36
Zitat von: JG
Ne, ich meine einen Compiler, der auf eurem OS läuft ;)
Also ich arbeite zur Zeit an einem ASM-Compiler (ich weiß das man den Assembler nicht Compiler nennt). Dieser soll die TASM-Syntax haben, also auch mein Betriebssystem-Quellcode assemblieren können. Natürlich werde ich die DOS/Windows erweiterungen weglassen, da ich die nicht brauche. Aber mir gefällt die Syntax vom TASM am besten, deswegen habe ich den auch für die OS-Programmierung genommen. Also soll mein Compiler mit ein paar Enderungen im Quellcode, den TASM-Quellcode assemblieren können. So sieht dann ungefähr der unterschied aus:

TASM:
code name
assume cs:code,ds:code,es:code

start:
org 0

xor ah,ah
mov si,offset msg
int 60h
mov ah,04h
int 60h

msg db "Hallo Welt ;)",00h

code ends

end start


EASM: (mein Compiler)
xor ah,ah
mov si,offset msg
int 60h
mov ah,04h
int 60h



org und assume kann man auch einfügen, sollen aber nicht pflicht sein. Ich muss zugeben das ich aber noch nicht weit bin.

bitmaster
Titel: Hat euer OS einen Compiler?
Beitrag von: [MM] am 02. March 2006, 12:34
Also ich habe einen eigenen Compiler der mein OS Compiliert (und sich sebst auch) (siehe Thread "Eigener C++ Compiler"). Jedoch ist mein OS noch nicht soweit, dass man ihn dort benutzen könnte (oder überhaupt irgendwelche Programme)...

@bitmaster: Ich würde da von Assemblieren sprechen.

MM
Titel: Hat euer OS einen Compiler?
Beitrag von: JG am 02. March 2006, 14:12
Was ich mich frage: Ich will ja Programme für mein OS kompilieren (im moment natürlich noch nicht), aber dazu brauch ich einen Compiler. Aber für den Compiler brauch ich ja wieder einen Compiler  :roll:
Wie habt ihr das gelöst?
Titel: Hat euer OS einen Compiler?
Beitrag von: bluecode am 02. March 2006, 14:22
du kannst mit dem normalen C/C++ Compiler von Linux/Windows auch Programme für dein OS compilieren. Du musst nur die ganzen std-libs des HostOS (Linux/Windows) rauslassen  und stattdessen den Code gegen deine eigene speziell für dein OS erstellte std-lib linken.
Titel: Hat euer OS einen Compiler?
Beitrag von: JG am 02. March 2006, 14:39
Ja, aber mein OS soll keine .exe Dateien haben ;)
Sondern ein eigenes Dateiformat..
Titel: Hat euer OS einen Compiler?
Beitrag von: SSJ7Gohan am 02. March 2006, 15:41
Schreib den Compiler in einer portablen Sprache, die er selber unterstützt. Dann kannst du ihn mit einem Windows/Linux/was-auch-immer Compiler kompilieren und die EXE danach benutzen, um ihn in dein Format zu kompilieren. Für ein eigenes EXE Format bräuchtest du eigentlich auch nur einen neuen Linker, was viel einfacher ist als ein ganzer Compiler.
Titel: Hat euer OS einen Compiler?
Beitrag von: Osbios am 19. April 2006, 22:46
Da ich für mein OS FASM benutze und FASM mit sich selbst assembliert werden kann, werde ich ihn wohl mit einigen änderungen auf meinem OS zum laufen bringen können. Vorausgesetzt das mein OS irgendwann in einen benutzbaren zustand kommt. ;)

MenuetOS wurde z.B. auch in FASM geschrieben und hat FASM auch auf dem System.
Titel: Hat euer OS einen Compiler?
Beitrag von: Noobtotal am 24. July 2006, 11:20
Zitat von: JG
Ja, aber mein OS soll keine .exe Dateien haben ;)
Sondern ein eigenes Dateiformat..


Compilier es zu rohem Binärformat. Dieses lädtst du nach nem Bootloader-Prinzip und springst hin. Wenn du nen Rücksprug-I(n0terrupt hast, in dem Programm, kommst du auch wieder zurück zum Kernel und hättest nebenbei ein primitives Single-Tasking geschrieben. DOS arbeitet eigentlich nach dem selben Prinzip :wink:  :lol:  :D  :)  :shock:
Titel: Hat euer OS einen Compiler?
Beitrag von: bluecode am 24. July 2006, 13:37
Zitat von: Noobtotal
Compilier es zu rohem Binärformat.

Nein, ein Compiler macht eine Objektdatei normalerweise. Das ist meilenweit von einer Binärdatei entfernt. Unter Linux wird da normalerweise *.o verwendet und das ist vom Format her ELF.
Titel: Hat euer OS einen Compiler?
Beitrag von: ST-225 am 24. July 2006, 13:41
Ich glaub wenn ein OS einen eigenen Compiler/Assembler hat kann man es als 'freestanding' bezeichnen.

Jetzt aber mal eine dumme frage: wie/womit hat man den ersten assembler überhaupt assemblieren können ? Das ist irgendwie so eine frage wie 'was war zuerst da, das huhn oder das ei'  :wink:
Titel: Hat euer OS einen Compiler?
Beitrag von: Noobtotal am 24. July 2006, 13:42
@ bluecode:
Tja und danach:
ld Dingsbums.o OUTPUT_FORMAT ("binary")
Oder so :wink: !

@ ST-225:
Die ersten Assembler waren die Programmierer selbst.
Ein befreundter Programmierer, der schon sehr lang in der Szene ist, hat mir das erzählt. Man schrieb zuerst den Assembler-Code auf und übertrug ihn dann per Opcode Tabelle innen Hexeditor und dieser wurde geschrieben, indem man nicht Hex-Code sondern Binärcode geschrieben hat. Dieser wurde dann in einem ROM-Brenner aufs ROM des Computers übertragen und in den Rechner eingebaut. Das war dann sozusagen das BIOS. Allerdings musste man den Code für Hardware und so alles selbst tippen. Und da Speichermedien sehr teuer waren, wiederholte sich der Vorgang bei jedem Start. Allerdings bbesassen die Geräte damals meistens statisches RAM wodurch man es meistens nur bei nem total Reset wiederholen musste. Ungefähr so wars in der grauen Vorzeit. Dagegen wirkt DOS toppmodern!
Titel: Hat euer OS einen Compiler?
Beitrag von: bluecode am 24. July 2006, 14:01
Zitat von: Noobtotal
ld Dingsbums.o OUTPUT_FORMAT ("binary")

Jo, aber du hast von Compilern geredet :roll: Da ist schon ein Unterschied.

edit: Wobei, jetzt wo dein Post nochmal durchles macht es sogar fast Sinn :lol: Ich hab statt "Compilier" "Compiler" gelesen und dacht ok, komische Gramatik und dann auch noch falsch  :lol: Evtl. sollte ich nicht gleich nach dem Aufstehen posten...
Titel: Hat euer OS einen Compiler?
Beitrag von: Noobtotal am 25. July 2006, 18:32
Oder so wie ichs mach: Gleich nachm aufstehen ca. 7 Liter schwarzen Kaffee bei 200°C trinken! :lol:  :lol:  :lol:
Titel: Hat euer OS einen Compiler?
Beitrag von: nooooooooos am 25. July 2006, 18:36
Himmel......Klemmte deine Maus oder woher kommen diese vielen Smilies?
Titel: Hat euer OS einen Compiler?
Beitrag von: Noobtotal am 25. July 2006, 18:38
Welche vielen Smilies?
Titel: Hat euer OS einen Compiler?
Beitrag von: bluecode am 25. July 2006, 18:47
Kaffee find ich nich so doll, ist ein Aufputschmittel und verfärbt die Zähne :?
Titel: Hat euer OS einen Compiler?
Beitrag von: Noobtotal am 25. July 2006, 18:50
Dann nimm halt Wasser. Die 200C° dürften reichen, oder? :?  :?:  :lol:  :lol:  :lol:
Titel: Hat euer OS einen Compiler?
Beitrag von: nooooooooos am 25. July 2006, 19:05
Kann sie jetzt auch nicht mehr entdecken. Frage mich ob das du oder der Hanni warst??????
Titel: Hat euer OS einen Compiler?
Beitrag von: Noobtotal am 25. July 2006, 19:20
Ich wars :oops: !
Titel: Hat euer OS einen Compiler?
Beitrag von: hannibal am 26. July 2006, 06:29
Zitat von: Noobtotal
Ich wars :oops: !


Hehe, brav ;)
Titel: Hat euer OS einen Compiler?
Beitrag von: Coffee am 28. July 2006, 11:10
Zitat von: bluecode
Kaffee find ich nich so doll, ist ein Aufputschmittel und verfärbt die Zähne :?


gar nicht *bah*