Después de un año y medio de desarrollo, se ha publicado la quinta versión beta del sistema operativo Haiku R1. El proyecto fue inicialmente creado como respuesta al cierre de OS BeOS y se desarrolló bajo el nombre de OpenBeOS, pero fue renombrado en 2004 debido a reclamaciones relacionadas con el uso de la marca BeOS en el nombre. Se han preparado varias imágenes Live (x86, x86-64 de 1.4 GB) para evaluar el funcionamiento de la nueva versión. La mayoría del código fuente del sistema operativo Haiku se distribuye bajo la licencia MIT, excepto algunas bibliotecas, códecs multimedia y componentes tomados de otros proyectos.
El sistema operativo Haiku está orientado a computadoras personales, utiliza un núcleo propio basado en una arquitectura modular, optimizado para una alta capacidad de respuesta a las acciones del usuario y la ejecución eficiente de aplicaciones multihilo. Se presenta una API orientada a objetos para desarrolladores. El sistema se basa directamente en las tecnologías de BeOS 5 y está diseñado para ser compatible binariamente con las aplicaciones de este sistema. Requisitos mínimos de hardware: CPU Pentium II o AMD Athlon y 384 MB de RAM (se recomienda Intel Core i3 o AMD Phenom II y 2 GB de RAM).
Se utiliza OpenBFS como sistema de archivos, que soporta atributos extendidos de archivos, registro, punteros de 64 bits, y almacenamiento de metadatos (para cada archivo se pueden guardar atributos en forma de clave=valor, lo que hace que el sistema de archivos sea similar a una base de datos) y índices especiales para acelerar las consultas. Se utilizan árboles "B+ tree" para organizar la estructura de directorios. Del código de BeOS, se incluye en Haiku el gestor de archivos Tracker y la barra de tareas Deskbar, cuyos códigos fuente fueron liberados después de la desaparición de BeOS.
Novedades principales:
- En la configuración de apariencia, se ha simplificado la interfaz de selección de colores. En lugar de 30 parámetros predeterminados, ahora se muestran tres (fondo de la barra, color de la barra de estado y color de las pestañas), y los demás se calculan automáticamente en relación con los tres valores seleccionados. Al seleccionar un color automáticamente, se tiene en cuenta la elección del tema oscuro o claro (por ejemplo, al activar un tema oscuro se eligen colores claros para el texto). Hay una opción separada para volver a mostrar el conjunto completo de todos los parámetros para la edición manual.

- Se han realizado una gran cantidad de correcciones, dirigidas a mejorar el soporte al trabajar con la selección del tema oscuro.

- En el editor de iconos Icon-O-Matic se ha añadido soporte para la transformación de perspectiva y la visualización de una imagen de referencia como fondo (para repetir los contornos en el icono). Se han mejorado significativamente las funciones de copiar y pegar.

- En el primer inicio, si hay baterías detectadas en el sistema, se configura automáticamente el panel del applet PowerStatus, que muestra el estado de carga y los parámetros de la batería. Se ha mejorado la precisión de la información sobre el nivel de carga. Se han añadido una señal auditiva y una notificación para informar al usuario sobre el bajo nivel de carga.

- En el administrador de archivos Tracker se ha mejorado la gestión de los directorios y las particiones de disco que están disponibles en modo de solo lectura, los cuales ahora se destacan visualmente con un fondo más oscuro (este fondo se utilizaba anteriormente para los directorios virtuales). Para los elementos del sistema de archivos que son solo de lectura, también se desactivan los elementos del menú que requieren acceso de escritura.

- Se ha continuado el desarrollo de los puertos de aplicaciones de terceros. Desde la última versión, se han portado nuevos programas de KDE, se ha ampliado la cantidad de programas soportados por GTK, se ha añadido un puerto con el depurador GDB 15 (anteriormente se proporcionaba GDB 6) y se ha implementado un puerto experimental para la plataforma .NET Core 9.

- Se ha mejorado la funcionalidad de la capa para asegurar la compatibilidad con X11/Xlib. Se ha proporcionado la posibilidad de usar el kit de herramientas gráficas FLTK (se informa que carece de soporte para funciones relacionadas con OpenGL).

- Se ha añadido soporte para dispositivos de audio con interfaz USB (el cambio automático de salida de audio al conectar un dispositivo USB aún no funciona, por lo que se requiere un reinicio de los servicios multimedia del sistema para hacer el cambio).
- Se ha añadido un controlador para las interfaces de red TUN/TAP, que se puede utilizar para crear túneles de red y organizar su funcionamiento. VPN.
- Se han realizado optimizaciones en la pila TCP, lo que ha aumentado notablemente el ancho de banda (el rendimiento de las conexiones TCP ha aumentado de 8 a 10 veces, y el ancho de banda de la interfaz loopback (localhost) ha aumentado varios órdenes de magnitud). Se ha mejorado el seguimiento de contadores para acumular estadísticas. Se ha reducido el número de operaciones de copia de buffers. Se ha añadido la posibilidad de realizar operaciones de cálculo de sumas de verificación de paquetes en el lado de las tarjetas de red.
- Se han ampliado las capacidades del emulador de terminal, que ahora incluye soporte para la inserción de texto encriptado desde el portapapeles en caso de uso de saltos de línea y caracteres especiales en texto portátil. En la configuración se ha añadido la posibilidad de cambiar el esquema de color.
- Se ha realizado una refactorización de la capa TTY/PTY, unificado el código de TTY y PTY, y se ha añadido soporte para extensiones TTY, como TIOCOUTQ.
- Se ha optimizado el rendimiento del núcleo y de los controladores, se ha añadido la capacidad de ejecución por lotes de operaciones de entrada/salida, se ha optimizado el uso de bloqueos al iniciar programas, se ha mejorado la eficiencia del mapeo de archivos en memoria, se ha reducido la competencia entre bloqueos al mapear páginas de memoria, se ha incrementado el rendimiento de la asignación de búferes temporales, y se han añadido optimizaciones en el sistema de entrada/salida; además, se ha incorporado soporte para DT_GNU_HASH en el cargador de archivos ejecutables en formato ELF.
- Se ha rediseñado la arquitectura del mecanismo de bloqueos user_mutex, que es similar en capacidades al sistema futex en Linux y se utiliza para implementar las llamadas a pthread_mutex y pthread_rwlock. La nueva arquitectura ha permitido resolver problemas previos de condiciones de carrera y aumentar el rendimiento (por ejemplo, la velocidad de compilación ha aumentado en un 25%).
- El controlador para el sistema de archivos FAT ha sido reemplazado por una nueva versión, portado desde FreeBSD. El cambio de controlador ha permitido resolver problemas de compatibilidad con otras implementaciones de FAT.
- Se ha añadido un controlador para el sistema de archivos UFS2 (Unix File System 2), utilizado en FreeBSD. Por ahora, el controlador funciona solo en modo lectura.
- Se ha implementado parte de la API de multiplexión de entrada-salida kqueue.
- Se han ampliado las capacidades de trazado y perfilado de procesos mediante las utilidades strace y profile.
- Se ha mejorado la compatibilidad con las especificaciones POSIX. Se han implementado las funciones getentropy, arc4random, pthread_sigqueue, preadv y pwritev, así como se ha añadido soporte para sockets Unix (AF_UNIX) SOCK_DGRAM.
- Se ha realizado un gran trabajo para aumentar la estabilidad de todo el sistema. Se han solucionado muchos problemas que causaban cierres inesperados y fallos en el núcleo y los controladores.
Fuente: opennet.ru







