Haiku es un sistema operativo de código abierto actualmente en desarrollo que se centra específicamente en la informática personal y multimedia.
Inspirado por BeOS (Be Operating System), Haiku aspira a convertirse en un sistema rápido, eficiente, fácil de usar y fácil de aprender, sin descuidar su potencia para los usuarios de todos los niveles. El proyecto Haiku es conocido por sus requisitos en cuanto a la calidad de las versiones emitidas.
Sobre Haiku
Hasta 2009, ninguna versión compilada estaba disponible para descargar, con el fin de restringir el acceso a las personas lo suficientemente valientes como para compilar el sistema en sí y evitar decepcionar a los usuarios sin los conocimientos necesarios para ello.
El sistema se basa directamente en las tecnologías BeOS 5 y está orientado a la compatibilidad binaria con aplicaciones para este sistema operativo.
El código fuente para la mayoría de los sistemas operativos de Haiku se distribuye bajo la licencia gratuita MIT , con la excepción de algunas bibliotecas, códecs de medios y componentes tomados de otros proyectos.
El sistema está enfocado en computadoras personales, utiliza su propio núcleo, construido sobre la base de una arquitectura híbrida, optimizado para una alta capacidad de respuesta a las acciones del usuario y la ejecución eficiente de aplicaciones de múltiples subprocesos.
El sistema de archivos utiliza OpenBFS, que admite atributos de archivo extendidos, registro en diario, punteros de 64 bits, soporte para almacenar etiquetas meta (para cada archivo, puede guardar atributos en forma de clave = valor, que hace que los archivos sean similares a las bases de datos) e índices especiales para acelerar la selección para la organización de la estructura de directorios se utilizan árboles «B + tree».
Desde el código de BeOS, Haiku incluye el administrador de archivos del Rastreador y la Barra de escritorio, cuyos códigos fuente se abrieron después de que se detuvo el desarrollo de BeOS.
Desarrolladores quieren llevar Haiku a RISC-V y ARM
Ahora los desarrolladores del sistema operativo Haiku han comenzado a crear ports para las arquitecturas RISC-V y ARM.
Y es que ARM ha tomado una gran importancia en los ultimos, los desarrolladores de Haiku han tenido éxito creando los paquetes de arranque a ejecutar los archivos necesarios para un entorno mínimo de arranque.
Por otro lado para la arquitectura RISC-V se enfoca en asegurar la compatibilidad a nivel de libc (soporte para el tipo «long double», que tiene un tamaño diferente para ARM, x86, Sparc y RISC-V).
En el proceso de trabajar en los ports en la base de código principal, se actualizaron las versiones de GCC 8 y binutils 2.32.
Para el desarrollo de productos Haiku para RISC-V y ARM, se han preparado contenedores Docker, incluidas todas las dependencias necesarias.
Además, se ha avanzado en la optimización del sistema de asignación de memoria rpmalloc. Los cambios realizados en rpmalloc y el uso de un caché de objetos separado hicieron posible reducir el consumo de memoria y reducir la fragmentación.
Como resultado, en el momento de la segunda versión beta, el entorno Haiku se puede instalar y cargar en sistemas con 256 MB de RAM, y quizás incluso menos. Se ha iniciado el trabajo de auditoría y delimitación del acceso a la API (algunas llamadas solo estarán disponibles para root).
De momento los desarrolladores informan que los ports para estas arquitecturas se encuentran en fase pruebas.
Ahora estamos en fase de pruebas. Esta fue una oportunidad para limpiar algunos problemas en el puerto ARM que involucran un libstdc ++ enlazado estáticamente.
Ahora es posible obtener los paquetes bootstrap construidos, pero la compilación del propio Haiku encuentra más problemas de enlace similares más adelante. Por ahora, la solución es usar LLD (desde llvm / clang) en lugar del enlazador ld tradicional.
En el lado de RISC-V, el foco está actualmente en lograr que nuestra libc incluya al menos suficiente soporte para el tipo «long double» es un tipo diferente en muchas arquitecturas (ARM usa 64 bits, x86 usa 96 y sparc y ppc usan 128 bits pero con formatos diferentes).