Hallo ich möchte mal ein eigenes kleines betriebssystem programmieren das nur das notwendigste besitzt also einen Texteditor und einen Internet Browser und halt solche Sachen wie einen Bildanzeiger und einen Mediaplayer aber es sollte schon multitasking können. Könnte mir da jemand eine Sprache empfehlen?
ziemlich egal
Es müssen nur ein paar Vorraussetzungen erfüllt sein:
- es gibt für die Hardware-Plattform einen Compiler, sonst selbst schreiben, soll bei C einfach sein
- die Programmiersprache kennt alle hardware-nahen Kommandos, die ein BS eben braucht
und einen Internet Browser und halt solche Sachen
wie einen Bildanzeiger und einen Mediaplayer aber es sollte
schon multitasking können.
Hmm. Du willst wohl auch eine graphische Oberfläche haben (GUI). Na dann viel Spaß und genug Zeit bis zum Ableben.
Gruß
Stefan
Hallo,
Für den Kernel würde ich dir zu C + Assembler raten, den Rest in der Programmiersprache deiner Wahl.
Aber ich befürchte fasst, dass du dich da ein wenig übernimmst: Ein OS ist schon mal viel Arbeit, dann willst du auch noch grafische Ausgabe (auch viel Arbeit), einen Browser (Auch viel Arbeit) und einen Mediaplayer (Auch viel Arbeit). Und das ganze ohne eine Vorstellung davon, in welcher Sprache du es machen willst?
Grüße,
Moritz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Michael,
ich möchte mal ein eigenes kleines betriebssystem
programmieren das nur das notwendigste besitzt
LOL
also einen Texteditor und einen Internet Browser und
halt solche Sachen wie einen Bildanzeiger und einen
Mediaplayer aber es sollte schon multitasking können.
Könnte mir da jemand eine Sprache empfehlen?
Ich empfehle:
-
5 Jahre Studium Informatik / Angewandte
Informatik / Mikrorechnertechnik, plus -
5 Jahre Mitarbeit in verschiedenen Software-
Projekten und schrittweise Entwicklung eigener
Expertise in 2 oder 3 Programmiersprachen unter-
schiedlicher Verwendungsgebiete, aber auch -
zuerst mal die Programmierung eines
„Bildanzeigers“ mit Menü unter Windows in C#
oder Java zu versuchen
Resumé: „Die Sprache zu empfehlen“ ist eigentlich
unerheblich, nach zehn Jahren intensiver Arbeit
haben sich Deine Vorlieben und Stärken auf einige
wenige Tools (Sprachen) konzentriert, mit denen
Du etwas erreichen kannst (mehr Nutzen als Schaden
anrichten).
Grüße
CMБ
Hiho
ich möchte mal ein eigenes kleines betriebssystem
programmieren das nur das notwendigste besitztLOL
Schon mal nach „eigenes Betriebssystem“ oder (ertragreicher) OS und programming geguckt?
(das ist jetzt nicht abwertend gemeint, aber du wirst danach schon sehen, das du nicht weit kommst ;-| (eigene erfahrung, ist ja nicht so, das ich mich nicht schon mal umgesehen habe), um sowas hinzubekommen (und damit meine ich keinen bootfähigen kleinen kernel für x86, der „hello world“ ausgibt) brauchst du vor allem erfahrung … wie schon gesagt wurde.
So, nach der Vorrede ein paar resourcen:
http://www.nondot.org/sabre/os/articles
http://www.osdev.org
http://www.osdever.net
- der linux-kernel o_O, ne niedrige version (so 1.0)
Ansonsten hilft google weiter.
also einen Texteditor und einen Internet Browser und
halt solche Sachen wie einen Bildanzeiger und einen
Mediaplayer aber es sollte schon multitasking können.
Könnte mir da jemand eine Sprache empfehlen?Ich empfehle:
- 5 Jahre Studium Informatik / Angewandte
Informatik / Mikrorechnertechnik, plus
- 5 Jahre
Mitarbeit in verschiedenen Software-
Projekten und schrittweise Entwicklung eigener
Expertise in 2 oder 3 Programmiersprachen unter-
schiedlicher Verwendungsgebiete, aber auch
- zuerst mal
die Programmierung eines
„Bildanzeigers“ mit Menü unter Windows in C#
oder Java zu versuchen
Resumé: "Die Sprache zu
empfehlen" ist eigentlich
unerheblich, nach zehn Jahren intensiver Arbeit
haben sich Deine Vorlieben und Stärken auf einige
wenige Tools (Sprachen) konzentriert, mit denen
Du etwas erreichen kannst (mehr Nutzen als Schaden
anrichten).
Was sind deine Vorlieben (interessiert mich jetzt echt) ?
Hmm, in Anbetracht der Vorstellungen (Browser, Multimedia) wohl *zustimm* aber um ein bisschen rumzuspielen reicht auch weniger … egal
Naja, wollte das ein bisschen relativieren, ich meine, wenn jemand sehr viel Talent hat … soll doch jeder selbst herausfinden, ob er es nicht packt.
mfg TLF
Hallo Michael,
aaalso: Zum „Notwendingen“ für ein BS gehört auf jeden Fall ein Compiler!
Ich schlage deshalb vor, du baust erst mal einen C Compiler, der den gesamten Sprachschatz von Ansi-C99 abdeckt (http://de.wikipedia.org/wiki/Varianten_der_Programmi…) und (wie von dir gefordert) gleich mal Multithreading-Optimierungen durchführt. Perfekt für den Compilerbau ist die etablierte Sprache Brainfuck:
http://de.wikipedia.org/wiki/Brainfuck
Wenn du dafür immer die Zeit in deiner Mittagspause opferst, dürftest du damit in knapp einer Woche fertig sein.
Ich freue mich, dich in einer Woche hier im Forum wieder zu treffen, deinen Compiler zu bewundern und dir Ratschläge für die Weiterentwicklung des MichaelOS 1.0 geben zu dürfen.
Gruß
Martin
P.S.: du bist nicht zufällig mit „Hofi“ verwandt?
http://www.wer-weiss-was.de/cgi-bin/forum/showarticl…
aaalso: Zum „Notwendingen“ für ein BS gehört auf jeden Fall
ein Compiler!
Habe etwas C++ kenntnisse falls das was bringt
Ich schlage deshalb vor, du baust erst mal einen C Compiler,
der den gesamten Sprachschatz von Ansi-C99 abdeckt
(http://de.wikipedia.org/wiki/Varianten_der_Programmi…)
und (wie von dir gefordert) gleich mal
Multithreading-Optimierungen durchführt. Perfekt für den
Compilerbau ist die etablierte Sprache Brainfuck:
http://de.wikipedia.org/wiki/Brainfuck
muss ich da alle befehle von C reinbringen?
und weiss jemand woher man so einen brainfuck tutorial bekommt und und das mit den compler mit den wortschatz Ansi C99 brauch ich doch alle befehle von diesen C oder muss ich da „nur“ den kompletten Ansi code reinbringen?
Wenn du dafür immer die Zeit in deiner Mittagspause opferst,
dürftest du damit in knapp einer Woche fertig sein.
Ich freue mich, dich in einer Woche hier im Forum wieder zu
treffen, deinen Compiler zu bewundern und dir Ratschläge für
die Weiterentwicklung des MichaelOS 1.0 geben zu dürfen.
Das glaub ich nicht
P.S.: du bist nicht zufällig mit „Hofi“ verwandt?
http://www.wer-weiss-was.de/cgi-bin/forum/showarticl…
nein bin ich nicht
Hi Michael,
hmmm, also ich gehe jetzt mal davon aus, du hast deine anfängliche Frage wirklich ernst gemeint. Und ansonsten… hab eh’ gerade Zeit…
Natürlich nimmt man nicht Brainfuck für die Compilerprogrammierung her. Da (und auch mit der Zeitangabe) wollte ich nur darauf anspielen, dass dein Vorhaben „Mission Impossible“ ist. Aber eine Grundlage für ein BS ist wirklich dass man einen Compiler (nebst Linker) dafür hat, um andere Programme dafür übersetzen zu können.
Um den Aufwand mal *etwas* (das ist noch lange nicht alles!) auszuführen: Du müsstest einen eigenen Kernel schreiben, brauchst einen TCP/IP Stack für das Internet, Paging wäre was, Scheduler für das Multitasking, System-Bibliotheken (so wie dll in Windows und .a/.o in Linux), Datei-Management (wenn man Lust hat ein eigenes Dateisystem), eine GUI, etc… Und wenn du das dann alles hast, kannst du dir mal darüber Gedanken machen, was für Anwendungen du für dein BS schreibst. Nur reden wir hier nicht von Tagen, Wochen oder Monaten. Für das Ganze solltest du als einzelne Person Jahre bzw. Jahrzehnte ansetzen.
Und auch hier mein Rat, wie an Hofi:
http://www.amazon.de/Moderne-Betriebssysteme-Andrew-…
Dieses Buch dürfte deinen (falls vorhanden, bin da immer noch am zweifeln) Wissensdurst nach BS-Konstruktion fürs Erste stillen.
Grüße
Martin
Hallo Martin,
Eines der besten Bücher das ich kenne war:
Echtzeit-Betriebssysteme für Mikrocomputer
von Dr. Clemens Schmidt & Dietmar Albrecht
ISBN 3-922120-84-9 Buch anschauen
1984 Markt & Technik
Falls es einem antiquarisch über den Weg läuft …
Hat sogar den ganzen Sourcecode für „ROSY“ (Real time Operating SYstem) im Anhang, ist allerdings in PL/M-86 geschrieben, kommt aber daher ohne Assenbler aus.
Die Grundlagen und grundlegenden Probleme haben sich in den letzten 20 Jahren ja nicht verändert, zudem ist es recht leicht verständlich geschrieben.
MfG Peter(TOO)
Hallo Peter(TOO),
danke für den Hinweis, das kannte ich noch gar nicht.
Viele Grüße
Martin
weitere Frage zum Thema
und wie schwer ca. ist eine Linux-Dist zu machen??
thx
und wie schwer ca. ist eine Linux-Dist zu machen??
thx
je nachdem, was du alles dadrin haben willst entsprechend die Pakete runterladen, kompilieren, eben ein ganzes System aufsetzen (http://www.linuxfromscratch.org/).
wenn du dir ne eigene Distribution (wozu?) zusammenstellen willst, mußt du halt gucken, was du brauchst, was es schon gibt und was du selber erstellst (paket-verwaltung wär da wohl ein punkt, systemverwaltung halt, koordinierung der standard-tools, …)
irgendwie so?
mfg TLF
also auch schwer
thx
Jungle