NiwohlOS — Änderungen 8022 → 8049

Zeile 48: Zeile 48:
  
 
==== Interfaces ====
 
==== Interfaces ====
−
Das Interface zu Treibern ist dual ausgelegt, als hochprofessioneller und berufserfahrener Treiberprogrammierer hat man somit die Wahl zwischen dem <s>naiven</s> nativen Treiberinterface von niwohlOS, welches mit erstaunlichen Datendurchsatzraten besticht, und dem bewährten [http://www.spr.germanistik.uni-wuerzburg.de/udi/ UDI]. Dessen Vorteile liegen ganz klar auf der Hand:
+
Das Interface zu Treibern ist dual ausgelegt, als hochprofessioneller und berufserfahrener Treiberprogrammierer hat man somit die Wahl zwischen dem <s>naiven</s> nativen Treiberinterface von niwohlOS, welches mit erstaunlichen Datendurchsatzraten besticht, und dem bewährten [http://www.spr.germanistik.uni-wuerzburg.de/udi/ UDI].
 +
 
 +
===== niwoio =====
 +
Das <s>naive</s> native Treiberinterface ist <b>niwoio</b>. Es ist dabei sogleich Schnittstelle als auch Verwaltung: Treiber werden in einer komplexen Baum-Hierarchie geordnet, welche zugleich virtuelle Pfade zum Zugriff auf den einzelnen Treiber darstellt.
 +
 
 +
Hochmoderne Visualisierung dieses Konzepts:
 +
 
 +
* Programm will Datei speichern
 +
* Programm ruft Funktion zum Speichern auf
 +
* Funktion in der Library ruft Syscall auf
 +
* Syscall ruft die generische Write-Funktion im Frontend von niwoio auf
 +
* Diese findet heraus, auf welches Gerät sich der übergebene Pfad bezieht
 +
* Die Funktion stellt eine Anfrage an das Backend von niwoio und niwoio ermittelt den richtigen Treiber, den korrekten Pfad und die korrekte Funktion
 +
* Die Anfrage wird weitergeleitet über diesen Pfad hin zu dem gewünschten Treiber
 +
 
 +
(Das Konzept kann ruhig Fehler enthalten, denn dann ist es niwohlOS-konform).
 +
 
 +
Diese Vorgänge werden natürlich durch hochkomplexe und hochoptimierte Algorithmen unterstützt. Gewisse Parallelen zu anderen Systemen sind <s>gewünscht</s> nicht vorhanden.
 +
 
 +
 
 +
===== UDI =====
 +
Die Vorteile liegen ganz klar auf der Hand:
 
* Unterstützung durch die Industrie aufgrund der einheitlichen ABI und der damit verbundenen Möglichkeit, Closed-Source-Treiber zu implementieren. Die Vertreter großer Hardwarehersteller wünschen sich schon seit langem einen einheitlichen Weg, alle Hobbybetriebssysteme (was niwohlOS eigentlich nicht ist) mit Treibern für ihre Hardware zu versorgen. Dies ist dank UDI nun endlich möglich.
 
* Unterstützung durch die Industrie aufgrund der einheitlichen ABI und der damit verbundenen Möglichkeit, Closed-Source-Treiber zu implementieren. Die Vertreter großer Hardwarehersteller wünschen sich schon seit langem einen einheitlichen Weg, alle Hobbybetriebssysteme (was niwohlOS eigentlich nicht ist) mit Treibern für ihre Hardware zu versorgen. Dies ist dank UDI nun endlich möglich.
 
* Unterstützung durch die extrem kompetenten Entwickler von osdev.org. Diese bereichern die Spezifikation immer wieder durch lebhafte Diskussionen. Außerdem werden sie nicht müde zu betonen, welch großartige Leistung von UDI-Treibern aufgrund der bisher von anderen Interfaces unübertroffenen Skalierbarkeit erreicht werden kann.
 
* Unterstützung durch die extrem kompetenten Entwickler von osdev.org. Diese bereichern die Spezifikation immer wieder durch lebhafte Diskussionen. Außerdem werden sie nicht müde zu betonen, welch großartige Leistung von UDI-Treibern aufgrund der bisher von anderen Interfaces unübertroffenen Skalierbarkeit erreicht werden kann.
 +
 +
  
 
=== [[Interprozesskommunikation]] ===
 
=== [[Interprozesskommunikation]] ===