NerdyKernel — Änderungen 10494 → 10503

Zeile 9: Zeile 9:
 
| IPC= Message-Passing, Message-Queues, RPC
 
| IPC= Message-Passing, Message-Queues, RPC
 
| Plattform = [[x86|i386]]
 
| Plattform = [[x86|i386]]
−
| Homepage = http://rizor.dyndns-home.com/git/?p=NerdyKernel.git;a=summary
+
| Homepage = http://rizor.dyndns-home.com/git/?p=NerdyKernel.git;a=summary http://rizor.dyndns-home.com/git/?p=NerdyTestbot.git;a=summary
 
}}
 
}}
 +
 +
== Buildsystem ==
 +
 +
Der Kernel und der Testbot werden durch CMake definiert. Es soll beides unter UNIX und Cygwin gebaut werden können. Für den Kernel selber wird es u.U. auch die Möglichkeit geben ihn mit dem MSVC zu bauen.
  
 
== Testverfahren ==
 
== Testverfahren ==
  
−
Das Projekt enthält einen eigens entwickelten Testbot, der den Kompiliervorgang überwacht und verschiedene Testszenarien durchspielt.
+
Für das Projekt wird derzeit ein Testbot entworfen, der verschiedene Builds durchführen kann und diese in Logdateien speichert.
−
Einzelne Komponenten des Kernels werden durch Testcases und Emulierung bestimmter Komponenten im Userspace getestet und verifiziert. Dadurch sollen einfache Möglichkeiten geschaffen werden die einzelnen Kernel-Komponenten zu überprüfen.
+
Damit auch die Funktionalitäten getestet werden können, wird es ein eigens entwickeltes Testframework geben, dass durch den Testbot in regelmäßigen Abständen gestartet wird.
−
Es eignet sich nicht zum Test von Treibern. Für Treibertests wird ein Debug-Interface definiert, das es ermöglicht die Treiber auf ihre Korrektheit zu prüfen.
+
Dieses Framework soll auch die Möglichkeit zu Performance-Messungen geben, damit Bottle-Necks frühzeitig erkannt werden können.
 +
 
 +
Des weiteren wird es ein Debugging-Modul geben, das über die serielle Schnittstelle konfiguriert werden kann und dort auch Informationen ausgeben kann. Das Modul soll die Auslastung des Kernels anzeigen und die Performance genauer analysieren können.
 +
 
 +
Als letztes soll es später noch einen Fuzzer geben, der über eine generische Abbildungsvorschrift den Kernel und seine Module testet und verifiziert. Dabei kommt ein Mutation-Based-Fuzzer zum Einsatz, der Schwachstellen aufzeigen soll.
  
 
== Design ==
 
== Design ==
Zeile 33: Zeile 41:
 
Nachdem das abgeschlossen ist, wir der Kernel in die Entwicklunsphase treten.
 
Nachdem das abgeschlossen ist, wir der Kernel in die Entwicklunsphase treten.
  
−
== Features ==
+
== Entwicklungsstand ==
−
* Kernel-Konfigurator
+
 
−
* Automatisiertes Testframework
+
Testbot:
 +
* Konfigurationsframework
 +
** Eigener Konfigurationsstandard, der auf einfaches Parsing ausgelegt ist
 +
* Loggingframework
 +
** Automatische Organisation der Logs und Erstellung mehrere Log-Instanzen
 +
* Framework für verschiedene Bots
 +
** Build-Bot implementierung (Eigenständige Build-Generierung mit Zusammenfassung des Builds)
 +
 
 +
Kernel:
 +
* Einfache System-Bibliothek, die eine Teilmenge des C-Standards implementiert
  
 
[[Kategorie:Betriebssystem]]
 
[[Kategorie:Betriebssystem]]