Este es el repositorio oficial del núcleo Libertyos. Libertyos es un sistema operativo, construido con óxido, que es de código abierto, de uso gratuito y abierto a nuevos contribuyentes. Todo en LOS está, o será, construido desde cero. Actualmente, LOS admite sistemas x86_64 y se puede iniciar en hardware real, utilizando un cargador de arranque simple. Este sistema operativo se está trabajando continuamente, y todos los cambios se registran en el archivo Versionhistory.md (en el directorio raíz de este repositorio). Si desea ver una explicación más detallada de los cambios entre las versiones, puede leer las confirmaciones en el repositorio de GitHub.
Cómo contribuir
¿Te gustaría ayudar a que este núcleo sea aún mejor? Tenemos muchas cosas que deben hacerse, ¡y siempre podríamos usar ayuda para hacerlo! Hay una carpeta en este repositorio (llamado "ideas") que contiene diferentes archivos que explican una idea para el núcleo. Si tiene una nueva idea, simplemente cree un nuevo archivo dentro de la carpeta Ideas, envíe una solicitud de extracción y uno de nosotros fusionará su idea en la rama principal. ¡En este momento se están trabajando en muchas características geniales, y podríamos usar tantos desarrolladores talentosos como podamos!
Blog
A partir del 22 de agosto de 2022, hay un archivo de blog (blog.md). Esto explicará algunas de las decisiones de diseño que se toman, algunos de los problemas en el desarrollo y qué esperar en el futuro cercano. Liberos no está muerto. Hay un futuro brillante por delante para este proyecto.
Construyendo/ejecutando libertad
- Clon este repositorio.
- Navegue a la ubicación a la que clonó este repositorio.
- Asegúrese de haber instalado lo siguiente:
- Ejecute el script bootstrap (./bootstrap.sh)
- Compile el núcleo con "Build de carga -Libere" o ejecute el núcleo en QEMU, utilizando "Cargo Run -Lelease".
Características implementadas actualmente
- Soporte para la arquitectura x86-64
- Soporte para el núcleo de Rust y las cajas asignadas
- Asignación de memoria, uso de listas vinculadas, asignación de amigos y asignación de golpes
- Manejo de errores básicos
- Soporte incorporado para ejecutar LOS con QEMU
- Soporte para varios diseños de teclado
- Soporte básico para funciones asincrónicas, incluida un ejecutor básico de tareas
- Soporte para leer/escribir en sistemas de archivos (el soporte para sistemas de archivos específicos aún no se ha implementado, pero las bases ya se han implementado)
- Utiliza una biblioteca central, construida para LibTeros (libcore)
- Admite cálculos matemáticos, incluidos álgebra básica, geometría, etc.
- Soporte para los tipos C
- Soporte básico para las fuentes de análisis
- Tiempo de mantenimiento
- Llamadas
- Gestión de procesos básicos
- Soporte para Stdin, Stdout y Stderr
- Soporte básico para ejecutar procesos en el espacio de usuario
Características de WIP
- Un sistema de archivos básico, creado para LibTeros
- Documentación completa para todo el kernel
- Soporte completo para leer/escribir a los sistemas de archivos gordos
- Capacidades básicas de redes
- Soporte para ratones informáticos
- Un caparazón básico
Características planificadas
- Soporte para objetivos basados en ARM
- Soporte para GLIBC/MUSL (o, tal vez, reescribiendo ciertas partes de ellos)
- Soporte para sistemas de archivos FAT, FAT32, EXFAT
- Soporte para sistemas de archivos ext2, ext3, ext4
- Soporte para el sistema de archivos NTFS
- Nombre de host
- Capacidad para actualizar el núcleo desde el sistema operativo
- Soporte para personajes que no son ingleses
- Soporte completo para Unicode
- Personalización básica
Comportamiento actualmente esperado
- El núcleo inicializa las porciones críticas de los liberios
- El kernel muestra un mensaje sobre el proceso de configuración
- El núcleo se encuentra con una falla de página. :(