| 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 == | ||