Hat irgendwer Lust, dabei mitzumachen? Ich habe schon einen ftp-Server aufgesetzt, und ein Forum kommt auch bald, ebenso eine Webseite. Die Planung des Projekts wird von mir durchgeführt, an meinem Linux-Rechner, an dem regelmäßig (Immer Sonntag Vormittags) Builds durchgeführt werden.
Hier mal der Designtext
Delta Nanocore ist ein sehr sicheres Betriebssystem, obwohl es kooperatives Multitasking benutzt. Wenn Prozesse nicht kooperieren, merkt sich der Nanocore dies und killt den Prozess nach einer Bestimmten Zeit. Der Benutzer wird sofort informiert. Das Ziel ist, den Kernel möglichst klein zu halten, und alle unnötigen Funktionen in Module zu verpacken. Diese Reduzierung erfolgt bis zu einer Ebene, wo Software vollkommen Betriebssystemunabhängig laufen kann. Für diesen Nanocore werden dann Module programmiert, wie zum Beispiel Grafiktreiber oder Diskettentreiber.
Basierend auf diesem Prinzip wird eine Grafische Benutzeroberfläche programmiert, die auf bestimmte Module zurückgreift.
Der Nanocore wird von einem in zwei Stufen geteilten Loader geladen. Die erste Stufe (Stage-B) wechselt in den Protected Mode und lädt die zweite Stufe (Stage-M), einen monolithischen Kernel, der den Prozessor und andere Geräte auf Delta vorbereitet und auf Kompatibilität prüft. Ist alles ok, wird der Nanocore von Diskette oder Festplatte oder Netzwerk geladen. Er wird anhand zweier Prüfsummen analysiert (zum Beispiel auf Infektion durch Viren). Wurden Fehler festgestellt, wird der Benutzer informiert. Falls Stage-M Zugriff aufs Internet oder Netzwerk hat, wird ein aktueller Nanocore heruntergeladen und installiert. Dann werden noch die Module überprüft, die geladen werden sollen. Wird hier kein Fehler oder Inkompatibilität festgestellt, werden die Module in eigene Adressräume geladen. Jedes Modul wird initialisiert. Danach wird der Nanocore an eine bestimmte Speicheradresse geladen. Dann werden dem Nanocore an einer anderen Speicheradresse Parameter übergeben, also welches Modul (in diesem Fall das GUI) nach dem Start aufzurufen ist usw.Dann wird der Nanocore aufgerufen. Er zerstört per Speicherüberschreibung alles vom Loader. Dann schaut er in seiner Parameterliste nach, welches Modul er zuerst aufrufen soll. Dieses Modul wird dann in einen geschützten Speicherbereich geladen und ausgeführt. Dieses Sicherheitsprinzip setzt sich im ganzen System durch, alles ist isoliert, Kommunikation zwischen Objekten nur durch Pipes und System Calls.
Ich bin schon beim Coden und grade dabei, ein VESA-Modul zu schreiben.