Norost B es un sistema operativo orientado a objetos construido alrededor de un microkernel. Se centra principalmente en aislar procesos del resto del sistema para mejorar la seguridad, la portabilidad ∧ Escala.
Sitio web
Justificación de diseño
Documentación
Archivos, sockets de red ... son todos objetos y tienen una API común. Esto mantiene la interfaz simple y comprensible al tiempo que proporciona una gran cantidad de flexibilidad y potencia.
Cualquier proceso puede crear nuevos objetos. IPC se realiza a través de operaciones en objetos.
Los procesos solo pueden realizar operaciones en objetos a los que tienen un mango. Esto hace que sea trivial aislar procesos del resto del sistema simplemente dándole solo manijas a los objetos que necesita.
Las aplicaciones mínimas pueden usar la API sincrónica para mantener el binario pequeño, mientras que las aplicaciones más avanzadas pueden aprovechar las E/S asíncronas para realizar un trabajo por lotes de manera más eficiente.
Las aplicaciones también pueden aprovechar la memoria compartida con estructuras de E/S especializadas para reducir aún más la sobrecarga.
Hay algún soporte básico para las redes presentes. Un servidor SSH básico y un servidor HTTP están disponibles.
Las aplicaciones pueden asignar una ventana y dibujar cualquier píxeles arbitrarios a ella. El administrador de la ventana de mosaico maneja automáticamente el diseño para optimizar la propiedad de la pantalla.
El núcleo es casi totalmente preemible.
La mayoría de los conductores están fuera del núcleo, lo que hace que sea más fácil reemplazarlos y/o trotarlos.
| Arquitectura | Compatible |
|---|---|
x86 | ✗ |
x64 | ✓ con SSE y AVX2 |
RISC-V | ✗ |
USB: XHCI
Dispositivos de bloque virtio
Dispositivos de almacenamiento masivo USB (BBB)
Plain FrameBuffer a través de Multiboot2
GPU de virtio
Intel HD Graphics (muy mal, solo en computadoras portátiles específicas con configuraciones de arranque específicas)
Teclado y mouse de PS/2
USB HID
Necesitará un compilador de óxido parcheado.
Una vez que el compilador esté configurado correctamente, mkiso.sh creará una imagen de arranque. run.sh ejecutará el sistema operativo en QEMU.