Jeremy Soller (
Experimente mit Redox auf einem Laptop haben es bereits ermöglicht, die Leistung von Treibern zu verbessern, einigen Anwendungen HiDPI-Unterstützung hinzuzufügen und neue Komponenten wie pkgar zu erstellen, die die Installation von Redox aus Live-Bildern vereinfachen. Zu den Aufgaben, auf die sich nun die Aufmerksamkeit konzentriert, gehört die Erlangung der Fähigkeit, das System selbst zusammenzubauen (Zusammenbau von Redox aus einer Redox-basierten Umgebung). Soller plant, in ein paar Monaten von einer Redox-basierten Desktop-Umgebung aus ganztägig an Redox auf einem der Computer zu arbeiten, nachdem einige Verbesserungen am Rustc-Compiler vorgenommen wurden.
Das in Redox verwendete Mikrokernel-Konzept vereinfacht die Treiberentwicklung, da das Subsystem, das die Treiber bereitstellt, ohne Arbeitsunterbrechung neu kompiliert und neu gestartet werden kann. Es wird erwartet, dass die Entwicklung in einer Redox-basierten Umgebung die Effizienz der Portierung von Programmen und die Lösung von Problemen mit der Hardwareunterstützung verbessern wird. Geplant ist beispielsweise, den USB-Stack zu vervollständigen und Grafiktreiber hinzuzufügen.
Erinnern wir uns daran, dass das Betriebssystem in Übereinstimmung mit der Unix-Philosophie entwickelt wurde und einige Ideen von SeL4, Minix und Plan 9 übernimmt. Redox verwendet das Konzept eines Mikrokernels, bei dem auf Kernelebene nur die Interaktion zwischen Prozessen und die Ressourcenverwaltung bereitgestellt werden , und alle anderen Funktionen werden in Bibliotheken verschoben. die sowohl vom Kernel als auch von Benutzeranwendungen verwendet werden können. Alle Treiber laufen im Benutzerbereich in isolierten Sandbox-Umgebungen. Für die Kompatibilität mit bestehenden Anwendungen wird eine spezielle POSIX-Schicht bereitgestellt, die es ermöglicht, viele Programme ohne Portierung auszuführen.
Das System nutzt das „Alles ist eine URL“-Prinzip. Beispielsweise kann die URL „log://“ für die Protokollierung, „bus://“ für die Interaktion zwischen Prozessen, „tcp://“ für die Netzwerkinteraktion usw. verwendet werden. Module, die in Form von Treibern, Kernel-Erweiterungen und Benutzeranwendungen implementiert werden können, können ihre eigenen URL-Handler registrieren. Sie können beispielsweise ein I/O-Port-Zugriffsmodul schreiben und es an die URL „port_io://“ binden. Anschließend können Sie damit auf Port 60 zugreifen, indem Sie die URL „port_io://60“ öffnen. Projektentwicklungen
Benutzerumgebung in Redox
Source: opennet.ru