Programmiersprache
-
Gamepower schrieb:
Du kannst Dir ja mal das Sourcenpaket runterladen und die fertige Image auf einer Diskette legen.
Ich habe leider kein Diskettenlaufwerk. Aber wenn ihr das ernst meint: alle Achtung!
Dafür braucht ihr Jahre.
-
Gamepower schrieb:
XanClic schrieb:
http://compilers.iecc.com/crenshaw/tutor1.txt
"Let's build a compiler": Nie befolgt, könnte aber helfen.Die Quelltexte aus dem Tutorial muss mit TurboPascal kompilieren... Ich habe kein TP...
Turbo Pascal bekommst Du hier: http://edn.embarcadero.com/article/20803
-
Gamepower schrieb:
Z schrieb:
Ihr könnt doch den GCC portieren (bzw. den C-compiler davon).
Macht ihr ernsthaft ein eigenes OS? Das finde ich toll.
Du kannst Dir ja mal das Sourcenpaket runterladen und die fertige Image auf einer Diskette legen. Danach den PC von dieser starten und, Du siehst mal etwas anderes als Windows
Man braucht für PrettyOS kein Floppy-Laufwerk... VirtualBox, Qemu, Bochs, etc. können alle Images laden...
-
Gamepower schrieb:
XanClic schrieb:
http://compilers.iecc.com/crenshaw/tutor1.txt
"Let's build a compiler": Nie befolgt, könnte aber helfen.Die Quelltexte aus dem Tutorial muss mit TurboPascal kompilieren... Ich habe kein TP... Aber, evtl. kann ja jemand das ganze für C oder ASM übersetzen...
Du sollst ja auch nicht abkopieren, sondern selbst überlegen. Also mindestens abschreiben, das dabei in eine andere Programmiersprache umzuschreiben hilft wohl eher beim Verstehensprozess.
-
Macht ihr ernsthaft ein eigenes OS? Das finde ich toll.
Danke! Mache doch einfach mit. Es gibt momentan viele interessante Themen: Kernel, Treiber, User-Schnittstelle (User-Lib, API = syscalls, ...), Multitasking (Scheduler, Dispatcher), User-Programme, Portierungen (dazu ist es aber noch zu früh, da die API erst stehen muss), ...
Voraussetzung: vernünftiges Programmieren in C.
-
Erhard Henkes schrieb:
Voraussetzung: vernünftiges Programmieren in C.
Für User-Programme ginge auch C++ (natürlich ohne Standardbibliothek)...
-
Erhard Henkes schrieb:
Mache doch einfach mit. Es gibt momentan viele interessante Themen: Kernel, Treiber, User-Schnittstelle (User-Lib, API = syscalls, ...), Multitasking (Scheduler, Dispatcher), User-Programme, Portierungen
Ich habe gelesen dass ihr schon einiges habt. Was wäre denn konkret noch offen?
Erhard Henkes schrieb:
Voraussetzung: vernünftiges Programmieren in C.
Ich kann etwas C/C++.
-
Für User-Programme ginge auch C++
Auf der Nutzerseite sollte, wie bereits erwähnt, alles erlaubt sein. Dafür ist ein OS ja da. Die Begrenzung liegt dort nur in den Erstellungstools.
-
ich kann etwas C/C++.
Gut!
Du solltest vielleicht hier einsteigen:
http://www.henkessoft.de/Assembler/Assembler.htm
http://www.henkessoft.de/OS_Dev/OS_Dev1.htm
http://de.wikipedia.org/wiki/Betriebssystem
-
Erhard Henkes schrieb:
Für User-Programme ginge auch C++
Auf der Nutzerseite sollte, wie bereits erwähnt, alles erlaubt sein. Dafür ist ein OS ja da. Die Begrenzung liegt dort nur in den Erstellungstools.
ja, und in der Schwierigkeit, die Userlib zu portieren/verwenden
-
Erhard Henkes schrieb:
Du solltest vielleicht hier einsteigen:
http://www.henkessoft.de/OS_Dev/OS_Dev1.htmO Mann, alles auf einer Seite
Sieht so aus, als macht ihr eine Art FreeDOS mit Multitasking. Ihr macht auch viel über BIOS-Funktionen, oder?
Direktprogrammierung des VGA-Controllers habe ich auch mal für Grafikdemos gemacht, in Turbo-Pascal und Assembler. Das macht viel Spass!
Die Festplatten benutzt ihr nicht? Kann ich verstehen. Das ist wohl etwas zu riskant. Sowas sollte man sich nur in einem PC-Emulator wie VirtualPC trauen.
-
PrettyOS ist ein "normales" 32-Bit-ProtectedMode-OS, das hat nichts mit DOS/FreeDOS zu tun. Damit nutzt es natürlich auch so gut wie keine BIOS-Funktionen.
-
Ihr macht auch viel über BIOS-Funktionen, oder?
Nur im Bootloader, später schalten wir zügig in den Protected Mode mit all seinen Herausforderungen.
-
XanClic schrieb:
PrettyOS ist ein "normales" 32-Bit-ProtectedMode-OS, das hat nichts mit DOS/FreeDOS zu tun. Damit nutzt es natürlich auch so gut wie keine BIOS-Funktionen.
Ach so. Der Screenshot auf Seite 3 sah etwas danach aus. Ihr habt
schon viel Arbeit reingesteckt. Wie lange seid ihr schon dabei?
-
Ich habe Mitte März 2009 so begonnen: http://www.c-plusplus.net/forum/viewtopic-var-t-is-236354-and-start-is-0.html
Das ist das Ergebnis.
-
Erhard Henkes schrieb:
Ich habe Mitte März 2009 so begonnen: http://www.c-plusplus.net/forum/viewtopic-var-t-is-236354-and-start-is-0.html
Das ist das Ergebnis.Also knapp ein Jahr. Fulltime oder arbeitest bzw. studierst Du "nebenher"?
-
Ich arbeite, und betreibe das hier nur zum Spaß.
Alles fängt klein an:
http://www.henkessoft.de/OS_Dev/Bilder/VirtualBox.PNGAber ich muss sagen bei OSDEV kommt man aus dem "kleinklein" nicht mehr heraus. dafür bleibt es dauerhaft spannend.
-
Aber zurück zum Thema des Threads: eine eigene Programmiersprache erstellen, die auf PrettyOS optimal arbeitet.
-
Eine Idee wäre auch eine kleine DSL (Domain-specific language) zu entwerfen um damit einen Teil von PrettyOS zu schreiben. Bossa (http://bossa.lip6.fr/) ist z.B. eine DSL für Scheduling Verfahren. Da als Grundlage C verwendet wird und auch C Code erzeugt wird, ist der Einarbeitungs- und Implementationsaufwand gar nicht so groß (man sollte es trotzdem nicht unterschätzen).
Barrelfish setzt auch stark auf DSLs und auf http://www.barrelfish.org/ gibt es ein paar recht aktuelle Paper dazu.
-
Nöö. Wenn die Sprache was Neues Gutes zu bieten hat, kann man drüber nachdenken. Und zwar, das OS auf die Sprache mit der Sprache aufzubauen, das heißt, erstmal wieder jeden bisherigen Code außer dem bootsector umzuschubsen.