Supportnet / Forum / Anwendungen(Java,C++...)
Programmiersprache
Frage
Hallo!
Ich suche eine Programmiersprache mit der ich ein OS prgrammieren kann......
Folgendes kann ich schon: HTML, DHTML, SHTML, XHTML, Pascal, Turobopascal und ein klien wenig Basic!
Hilft mir aber alles nichts, damit kann man kein OS machen......
mit Pascal und BASic funktionierts nicht....
Bitte um Hilfe!
Antwort 1 von Toadie
Assembler?
Antwort 2 von exeKANNICH
Gibt es da villeicht etwas einfacheres?
Ungefähr so schwer wie Pascal?
Ungefähr so schwer wie Pascal?
Antwort 3 von draack
Hi,
auch wenn ich nicht glauben kann, dass du echt (also kein Troll) bist:
Was ist deine Motivation?
Moderne Betriebssysteme von Andrew S. Tanenbaum ist das Standardwerk für jeden, der sich mit Betriebssystemprogrammierung beschäftigen möchte.
Die Programmierung eines Betriebssystem ist nicht von der verwendeten Programmiersprache abhängig.
Tschö,
Volker
P.S.: HTML, DHTML, SHTML, XHTML sind keine Programmiersprachen.
auch wenn ich nicht glauben kann, dass du echt (also kein Troll) bist:
Was ist deine Motivation?
Moderne Betriebssysteme von Andrew S. Tanenbaum ist das Standardwerk für jeden, der sich mit Betriebssystemprogrammierung beschäftigen möchte.
Die Programmierung eines Betriebssystem ist nicht von der verwendeten Programmiersprache abhängig.
Tschö,
Volker
P.S.: HTML, DHTML, SHTML, XHTML sind keine Programmiersprachen.
Antwort 4 von exeKANNICH
Das mit HTML weis ich, kann man villeicht ein OS irgendwie in Pascal erstellen?
Was ist außer einer IDE dafür nötige?
Was ist außer einer IDE dafür nötige?
Antwort 5 von disco
moin
ich programmiere schon seit einigen jahren. öfter auch mal beruflich.
aber ich wüsste nicht mal ansatzweise, wie und wo ich anfangen sollte, ein betriebsystem zu bauen.
allerdings weiss ich ganz genau wo ich anfangen würde mich zu informieren:
www.google.de
http://www.google.de/search?num=50&hs=a0T&hl=de&client=firefox-a&rl...
ein hilfreicher hit:
http://www.chip.de/c1_forum/thread.html?bwthreadid=516209
g,
disco
PS: eine suchmaschine sollte immer die erste anlaufstelle für einen programmierer sein...
ich programmiere schon seit einigen jahren. öfter auch mal beruflich.
aber ich wüsste nicht mal ansatzweise, wie und wo ich anfangen sollte, ein betriebsystem zu bauen.
allerdings weiss ich ganz genau wo ich anfangen würde mich zu informieren:
www.google.de
http://www.google.de/search?num=50&hs=a0T&hl=de&client=firefox-a&rl...
ein hilfreicher hit:
http://www.chip.de/c1_forum/thread.html?bwthreadid=516209
g,
disco
PS: eine suchmaschine sollte immer die erste anlaufstelle für einen programmierer sein...
Antwort 6 von MacGyver031
@exeKANNICH:
Um einen Betriebssystem zu programmieren brauchst du C und Assembler. Es gibt Prozessoren wo du auch Java verwenden kannst.
Ich weiss nicht ob du so Klug bist wie Torvals, aber ein Betriebssystem braucht schon einiges (Memory management, semaphore, thread handler, process handler, hal, ........ ) und du musst alle Programme für deinen Architektur selber schreiben.
Um einen Betriebssystem zu programmieren brauchst du C und Assembler. Es gibt Prozessoren wo du auch Java verwenden kannst.
Ich weiss nicht ob du so Klug bist wie Torvals, aber ein Betriebssystem braucht schon einiges (Memory management, semaphore, thread handler, process handler, hal, ........ ) und du musst alle Programme für deinen Architektur selber schreiben.
Antwort 7 von bored
@ disco und exeKANNICH:
ICH würde so anfangen:
1. Nen Plan haben.
Was will ich?
Wie will ich es? (Zugriff auf Hardware, Prozess- und Speicherverwaltung, Oberfläche [irgendwas will man ja auch sehen können])
2. Konzeption der Grundlegenden Funktionen (abstrakt)
Wie will ich das Ding zum laufen bringen?
Wie soll es weitergehen?
3. Feinkonzept von 2
Wie GENAU stratet das System, was passiert alles und was GENAU muss ich alles tun?
Was passiert während des Betriebes, auf was muss ich achten?
Wie spreche ich meine Hardware an?? (Treiber)
Sobald man dann im System selber was machen kann ("Hey, ich hab ne Konsole und ich kann da was reinhacken!!!"), kann man anfangen, die im Kernel eingebauten Funtionen anzusprechen (z.B. Verzeichnisstruktur auslesen [Befehle wie cd dir oder ls])
Dann kommen Befehle zur Modifikation der Dateien und Verzeichnisse (mkdir, rm usw...).
Sobald das funktioniert, sollte man vielleicht anfangen, sich Gedanken zu machen, Dateien selber im Dateisystem anzulegen.
Wenn das alles funzt, kann man sich nen Compiler für das System schreiben. Das macht die Arbeit später einfacher.
Für das alles bis zum Compiler würde ich eine möglichst maschinennaahe Sprache wie z.B. Assembler verwenden. Mit anderen geht das zwar auch, aber ich denke mal, dass Assembler für solche Aufgaben prädestiniert ist.
Und während des Ganzen: DOKUMENTATION ANFERTIGEN!!!
Ist jetzt zwar alles ein wenig dahergesponnen, aber ich denke mal, dass das so abläuft. Ansonsten kann man sich ja opensource-Projekte wie den Linux-Kernel oder einen der BSD-Kernel anschauen und dort nachsehen, wie es da gelöst wurde.
Soweit ich weiß, befindet sich im Kernel selber nur sehr wenig Assembler, das liegt aber dadran, dass das meiste entstanden ist, als das erste lauffähige System schon existierte.
War dieser Tanenbaum nicht der Kerl, der so übelst Linux und Linus angeflamt hat?
@ MacGyver031:
Die verwendete Sprache ist ziemlich egal. Beim Compiler dürfte es schon interessanter werden.
Nicht vewenden kann man lediglich C# (und alle .NET-Konsorten), Java und Skriptsprachen, weil die alle ein Framework voraussetzen. Aber ob du nun C, C++, Pascal, Assembler oder Basic einsetzt, müsste ziemlich egal sein.
Wenn man von 0 anfängt, kann man sich ja eh komplett austoben.
ICH würde so anfangen:
1. Nen Plan haben.
Was will ich?
Wie will ich es? (Zugriff auf Hardware, Prozess- und Speicherverwaltung, Oberfläche [irgendwas will man ja auch sehen können])
2. Konzeption der Grundlegenden Funktionen (abstrakt)
Wie will ich das Ding zum laufen bringen?
Wie soll es weitergehen?
3. Feinkonzept von 2
Wie GENAU stratet das System, was passiert alles und was GENAU muss ich alles tun?
Was passiert während des Betriebes, auf was muss ich achten?
Wie spreche ich meine Hardware an?? (Treiber)
while (! funktioniert)
{
4. Hacken
5. Testen
}Sobald man dann im System selber was machen kann ("Hey, ich hab ne Konsole und ich kann da was reinhacken!!!"), kann man anfangen, die im Kernel eingebauten Funtionen anzusprechen (z.B. Verzeichnisstruktur auslesen [Befehle wie cd dir oder ls])
Dann kommen Befehle zur Modifikation der Dateien und Verzeichnisse (mkdir, rm usw...).
Sobald das funktioniert, sollte man vielleicht anfangen, sich Gedanken zu machen, Dateien selber im Dateisystem anzulegen.
Wenn das alles funzt, kann man sich nen Compiler für das System schreiben. Das macht die Arbeit später einfacher.
Für das alles bis zum Compiler würde ich eine möglichst maschinennaahe Sprache wie z.B. Assembler verwenden. Mit anderen geht das zwar auch, aber ich denke mal, dass Assembler für solche Aufgaben prädestiniert ist.
Und während des Ganzen: DOKUMENTATION ANFERTIGEN!!!
Ist jetzt zwar alles ein wenig dahergesponnen, aber ich denke mal, dass das so abläuft. Ansonsten kann man sich ja opensource-Projekte wie den Linux-Kernel oder einen der BSD-Kernel anschauen und dort nachsehen, wie es da gelöst wurde.
Soweit ich weiß, befindet sich im Kernel selber nur sehr wenig Assembler, das liegt aber dadran, dass das meiste entstanden ist, als das erste lauffähige System schon existierte.
War dieser Tanenbaum nicht der Kerl, der so übelst Linux und Linus angeflamt hat?
@ MacGyver031:
Die verwendete Sprache ist ziemlich egal. Beim Compiler dürfte es schon interessanter werden.
Nicht vewenden kann man lediglich C# (und alle .NET-Konsorten), Java und Skriptsprachen, weil die alle ein Framework voraussetzen. Aber ob du nun C, C++, Pascal, Assembler oder Basic einsetzt, müsste ziemlich egal sein.
Wenn man von 0 anfängt, kann man sich ja eh komplett austoben.
Antwort 8 von draack
Hi!
Tschö,
Volker
Zitat:
War dieser Tanenbaum nicht der Kerl, der so übelst Linux und Linus angeflamt hat?
Andrew S. Tanenbaum hat Linus Torvalds monolithischen Kernel heftig kritisiert - und hat damit auch nicht ganz unrecht behalten. Den lesenswerten Thread kannst du hier nachlesen.War dieser Tanenbaum nicht der Kerl, der so übelst Linux und Linus angeflamt hat?
Tschö,
Volker
Antwort 9 von Fritz345
Ganz ohne ASM geht es definitiv nicht.
Zudem:
https://supportnet.de/threads/1359634
https://supportnet.de/threads/1360296
Zudem:
https://supportnet.de/threads/1359634
https://supportnet.de/threads/1360296

