Hola Habr!
¡Estoy seguro de que ya te has perdido las noticias de nuestro proyecto! Y no perdimos el tiempo en vano. La última versión de ReactOS salió hace unos
tres meses y medio , y hoy ya puede descargar y probar la próxima versión de nuestro sistema operativo. Solucionó 135 errores, realizó 984 cambios en el código fuente
y una hermosa animación de la pantalla de carga .
Descargar imágenes del sistema |
Comunicado de prensa |
Registro de cambios |
TL; DR |
Lista de pruebas y regresión
Cuando trabajamos en la versión 0.4.11, nos enfocamos en corregir los errores de compatibilidad de las aplicaciones y, como resultado, pudimos aumentar la cantidad de programas compatibles en cientos, si no más. Al mismo tiempo, una vez más redujimos significativamente el número de situaciones que conducen a BSOD y bloqueos del sistema. Hay muchos otros cambios, pero lo primero es lo primero.
- Comencemos! Dije: ¡comienza!
Lo primero que vale la pena señalar es que le hicimos una broma al cargador. Loader (LDR) es un componente que ayuda a iniciar la aplicación. En particular, lee los archivos de manifiesto para archivos ejecutables y bibliotecas, calcula los módulos y dependencias necesarios para la aplicación iniciada, los encuentra en el disco en los lugares de la ubicación deseada y los carga en la memoria en el orden correcto.

En versiones anteriores de ReactOS, las bibliotecas MSVC ++ 2005/2008 se ocultaban demasiado bien en el sistema y el cargador no siempre las encontraba, especialmente en situaciones en las que varios archivos de manifiesto seguidos estaban atrapados en la secuencia de arranque. En el
Hackfest en Berlín en el verano de 2018, Mark Jensen, a petición mía, decidió lidiar con esto. Y ahora, con el lanzamiento de 0.4.11, la fealdad finalmente llegó a su fin, y ahora ninguna biblioteca necesaria puede "escapar" del cargador. El
soporte mejorado
para manifiestos permitió a ReactOS trabajar con alrededor de un centenar de aplicaciones nuevas, como Blender 2.57b, Bumptop, Evernote 5.8.3, Deluge torrent y Quicktime Player 7.7.9.
Un gran ejemplo de este logro es la imagen de arriba y esta captura de pantalla:

En él, puede ver el trabajo del popular paquete de controladores
Snappy Driver installer (SDI) en ReactOS. Anteriormente, se bloqueaba con un error, a veces incluso causaba BSOD, o simplemente se negaba a trabajar por la razón descrita anteriormente, pero ahora los tiempos han cambiado ...
Un efecto indirecto positivo fue que los temerarios ya no tienen que buscar en la red en busca de controladores para ReactOS, sino que simplemente puede descargarlos todos a la vez en un DVD.
Haré una reserva de inmediato para que no todos los controladores SDI se instalen correctamente, principalmente solo las tarjetas de red y algunas tarjetas de video. Sin embargo, continuaremos trabajando para mejorar esta situación.
- Entonces, para ! No solo los cobardes necesitan frenos ...
Anteriormente en varios lanzamientos anteriores de ReactOS, los evaluadores enfrentaron dificultades significativas cuando se trataba de usar aplicaciones .NET. Las aplicaciones escritas sobre la base de .NET Framework versión 2.0 / 4.0
funcionaron solo una vez , y al cerrarse causaron caos y obligaron al sistema a enloquecerse para causar daños.
En ReactOS 0.4.11, finalmente descubrimos y superamos el problema que causó esto. La conclusión es que, desde el punto de vista de la estabilidad del sistema, el cierre correcto de la aplicación es tan importante como la secuencia de inicialización correcta al inicio, porque cuando se detiene el programa, se liberan los recursos previamente asignados.
Resultó que el mecanismo responsable de cerrar las aplicaciones en ReactOS a menudo no esperaba suficiente tiempo para que las aplicaciones completaran correctamente su trabajo por sí mismas. Esto fue especialmente cierto para las aplicaciones creadas en una arquitectura de servicio al cliente. Una
solución trivial de
errores de Janis Adamopoulos resolvió este problema en particular al agregar instantáneamente soporte para docenas, si no cientos, de aplicaciones populares de dotNET al arsenal de ReactOS.

Como ejemplo, una captura de pantalla de nLite 1.4.9.3: una utilidad para la partición "garage" de las distribuciones de Windows XP.
Babel Babel
Finalmente, debe recordarse que no todo el mundo usa el estándar para mostrar texto de izquierda a derecha como el inglés y otros idiomas basados en el latín. Muchos, como el hebreo y el árabe, usan orientación de derecha a izquierda. El soporte de ReactOS para este tipo de visualización de texto se demostró oficialmente por primera vez en la versión 0.4.10, pero aún se está perfeccionando. Se han logrado avances significativos gracias a los esfuerzos de Baruch Rutman para adaptar la biblioteca USP10 y el código de soporte para la entrada bidireccional de Wine a ReactOS. Por supuesto, queda mucho trabajo por hacer, pero la naturaleza del desarrollo de un proyecto de código abierto radica en la aplicación de un enfoque iterativo, con cambios graduales paso a paso.

Buffet de mejora
Si hablamos de la lucha contra los BSOD, vale la pena recordar que Mark Jensen identificó un problema con la inicialización
de la barra de desplazamiento , cuya corrección agregó una gama completa de aplicaciones a la biblioteca de programas compatibles de ReactOS. Por ejemplo, estamos hablando del juego Civilization II Multiplayer Gold Edition (32bit) versión 1.3, que se muestra en la captura de pantalla a continuación, y otros programas como IceChat 7.63.

La pila de red se modernizó nuevamente; en el proceso, se agregó la funcionalidad de monitoreo y enumeración de conexiones de red. Los cambios realizados en los componentes TCP / IP permiten utilizar netstat, PortExpert y otras aplicaciones de red necesarias.

El controlador de disco RAM recibió correcciones significativas, lo que permitió instalar completamente el sistema operativo a través de la red utilizando el protocolo PXE (anteriormente solo era posible la opción
de iniciar LiveCD ).

Sisyphean "departamento de calidad" laboral
A medida que la estabilidad de ReactOS continúa creciendo, la amplitud y profundidad de las pruebas requeridas también aumenta, aunque solo sea porque la cantidad de aplicaciones de pruebas disponibles está creciendo. Con este fin, Joachim Henze, con su metodología y perseverancia habituales, trabajó para garantizar el equilibrio adecuado para este lanzamiento en términos de estabilidad y la aparición de características nuevas / mejoradas. A pesar del hecho de que siempre es tentador realizar los cambios y correcciones más importantes y significativos a la publicación, debe recordarse que cada cambio implica un cierto grado de riesgo de regresiones. La capacidad de sopesar este riesgo con una evaluación de los posibles beneficios es lo que hace que los profesionales de aseguramiento de la calidad como Joachim sean invaluables para cualquier proyecto con una complejidad cada vez mayor.
A la luz de las mejoras significativas en ReactOS y para ayudar a los usuarios potenciales a comprender mejor el estado actual del sistema operativo y el grado de soporte para ciertas aplicaciones, Joachim también reestructuró la
página de resultados de las
pruebas para presentar mejor la información relevante. Ahora puede ver no solo la conclusión general de la prueba para cada aplicación, sino también los detalles que indican qué condujo a la conclusión específica, así como las posibles "soluciones" para resolver el problema aquí y ahora.
Acorde final
¿De repente has querido instalar ReactOS por primera vez en tu vida? Asegúrese de leer
este manual de instalación del sistema.
¿Te ha gustado este lanzamiento? ¡Esperamos sus comentarios y opiniones! ¡No olvide que puede ayudar al proyecto no solo con
donaciones , sino simplemente poniendo un
asterisco en el github !
Si le gusta leer mis resúmenes sobre cómo está progresando el desarrollo del sistema operativo ReactOS, y desea ver esas publicaciones con más frecuencia, puede tratarme con una taza de café haciendo clic en el botón en la sección " Apoyar al autor " en este artículo.