NerdyKernel — Änderungen 4039 → 4040

Zeile 19: Zeile 19:
 
== Entwickler ==
 
== Entwickler ==
 
* [[Benutzer:rizor | rizor]]
 
* [[Benutzer:rizor | rizor]]
 +
 +
== Userinterface ==
 +
Zur Interaktion mit dem User sind einfache Terminals geplant.
 +
Später soll es dann auch ein Kernel-Terminal geben, dass genau angibt, was geschieht und wie die momentante Situation
 +
im Kernelspace aussieht.
 +
Der User hat dann auch die Möglichkeit den Kernelspace bedingt zu verändern um Probleme zu beheben.
 +
Es soll aber nur eingeschränkten Zugriff geben, damit der Kernel nicht zerstört wird.
 +
 +
== OS-Design ==
 +
Es soll ein elementarer Microkernel angeboten werden.
 +
Dieser soll auch ein elementares Filesystem haben, damit er die Boot-Files lesen und die entsprechenden Module laden kann.
 +
Manche Module sollen dabei direkt in den Kernelspace geladen werden (z.B. PIC, erweiterte Speicherverwaltung).
 +
Alle anderen Module sollen dann im Userspace arbeiten.
 +
Dadurch ist eine größtmögliche Portierbarkeit auf andere Architekturen ermöglicht werden.
 +
Außerdem sind dann leichter erweiterungen und Updates möglich.
 +
Jeder Task, der einen Syscall anbietet, muss außerdem einen Broadcast-Handler anbieten, damit der Kernel in
 +
regelmäßigen Abständen die Funktion der einzelnen Tasks gewährleisten kann.
 +
Wenn der Task nach einer bestimmten Zeit nicht reagiert, wird dieser beendet und wird automatisch vom Kernel neu gestartet.
 +
Falls dieser Task zur Interaktion mit anderen Tasks verwendet wurde, wird jedem Task ein Signal geschickt, dass ihm sagt, dass
 +
sie ihre Informationen noch einmal schicken sollen.
 +
Es sei denn, die Informationen befinden sich noch in einer Liste (oder ähnliches) die abgearbeitet wird.
  
 
== Entwicklungsstatus ==
 
== Entwicklungsstatus ==