PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GUI für betriebssystem.


simonsta
29.01.2012, 12:30
Hallo, ich bin 14 und habe ein kleines betriebssystem in c programmiert. Es hat schon allerlei funktionen. Kan schon neue programme installieren, deinstallieren. Also so eigentlich alles was dos auch konnte. Es besteht bist jetzt aber nur aus Text. Jetzt möchte ich eine Grafische Benutzeroberfläche programmieren. Ich habe gelesen, dass Apple und Microsoft folgende Programmiersprachen (und noch einige mehr) verwenden: Obejctive C, C++ und Smalltalk. Ich wollte einmal fragen in welcher programmiersprache ihr das machen würdet. Wo gibt es ein tutorial zu dieser sprache. Eines das wirklich gut ist, und nicht nur einfach blöd daher redet. Danke für eure hilfe.

Simon Stasius :D


AGGROStar1991
29.01.2012, 13:21
Realmode oder PM(bzw LM)? im Realmode kannst du eigentlich alles außer ASM vergessen, im PM wirst du zumindest Inline-ASM brauchen um die Graka anzusteuern. Hast du funktionierendes Paging aufgesetzt? Hast du evt auch einen Microkernel? Wo hast du vor die GUI zu lagern? als Serverprozess, im Kernel selbst oder als externes Programm? in welchem Ring soll das ganze laufen etc? Du solltest mal etwas konkreter werden.


Zur Sprache : warum willst du gotverdammt nochmal in einer Sprache die du nicht beherrscht OS-komponenten schreiben? kannst du denn C? Warum nimmst du nicht das? ObjC ist hässlich, man braucht jede Menge Laufzeitkomponenten, ebenso wie C++ damit es richtig funktioniert.
Warum man betriebssystemteile in Smalltalk schreiben sollte wüsste ich nicht, ich kenn mich mit der Sprache allerdings nicht wirklich gut aus.

simonsta
29.01.2012, 13:39
C kann ich wiklich gut. Und, das os ist im Real Mode. Wieso eine neue Sprache lernen? Naja, mir macht das spaß, und es dauert ja nicht so lange. Außerdem ist c glaube ich nicht das Wahre für grafik :D

AGGROStar1991
29.01.2012, 15:33
Realmode und C? oh gott....
Wenn du C kannst, warum nimmst du es nicht?
Andere Sprachen auf dem passenden Niveau lernen dauert länger und ist nicht trivial. Wenn du mit C nicht glücklich wirst dann wohl auch nicht mit C++ oder ObjC. C ist da leider der quasistandard.

Firefall
29.01.2012, 18:03
Wenn du nicht irgendwelche Spezial-Treiber hast wird die Wahl der Sprache sowieso keinen grossen Einfluss auf die Komplexität haben. Es gibt keine Sprache, die dir einfach sowas wie "setresolution" oder "drawline" bietet auf dieser Ebene - du musst selbst mit der Grafikkarte kommunizieren. C ist da kein schlechter Kandidat, um ebendies zu tun (Du wirst aber auch dort Inline-Assembly brauchen).

Brecher
24.02.2012, 23:54
Ich denke, du solltest die grafische Oberfläche mittels Assembler bauen (einfach bzw. auch nicht einfach 0xA0000 ansteuern). Du könntest es auch in C machen, doch ich denke, dass die grafische Oberfläche nicht so viel Leistung verbrauchen sollte. Aber wenn du es mittels C machen willst (was auch nicht verkehrt ist), dann sehe dir das an:

http://www.lowlevel.eu/wiki/Video_Graphics_Array

simonsta
25.02.2012, 18:39
http://www.lowlevel.eu/wiki/Video_Graphics_Array
Super, dass kann ich gut gebrauchen. Danke :D