Preguntas frecuentes
Respuestas breves y claras. KyberOS está en desarrollo temprano, así que algunas respuestas dicen «planeado» o «todavía no», y es en serio.
Qué es
¿Qué es KyberOS?
Un sistema operativo construido sobre un micronúcleo Mach puro. El núcleo ofrece tareas, hilos, puertos, mensajes, memoria virtual y planificación. Todo lo demás, incluidos el servidor de archivos, la consola y la personalidad UNIX, corre como programas ordinarios encima.
¿Qué es un micronúcleo?
Un núcleo que conserva solo lo esencial, que es la planificación, la memoria y el paso de mensajes, y ejecuta todo lo demás como programas ordinarios: sistemas de archivos, controladores y POSIX. El núcleo privilegiado se mantiene pequeño y más fácil de auditar.
¿Qué significa «Mach puro»?
El núcleo no contiene una capa BSD, ni el concepto de proceso o de archivo, ni política de llamadas al sistema. XNU, de Apple, conserva Mach pero pone BSD dentro del núcleo. KyberOS deja ese código fuera y lo pone en servidores.
¿Por qué una personalidad UNIX y no BSD debajo?
No hay una base UNIX ni BSD. El núcleo es Mach, y UNIX es una personalidad: un servidor al que los programas llegan por mensajes, fuera del núcleo. Toma la numeración de llamadas al sistema de BSD porque es una interfaz conocida y completa, pero ningún código del núcleo BSD corre dentro del núcleo. No se planea una personalidad BSD aparte, porque el software que se publica para BSD casi siempre se publica también para Linux.
¿Qué es una personalidad?
Un servidor, más un pequeño stub en cada programa, que da a los programas la interfaz de un sistema operativo concreto. La personalidad UNIX ofrece llamadas al sistema UNIX. Se planea que una personalidad Linux ofrezca las de Linux. El núcleo solo enruta la llamada a la personalidad correcta y nunca la interpreta.
¿Qué es un derecho de puerto?
Un puerto es una cola de mensajes que pertenece al núcleo y un derecho es el permiso de enviarle mensajes o recibirlos. Un programa solo alcanza los puertos que se le entregaron, así que el acceso depende de lo que el programa posee, no de quién es. La página de diseño tiene más.
¿KyberOS es Linux?
No. KyberOS tiene su propio núcleo, un micronúcleo Mach. La compatibilidad con software de Linux es una personalidad planeada que correría encima. Todavía no está disponible.
¿Es una bifurcación de macOS, XNU o GNU Hurd?
No. El núcleo es código propio, escrito en la tradición de Mach de tareas, hilos, puertos y mensajes. Los núcleos Mach existentes se estudian como referencia y la historia de Mach está en la página de historia.
¿En qué se diferencia de seL4?
seL4 es un micronúcleo verificado formalmente que ofrece componentes para que tú los armes. KyberOS es un núcleo al estilo Mach pensado para entregarse como sistema completo, con una personalidad UNIX. No tiene pruebas formales. La tabla comparativa los pone lado a lado.
Programas y compatibilidad
¿Correrá programas de Linux?
Ese es el plan. Una personalidad Linux aceptaría llamadas al sistema de Linux y ejecutaría binarios de Linux sin modificar como invitados, con la carga de ELF contenida dentro de ella. Todavía no está construida. Consulta la página de estado.
¿La personalidad Linux es una máquina virtual?
No. El plan es que los programas de Linux corran como programas ordinarios cuyas llamadas al sistema van a la personalidad Linux, que es un servidor en espacio de usuario. No hay un segundo núcleo debajo.
¿En qué formato son los programas nativos?
Mach-O. ELF debe existir solo dentro de la personalidad Linux. La cadena de herramientas nativa es clang y LLVM.
¿En qué lenguaje está escrito?
El núcleo está en C. Los servidores en espacio de usuario pueden usar otros lenguajes, incluido Rust, conforme aparezcan.
¿Tiene escritorio gráfico?
Hoy no. Un escritorio es una dirección, no un compromiso.
Probarlo
¿Puedo probarlo hoy?
Todavía no de forma pública. Arranca en el emulador QEMU y es un proyecto en desarrollo temprano. El desarrollo es privado por ahora, así que vuelve a consultar esta página para novedades.
¿En qué hardware corre?
Hoy apunta a x86 de 64 bits (x86_64) y se desarrolla sobre QEMU. Todavía no está pensado para máquinas reales. Un soporte de hardware más amplio está en la hoja de ruta.
¿Está listo para uso real?
No. No hay una versión estable y las interfaces pueden cambiar. Para algo que importe, elige Linux, FreeBSD o un BSD con jaulas.
¿Es seguro?
El diseño está pensado para la seguridad, con capacidades en lugar de autoridad ambiental y un núcleo privilegiado pequeño. Pero no está auditado ni verificado, y nada de esto es una garantía de seguridad. Por ahora el argumento descansa en un núcleo lo bastante pequeño para revisarse.
¿Cuándo saldrá?
No hay fecha. Los hitos muestran el orden del trabajo y son una dirección, no promesas.
El proyecto
¿Qué licencia tiene?
El núcleo tiene licencia MIT.
¿Cómo puedo seguir el avance?
Consulta este sitio, sobre todo la página de estado. Pronto habrá un pequeño servidor de Discord y esta página y la de Contribuir llevarán la invitación cuando abra.
¿Cómo puedo ayudar?
Compártelo, tradúcelo, escribe sobre él o revisa el diseño. Varias de estas cosas no requieren código. Consulta la página Contribuir.