Zork_Nemesis am 01.01.2007 02:43 schrieb:
Philthepro am 30.12.2006 18:30 schrieb:
ich will mir mal ein Betriebssystem programmieren
lol
Dann fang mal mit dem Informatikstudium an. Nach dem Vordiplom kannst du dann anfangen. Dazu solltest du dir vorher noch jenes zu Gemüte führen
http://www.amazon.de/Modern-Operating-Systems-2-e/dp/0130926418/sr=1-1/qid=1167615562/ref=sr_1_1/303-3308554-5272204?ie=UTF8&s=books-intl-de
Und ein Packen mit Büchern das in die Interna von IBM-kompatiblen PCs und des
x86er eingeht.
Also ich dir mal viel Spaß beim "mal ein BS programmieren". Wir hören dann in 5 Jahren von dir, nehme ich an?
Lol. Genau das gleiche hab ich auch grad gedacht.
@OP: zu nem Betriebssystem gehört sehr viel mehr als nur eine funky GUI. Hier eine *kleine* Liste von Zeugs was man beachten muss:
( 1. ) Filesystem:
FAT, ext2/3, NTFS, oder eine Eigenentwicklung? Wenn letzteres, ist Stabilität und Sicherheit gewährleistet? Ist das FS transaktionsorientiert/journalizing oder nicht? Ist Echtzeitfähigkeit implementiert? Wie schaut es aus mit Schutz gegen Datenverlust wenn beim Schreiben der Strom ausfällt?
( 2. ) Kernelarchitektur:
Monolithisch oder Mikro (Nano, Pico) oder Hybrid? Diese Entscheidung hat grundlegende Auswirkungen auf Treiberarchitektur und Performance bei allen Operationen die Ein-/Ausgabe in irgendeiner Art und Weise beinhalten.
( 3. ) Speicherverwaltung:
Wie wird der Arbeitsspeicher verwaltet? Wie werden Prozesse voneinander isoliert und die Speicherbereiche garantiert geschützt? Welche Art von Algorithmus wird beim Paging/Swapping eingesetzt? Auch das sind Grundlagen die die Geschwindigkeit und Stabilität jedes Speicherzugriffs beeinflussen.
( 4. ) Interprozesskommunikation:
Hier fängt schon an, dass sich die Punkte 2 und 3 treffen. Wie sieht die normale IPK aus? Sockets, Shared Memory, Pipes, oder was anderes? Wie werden fehlerhafte Verbindungen erkannt dass sie nicht das ganze System mitreissen wenn's mit ner Schutzverletzung knallt? (vgl Win95

)
( 5. ) Treiber:
Auch hier spielen die Punkte 2 und 3, allerdings jetzt auch noch Punkt 4 eine Rolle. Wie sind Treiber implementiert? Als Manifests? Als reguläre Prozesse? Als Kernelthreads?
Ich hoffe du siehst dass bei einem OS um einiges mehr dahintersteckt als einfach die GUI.
In diesem Sinne: Happy Coding.
