Ich möchte mein eigenes Betriebssystem programmieren. Ist Java hierfür geeignet?
Oder wäre eine andere Sprache sinnvoller?
Muss ich etwas besonders beachten?
Gruß Michael
PS: Ich weiß, dass es ein haufen Arbeit ist ein Betriebssystem zu programmieren und es allein fast unmöglich ist. Ein Versuch ist es aber Wert
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
mir ist kein BS auf Java-Basis bekannt, beweg´ Dich mal lieber in Richtung C.
Gruß greg
Ich möchte Hirnchirurg werden. Messer hab ich schon - muss ich sonst noch was beachten????
(ohne Worte)
Guter Vergleich !!
Habe Achtung vor jedem Programmierer, der nur Teile oder Treiber für BS programmiert und staune immer wieder wie wenig sich doch die Jüngelchen bisher mit der Programmiererei beschäftigt haben müssen, denn sonnst müssten sie doch erkennen, daß neben dem Willen ein BS zu programmieren, eben mehr dazu gehört als eben mal in einem Forum kurz angefragt wie es so mal auf die Schnelle geht !!!
* immer wieder staunend kopfschüttel *
repi
Hmmm also zugegeben bei der Programmierung von Betriebssystemen schon gute Kenntnisse von Programmierung allgemein haben. Wenn man ein System programmiert (z.B. in Assembler) muss man jedoch da nicht ne Gottheit sein. Es ist ja auch nur ein (zugegeben großes Stück) Code. Wenn man nicht alle Tricks von der jewiligen Programmiersprache kennt, kann man diese auf jedenfall immer irgendwie über Alternativen lösen. Das wichtigste ist eigentlich die Vielzahl von Fehlerquellen und Aufgabengebiete eines Betriebssystems zu kennen und zu wissen wie der Computer "denkt", bzw. mit einem Betriebssystem haucht man dem Computer ja eine gewisse "Denkfähigkeit" ein.
Etwa genauso habe ich mit der Programmierung meines Betriebssystems angefangen. Es war eine Facharbeit für die 12. Klasse in Informatik. Zwei Wochen bevor ich mit der Programmierung angefangen habe, habe ich Assembler gelernt und dann in sechs Wochen ein lauffähiges Betriebssystem (damals noch ohne Datei System o.ä.) samt Dokumentation in etwa 3000 Zeilen Quellcode abgegeben
Such am besten mal im Archiv, die Frage ist hier schon mehrfach aufgetaucht...
Auf der x86-Plattform ist Java auf jeden Fall ungeignet. Sowas macht wenn überhaupt nur auf Java-fähiger Hardware Sinn...
CU Borlander
Frag mal Bill der kann dir Vieleicht weiterhelfen.
Was soll eigentlich die Frage, bist du überhaupt programmierer ?
Wenn man so ein "Projekt" in angriff nimmt muss man doch wissen
welche Programmiersprache den Leistungen eines BS am besten
funzt.
Moin...
da ich es net mag nur unkonstruktiv zu maulen ;-)
http://www.tutorials.de/showthread.php?threadid=20706
aber generell ist es SEHR hackelig und aufwendig ein OS zu baun, welches zumindest in ansätzen arbeitsfähig ist...
Hallo Michael,
die Programmierung eines BS ist mit Sicherheit nichts für den Anfänger.
Solltest Du Dich aber ernsthaft für die Grundlagen interessieren, hier eine Buchempfehlung:
"Moderne Betriebsysteme" von Andrew S. Tanenbaum.
A. Tanenbaum ist in der EDV Welt ein sehr bekannter Name.
Bevor es Linux gab, hat Er zusammen mit Seinen Studenten bereits ein
Open Source Unix mit dem Namen Minix herausgebracht.
Minix implementierte ein dem AT&T Unix System 7 ähnliches Unix und war bereits auf dem
8088 mit 128KB Ram und 2 Diskettenlaufwerken gut verwendbar !
Das Minix Filesystem war z. B. das erste unter Linux verwendete Filesystem, bevor ein eigenes entwickelt wurde.
Passend zu Minix gab es dann das Buch "Operating Systems, Design and Implementation",
welches die Grundlagen zur Programmierung von BS behandelte und ein absoluter Klassiker der DV Literatur ist.
Als Ergänzung gab es dann noch ein Buch mit den kompletten Minix Quelltexten.
Minix wurde aber ohnehin im Quelltext auf 7 Disketten ausgeliefert.
Das erstgenannte Buch ist die modernisierte Überarbeitung des DV Klassikers.
Es ist leider etwas schlecht übersetzt, bei guten Englisch Kenntnissen würde ich das Original vorziehen.
Grundsätzlich sollte man ein BS in Java schreiben können.
Dazu mußt Du allerdings eine entsprechende Java Virtual Machine (JVM) schreiben, die das BS implementiert.
Die Sourcen der JVM kannst Du Dir bei "java.sun.com" runterladen.
Du wirst sehen, dass die JVM im Kern überall da, wo es auf die Hardware geht, in C geschrieben wurde.
Gruss, vergisses
Das Buch kann ich auch empfehlen. Das habe ich für meine Facharbeit, insbesondere für die Dokumentation gebraucht.
PS:
Windows XP besteht schon aus MILLIONEN von Quellcode- Zeilen.
MFG matthew
Hallo Matthew,
auch Microsoft hat mal klein mit MS-DOS und weniger als
200.000 Zeilen Quelltext angefangen.
Heutzutage zeigen viel zu wenig Leute Interesse daran, wie ein Betriebsystem denn im Kern funktioniert, obwohl dieses Grundlagenwissen mit Sicherheit nützlich wäre.
Andere geben gleich auf, obwohl es doch auch nur ein Stück Software ist.
Deshalb kann ich die Anfrage von Michael prinzipiell nur gutheißen.
Allerdings sollte er erst mal Programmieren lernen, bevor er sich an
ein Betriebsystem heranmacht.
Es braucht ja nicht so ein umfassendes System wie Windows oder Linux zu sein. Klein und fein reicht da auch aus.
Gruss, vergisses
Hallo ich bin seit einigen Jahren C++-Programmierer. Und in letzter Zeit kam mir auch der Einfall ein kleines (sehr kleines) OS zu programmieren. Nur die grundlegenden Sachen, erweitern könnten dann auch andere Leute es leicht, wenn ich OOP einsetze.
Also ist Assembler zwingend notwendig um ein OS zu programmieren?
Also zum Beispiel um den Kernel und Bootmanager zu implementieren?
Kennt jemand Tutorials zum Thema?
So schwer ist das gar nicht ein Betriebssystem zu programmieren. Ich meine wo genau liegt das Problem? Es handelt sich auch nur um normalen Quellcode. Es ist eben nur sehr umfangreich. Ich programmiere mein System vollkommen in Assembler. Hier findest du meine Webseite (inkl. Download) www.visual-opal.de
Hi MichaelBS, find ich gut wenn du ein OS coden willst. ich würd auch eher in richtung C/asm tendieren, da java ja eine teilweise interpretierte sprache ist(wenn du deine java app kompilierst, wird bytecode erzeugt, dieser wird beim ausführen von der java.exe interpretiert. das ist auch schon ein weiterer Grund: du müsstest die Java-Bibliotheken und den Interpreter für dein BS erst mal umsetzen. Ausserdem wüsste ich gern, an was du so von der Architektur gedacht hast(etwas Dos-ähnliches, das mit einer Shell arbeitet, etwas Linux ähnliches, das eine shell benutzt und mu-fähig ist oder etwas windos ähnliches gui-gesteuertes.)
wenn du fragen zum os-coding hast, kannste mir mal mailen, ich hab sowas auch mal probiert(nach 5Jahren entwicklung hab ich das Projekt dann eingemottet.)
The Synthetic_ : Synthetic_codes@yahoo.de