MeinOS — Änderungen 2214 → 2255

Zeile 3: Zeile 3:
  
 
== Entwicklung ==
 
== Entwicklung ==
−
meinOS ist noch in einer sehr frühen Entwicklungsphase, es wird aber schon fast komplettes Memorymanagement, Taskmanagement und IPC unterstützt. Da meinOS ein [[Ausgabe_2#Der_Microkernel | Microkernel]] ist und noch keine Programme für es entwickelt wurden, gibt es auch noch überhaupt keine Treiber.
+
Im Moment werden einige Kernel-Funktionen noch vollendet und es müssen noch viele Treiber geschrieben werden. Außerdem muss noch sehr viel getestet werden, da bis jetzt z.B noch keine Möglichkeit besteht Server oder Bibliotheken auf Logik-Fehler zu überprüfen.
  
−
== Komplett ==
+
=== Komplett (oder noch in Arbeit) ===
−
* Memorymanagement (Speicherzuweisungs-Routinen nicht komplett)
+
* Kernel
−
* Taskmanagement (Routine zum erzeugen eines neuen Tasks und Dispatcher nicht komplett)
+
** Taskmanagement (Pagesuchalgorithmus muss erneuert werden)
−
* IPC (Jeder Prozess hat für jeden Anderen 1 Byte Buffer; asynchrones IPC; Zuteilung über Ports)
+
** IPC (Message Passing)
−
* (Kernel-)Timer (100Hz) - zeitversetztes Aufrufen von Funktionen (z.B für Beep)
+
** (Kernel-)Timer (100Hz) - zeitversetztes Aufrufen von Funktionen (z.B für Beep)
−
* (Kernel-)Textausgabe - die meisten Steuerzeichen werden unterstützt.
+
** (Kernel-)Textausgabe - die meisten Steuerzeichen werden unterstützt.
  
−
== Planung ==
+
* Server
−
* Init-Task (Initialisierung aller Treiber und des login-Programms)
+
** Keyboard-Server
−
* Filesystem
+
** Console-Server
 +
** COM-Server
 +
** Floppy-Server (noch in Arbeit)
 +
** Filesystem-Server (noch in Arbeit)
 +
 
 +
* Bibliotheken
 +
** ScreenIO-Bibliothek
 +
** System-Bibliothek (wird bestimmt noch größer)
 +
** IPC-Bibliothek
 +
** DevFS-Bibliothek
 +
(Server und Bibliotheken sind noch nicht vollständig getestet, da Programme noch nicht richtig geladen werden.)
 +
 
 +
=== Planung ===
 +
* Init-Task (Initialisierung aller Treiber und des Login-Programms)
 +
* Shell (eventuell Portierung einer vorhandenen Shell)
 
* devfs (FS-Treiber für /dev)
 
* devfs (FS-Treiber für /dev)
−
* Console-Treiber (Keyboard und Textdisplay)
 
 
* Floppy-Treiber
 
* Floppy-Treiber
 
* Ext2-Treiber
 
* Ext2-Treiber
 
* eventuell pipefs (Für Named Pipes ohne "richtiges" FS, dass Named Pipes unterstützt)
 
* eventuell pipefs (Für Named Pipes ohne "richtiges" FS, dass Named Pipes unterstützt)
 +
* Einige kleine Programme (cp, mv, rm, mkfile, cat, echo, usw.)
  
 
Wie man sieht, ist noch eine Menge zu tun.
 
Wie man sieht, ist noch eine Menge zu tun.