Benutzer:Thunder
Mein echter Name ist Christian, ich bin Schüler, 15 Jahre alt und wohne in Wien. Zum Programmieren bin ich über BlitzBasic gekommen. Danach wollte ich mehr Erfahrung mit anderen Sprachen sammeln. Hier, was ich bisher gelernt habe:
- BlitzBasic (verwende ich nicht mehr)
- C
- BlitzMax
- x86 Assembly (Intel-Syntax ftw! - bevorzugt flat assembler)
- und etwas von denen: Lua, Python, Java, PHP
Ich programmiere sehr oft in BlitzMax, da dort vieles vorgefertigt ist und man sich um vieles nicht kümmern muss (Strings, Linked Lists ...) Außerdem ist der Zugriff auf Grafikfenster sehr leicht. Ich habe mich mit dem Bauen von GUIs, Compilern, Interpretern, Spielen und nützlichen Tools beschäftigt.
Doch dieses ganze Entgegenkommen der Sprache hat dazu geführt, dass ich es auch liebe in C oder Assembly zu programmieren.
Dann kam der Traum: Ein eigenes OS. Ich habe mich von vorneherein darauf eingestellt, dass es lang dauern kann (und bei mir dauert es eben noch immer an). Mittlerweile bin ich bei kernel14 angelangt (ohne bei den vorherigen Kernels wirklich über die Tutorialreihe hinauszugelangen - Grund: Es gab immer irgendwelche Fehler die mich in den Wahnsinn getrieben haben. Allen voran der General Protection Fault!) und ich denke, langsam könnte es was werden.
Meine Ziele
(leicht geänderte Ziele)
- Wissen sammeln (in allen Richtungen) :D
- Kerneltyp: Mal sehen. Irgendwas zwischen modularem, exo- oder monolithischem Kernel.
- Single-Tasking mit Erweiterung durch TSR-Konzept (MS-DOS). Vielleicht Multitasking.
- im Moment ist Paging vorgesehen. Vielleicht irgendwann eine Umstellung oder Halbumstellung auf Segmentierung.
- Eigenes Dateiformat für ausführbare Dateien und Objektdateien.
- Ausführbares Format: oben genanntes und flat binary.
- Ein paar Programme portieren oder schreiben.
- und das ganze in x86 Assembler!!!^^
Aktueller Stand: Ich bin leider erst dabei, beim Singletasking den Switch zu den Usermode-Segmenten einzubauen. Danach kommt physische Speicherverwaltung und (weitere) Segmentierung.