7 puntos por GN⁺ 2024-09-15 | 1 comentarios | Compartir por WhatsApp
  • Este repositorio contiene el código fuente de la serie Writing an OS in Rust publicada en os.phil-opp.com
  • Si tienes preguntas, puedes abrir un issue o conversar por Gitter

Ubicación del código

  • El código de cada post está en una rama de git separada
  • Puedes revisar el estado intermedio después de cada post
  • El código del post más reciente se puede ver aquí
  • Puedes encontrar la rama de cada post siguiendo el enlace (source code) en la lista de posts
  • Las ramas se nombran con el formato post-XX (XX es el número del post)
  • Ejemplo: el post VGA Text Mode es post-03, y Hardware Interrupts es post-07
  • Consulta el Readme de esa rama para ver las instrucciones de compilación
  • Puedes usar git worktree para hacer checkout de una rama en un subdirectorio
    git worktree add code post-10
    
  • El comando anterior crea un subdirectorio llamado code e incluye el código del post 10 ("Heap Allocation")

Posts

  • El objetivo de este proyecto es ofrecer un tutorial paso a paso mediante posts individuales del blog
  • Actualmente están disponibles los siguientes posts

Bare Bones:

Interrupts:

Memory Management:

Multitasking:

Posts de la primera edición

  • La versión actual del blog es la segunda edición, y la primera edición ya no recibe mantenimiento
  • Los posts de la primera edición aún pueden ser útiles
  • La lista de posts es la siguiente

Bare Bones:

Memory Management:

Exceptions:

Additional Resources:

  • Cross Compile Binutils
  • Cross Compile libcore
  • Set Up GDB
  • Handling Exceptions using Naked Functions
  • Catching Exceptions (source code)
  • Better Exception Messages (source code)
  • Returning from Exceptions (source code)

Licencia

  • Este proyecto, excepto la carpeta blog/content, está licenciado bajo una de las siguientes opciones
  • Para la licencia de la carpeta blog/content, consulta blog/content/README.md

Contribuciones

  • Salvo que se indique explícitamente lo contrario, cualquier contribución enviada intencionalmente para su inclusión se incorporará con doble licencia como se indicó arriba, según la definición de la licencia Apache-2.0

Resumen de GN⁺

  • Este proyecto ofrece un tutorial paso a paso para escribir un sistema operativo en Rust
  • Cada post aborda un tema independiente y lo explica junto con ejemplos de código
  • Es un recurso muy útil para quienes estén interesados en el desarrollo de sistemas operativos
  • Permite aprender a desarrollar un sistema operativo aprovechando la seguridad y el rendimiento de Rust
  • Un proyecto similar con funciones parecidas es Redox OS

1 comentarios

 
GN⁺ 2024-09-15
Comentarios de Hacker News
  • Completé la segunda edición hace unos años y aprendí muchísimo

    • La explicación sobre desarrollo de sistemas operativos era buena y también fue útil para aprender Rust
    • El autor entiende muy bien los modismos del lenguaje, así que la forma de expresar el código era didáctica
    • Me impresionó especialmente la explicación de la implementación de futures en Rust en el blog
    • Ojalá Phil retome el trabajo en una tercera edición basada en EFI
    • La segunda edición sigue siendo una excelente manera de pasar el tiempo de desarrollo del fin de semana
  • Empecé a trabajar en MOROS después de completar el tutorial hace 5 años

    • Lo recomiendo mucho a quienes estén interesados en Rust y en el desarrollo de sistemas operativos
    • Phil le puso muchísimo esfuerzo y eso se nota claramente en el resultado
    • Después se puede seguir aprendiendo a través de la wiki de osdev
  • En lugar de escribir un SO en Rust, habría que crear una plataforma de datos que pueda ejecutar DML/DDL

  • Descubrí este material después de explorar a fondo Rust y el desarrollo de sistemas operativos

    • Me sorprendió la calidad de este material, y pude aprender no solo sobre la historia y el diseño de los sistemas operativos, sino también sobre elementos de Rust
    • Phil hizo un trabajo excelente
  • Gracias a este material empecé con Rust en 2021

    • Estoy muy agradecido de que este material exista
  • Los textos de Phil sobre desarrollo de sistemas operativos siempre son una gran lectura

  • El equipo de Harvey OS ahora está trabajando en el proyecto R9OS

  • Recomiendo especialmente las publicaciones de la edición original

    • La edición actual ayuda demasiado al manejar el proceso de arranque con un crate especial
  • Acabo de volver de Rustconf, y hay como unas cinco grandes publicaciones de sistemas operativos centrados en tiempo real

    • No todos son de código abierto
  • Otro buen recurso es crear un sistema operativo RISC-V usando Rust