Norost B ist ein objektorientiertes Betriebssystem, das um einen Mikrokernel herum gebaut ist. Es konzentriert sich hauptsächlich auf die Isolierung von Prozessen aus dem Rest des Systems, um die Sicherheit und die Skalierung der Portabilität zu verbessern.
Webseite
Design -Begründung
Dokumentation
Dateien, Netzwerkhöhlen… sind alle Objekte und haben eine gemeinsame API. Dies hält die Schnittstelle einfach und verständlich und bietet eine große Menge an Flexibilität und Leistung.
Jeder Prozess kann neue Objekte erstellen. IPC wird über Operationen auf Objekten durchgeführt.
Prozesse können nur Vorgänge für Objekte ausführen, für die sie einen Griff haben. Dies macht es trivial, Prozesse aus dem Rest des Systems zu isolieren, indem es einfach nur Griffe für Objekte gibt, die es benötigt.
Minimale Anwendungen können die synchrone API verwenden, um die Binärdaten klein zu halten, während fortgeschrittenere Anwendungen die asynchrone E/A nutzen können, um die Stapelarbeiten effizienter auszuführen.
Anwendungen können auch den gemeinsamen Speicher mit speziellen E/A -Strukturen nutzen, um den Overhead weiter zu reduzieren.
Eine grundlegende Unterstützung für das Networking ist vorhanden. Ein grundlegender SSH -Server und ein HTTP -Server sind verfügbar.
Anwendungen können ein Fenster zuordnen und beliebige Pixel zeichnen. Der Tiling -Fenstermanager verarbeitet das Layout automatisch, um die Bildschirmgut zu optimieren.
Der Kernel ist nahezu voll aussagekräftig.
Die meisten Fahrer befinden sich außerhalb des Kernels, was es einfacher macht, sie zu ersetzen und/oder zu stürzen.
| Architektur | Unterstützt |
|---|---|
x86 | ✗ |
x64 | ✓ Mit SSE und AVX2 |
RISC-V | ✗ |
USB: xhci
Virtio -Blockgeräte
USB -Massenspeichergeräte (BBB)
Einfacher Framebuffer über Multiboot2
Virtio GPU
Intel HD -Grafiken (sehr schlecht, nur auf bestimmten Laptops mit bestimmten Starteinstellungen)
PS/2 Tastatur & Maus
USB versteckt
Sie benötigen einen Patched -Rost -Compiler.
Sobald der Compiler ordnungsgemäß konfiguriert ist, erstellt mkiso.sh ein bootfähiges Bild. run.sh wird das Betriebssystem in QEMU ausführen.