AiCOS

Aus Lowlevel
Version vom 13. Dezember 2008, 13:20 Uhr von ScollPi (Diskussion | Beiträge) (→‎Meine OpenSource-Ecke)
Wechseln zu:Navigation,
AiCOS
Entwickler: ScollPi
Akt. Version: Research Phase
Lizenz: n/a
OS-Eigenschaften
Plattform: x86 (später auch x64)
Kernelart: Modulares Kernel System (MKS)
Sprache: Assembler, C/C++
API: n/a
Binärformat: bisher RAW
IPC-Methode: Channels
Homepage
In Planung


AiCOS ist als ein Betriebssystem geplant, welches Anfangs für Aufgaben im Netzwerkbereich fungieren soll, unter anderem auch als Storage-System. Dabei wird es gezielt auf Multiprozessor bzw. Multicore-System operieren. Ob es auch den Sprung in ein Cluster schafft, wird sich dann zeigen. Aber erst einmal alles Schritt für Schritt, begonnen mit einem Singlecore-System.

AiCOS soll frisches Blut (über eine genauere Definition werde ich noch grübeln) in die Computertechnik bringen, unter anderem ein eigenes FS, eigenes Netzwerkprotokoll und eine eigene Programmiersprache ... wenn es klappt.


Entwicklungsumgebung

  • Intel Core 2 Quad mit 4 GiB RAM
  • Microsoft Windows XP Pro
  • Microsoft Visual Studio 2008 Express
  • Mircosoft .NET Framework v3.5
  • Microsoft Windows-Debugger x86/x64 für Kernel-Debug
  • Microsoft Virtual PC 2007

Testumgebung: Es wird immer zuerst in der VM auf dem Entwicklungssystem getestet und erst wenn da alles ohne Probleme läuft, wird auf der realen Maschine getestet. Als Test-PC dient da ein P2 mit müden 400 MHz.


Konzept

Bootsektor

  • Der Bootsektor wird so geschrieben, dass es im Prinzip egal ist, an welcher Adresse dieser geladen und ausgeführt wird. Derzeit wird noch ein Fehlercode ausgeben und die Ausführung angehalten, wenn sich der Bootcode nicht an der Adresse 0x00007C00 befindet.
  • Für jedes FS (RAW, FAT, FAT32 und ISO9660) auf dem AiCOS zum Einsatz kommen wird, wird es einen entsprechenden Bootcode geben.

Bootloader

  • Soll erste Möglichkeiten des Kernel-Debugging ermöglichen.
  • Einrichten des MKS und laden bedingter Treiber.
  • Startup des MKS.

Kernel

  • MKS = Modulares Kernel System, unterteilt in:
    • Managemant-Kernel, verwaltet RAM und koordiniert die anderen Kernels für CPU, IO und Subsysteme.
    • CPU-Kernel, jeder Kern hat seinen eigenen.
    • IO-Kernel.
    • Subsystem-Kernel, für weitere Treiber, Filter und und und ...
  • Soll insich redundant werden, erfordert aber mind. 2 CPUs bzw. 2 CPU-Kerne.

Notiz: Zum besseren Verständnis meines Konzept ist eine visuelle Darstellung meines OS in Planung. Sie beinhaltet den Bootprozess und den Aufbau des MKS.


History

  • 07.12.2008 Bootsektor für Raw-Floppy fertig.
  • 06.12.2008 Bootsektor-Programm, das den Inhalt der Register der CPU beim Einsprung in den Bootcode anzeigt.


Stand der Dinge

Fertig:

  • Bootsector für Floppy (Raw)


In Arbeit:

  • Bootloader
    • Entry16: 16-Bit-Einsprung


Geplant:

  • Bootloader
    • Entry32: 32-Bit-PM-Einsprung
    • COM-Treiber: für Kernel-Debug benötigt
    • Kernel-Debug
  • Bootsektor für CD


Meine OpenSource-Ecke


Ziele

Ein vollwertiges OS auf die Beine zu stellen, welches sich auch im Netzwerkbereich behaupten kann. Dabei wird keinerlei Code von anderen OS verwendet, vorallem keine Bootloader wie z.B. Grub!