10 puntos por GN⁺ 2024-10-17 | 3 comentarios | Compartir por WhatsApp
  • Asterinas es un kernel de SO con seguridad, velocidad y versatilidad, que ofrece una ABI compatible con Linux
  • Puede reemplazar a Linux y mejora la seguridad de memoria y la facilidad para desarrolladores
    • Prioriza la seguridad de memoria al usar Rust como único lenguaje de programación y minimizar el uso de unsafe Rust, limitándolo a una base de cómputo confiable (TCB) claramente definida
    • A través de su arquitectura de framekernel, Asterinas se posiciona como una opción de kernel más segura y confiable
    • En facilidad para desarrolladores, supera a Linux al (1) aprovechar Rust, un lenguaje de programación de alta productividad, (2) simplificar el flujo de trabajo con un toolkit dedicado llamado OSDK y (3) ofrecer, gracias a la flexibilidad de la MPL, la opción de publicar los módulos del kernel como código abierto o mantenerlos como propietarios
  • Actualmente, Asterinas solo soporta VM x86-64, pero su objetivo es estar listo para producción en VM x86-64 para 2024

Resumen de GN⁺

  • Asterinas es un kernel de SO escrito en Rust que enfatiza la seguridad de memoria y la facilidad para desarrolladores, y ofrece compatibilidad con Linux
  • Aprovecha la seguridad y productividad de Rust para brindar un entorno de desarrollo de kernels más seguro y eficiente
  • La arquitectura de framekernel de Asterinas mejora la confiabilidad y la seguridad, y mediante la MPL ofrece flexibilidad para elegir si los módulos se hacen públicos o no
  • Puede ser una alternativa interesante para desarrolladores interesados en el desarrollo del kernel de Linux, y muestra el potencial del desarrollo de kernels aprovechando las ventajas de Rust
  • Un proyecto con funcionalidades similares es Redox OS

3 comentarios

 
xguru 2024-10-17

Entre los proyectos que han aparecido últimamente en Hacker News, si observas con más detalle los que parecen ajustarse al gusto del público, muchos suelen ser proyectos donde los principales committers son chinos. En particular, cuando en el README hay inglés como base y además documentación en chino, siento que en la mayoría de los casos es así.

 
cosine20 2024-10-17

Si miras también el lado de la IA, entre los proyectos prácticos (como la conversión a ONNX, las bibliotecas operativas basadas en lenguajes nativos y entornos que se pueden usar de inmediato), muchas veces los principales también son chinos.

 
GN⁺ 2024-10-17
Opiniones de Hacker News
  • En lo personal no me gusta Rust, pero me encantan los kernels, así que siempre reviso proyectos como este. Este proyecto usa de forma conservadora las funciones avanzadas de Rust, el código es fácil de leer y los comentarios son adecuados. No está mal.
  • Me interesan los kernels para ejecutar servicios de red/IO de alto rendimiento. El soporte de hardware, especialmente el de hardware de red, es una gran preocupación. Podría ser interesante un enfoque en el que se arranque con FreeBSD o el kernel de Linux y luego se use un OS/capa de abstracción en Rust.
  • Microsoft está usando TockOS, un OS basado en Rust, en el firmware de Pluton.
  • Si te interesa Asterinas, probablemente también te interese Redox, un OS completo escrito en Rust.
  • Sorprende que estén creando una ABI compatible con todo Linux. Comparar diciendo que Rust es más productivo no es científico y podría ser una señal de alerta para el proyecto. El lenguaje más productivo para un desarrollador es aquel con el que puede entender qué ocurre por debajo del nivel de abstracción.
  • Hay una presentación sobre Asterinas: un kernel de OS seguro basado en Rust para TEE.
  • En la arquitectura de OS Framekernel, todo el OS está en el mismo espacio de direcciones y debe estar escrito en Rust. El kernel se divide en dos partes, y los servicios no privilegiados deben escribirse solo en Rust seguro. Me pregunto cómo afecta al modelo de seguridad que un servicio no privilegiado pueda explotar errores del compilador.
  • Hay otro OS escrito en Rust llamado Twizzler. Es un OS de investigación, pero sigue siendo interesante.
  • Hubo un proyecto similar llamado Kerla, pero su desarrollo se detuvo. Había quien opinaba que hacer estas alternativas sería más fácil que usar Rust-for-Linux. Me pregunto si hay suficiente interés para convertirlo en un proyecto sostenible.
  • Asterinas por ahora solo soporta VM x86-64, y su meta es dejarlo listo para producción en VM x86-64 para 2024. Es confuso.