miércoles, 3 de marzo de 2010

Manual: Arwinss (III y final)

Tras estudiar ligeramente el Subsistema, tras informar de cómo entrará a formar parte del actual ReactOS, ha llegado la hora de… la Compatibilidad. Es ¿Arwinss la solución total?,¿un parche enorme?,¿mejorará realmente la compatibilidad de ReactOS?. Con este apunte sobre compatibilidad dejamos cerrado el Manual Arwinss, el cual “a lo tonto a lo tonto” ha llegado hasta su tercer y (pen)último capítulo.




ReactOS en la Actualidad.


 
 

Para entender como podría afectar la inclusión de Arwinss(en términos de compatibilidad) en ReactOS, hay que ser conscientes del actual estado de ReactOS. Hoy en día ReactOS tiene una compatibilidad inferior a la combinación Linux+Wine en lo que aplicaciones se refiere, pero muy superior en cuanto a Drivers(Linux+Wine es 0% compatible con drivers Windows). Como queda un poco “injusto” que comparemos la compatibilidad con los drivers de Windows, las siguientes gráficas comparan la compatibilidad de ambas soluciones en lo que a software se refiere.


 
 



 
 

Como se puede ver en la gráfica,hoy(2010), ReactOS tiene una compatibilidad aproximada del 35% con las aplicaciones Windows mientras que la combinación Linux+Wine tiene una compatibilidad aproximada del 75%. En cierto momento la compatibilidad de Linux+Wine se queda fija al 85% y comienza a crecer muy lentamente. Sin embargo, en el futuro, la gráfica de ReactOS alcanza y supera la compatibilidad de Wine, llegando (en el infinito) al 97%.¿Por qué ninguno llega al 100%?Alcanzar la perfección absoluta es casi imposible.
 
 

¿Por qué Wine se queda “atascado” al 85%?
Hay dos motivos principales.El primero es que existe software que usa drivers para funcionar,y como ya hemos comentado,Linux+Wine no es capaz de cargar drivers Windows.Por lo tanto, Wine es incapaz de ser compatible con este tipo de aplicaciones.ReactOS no tiene esta limitación.


Además, Wine usa su propia lógica y métodos y no sigue la estructura de Windows,como se comentó en entradas anteriores,mientras que ReactOS intenta ser lo más fiel posible.Según nuestros desarrolladores, esto hará que Wine se enfrente con varias incompatibilidades que no podrán resolver. De ahí que pierda una compatibilidad de aproximadamente el 15%.


Sin embargo, la evolución de ReactOS sería muy lenta.Se puede observar que ReactOS no alcanzaría un 65% de compatibilidad hasta dentro de varios años, y hasta dentro de décadas no sería capaz de alcanzar la misma compatibilidad que Linux+Wine. Como podéis observar no hemos colocado referencias de años y fechas, ya que la evolución de ReactOS depende de muchos factores.Simplemente hablaremos de Futuro cercano,lejano o muy lejano.


¿Que solución se propone?Arwinss.


 
 
 

ReactOS y Arwinss


 
 

En la siguiente gráfica se puede ver la evolución de la compatibilidad de Linux+Wine comparada con ReactOS(naranja) y ReactOS(Arwinss)(amarillo).




ReactOS(Arwinss) simboliza la inclusión de Arwinss en ReactOS.Esta inclusión se producirá en 2010,como indica la línea amarilla vertical.


Para entender la gráfica empezamos a movernos por la línea naranja(ReactOS sin Arwinss), y llegamos hasta la línea amarilla vertical(momento en el que se incluye Arwinss en ReactOS),desde ese momento continuamos moviéndonos por la línea amarilla hasta el final.


Hay varias cuestiones que llaman la atención:


 
 

¿Por qué la línea amarilla es una vertical?


 
 

Esto indica el salto de compatibilidad que Arwinss proporciona respecto a ReactOS sin Arwinss.Como se puede ver,gracias a Arwinss,el Sistema Operativo salta del 40% al 77%(un pelín por debajo de la compatibilidad de Wine,78%).A muchos le llamará la atención el hecho de acercarnos tanto a la compatibilidad de Wine, teóricamente debería ser inferior, sin embargo,hay que tener en cuenta que las aplicaciones que hacen uso de Drivers funcionarían teóricamente en ReactOS(Arwinss) y no en Wine.


 
 

¿Por qué supera ReactOS (Arwinss) a Wine en compatibilidad?


 

Efectivamente, si seguís la línea amarilla veréis que supera la línea azul de compatibilidad de Wine. Por lo dicho anteriormente,hay aplicaciones que necesitan de Drivers para funcionar,éstas no funcionarán en Wine pero sí en ReactOS(Arwinss).Esto explica la diferencia de compatibilidad.


 
 
 

¿Por qué ReactOS(Arwinss) se estanca en el 90%?


 


Básicamente ReactOS(Arwinss) está basado en Wine.Wine se estanca en el 85%, y únicamente las aplicaciones que usan Drivers dan ese “extra” a ReactOS(Arwinss) respecto a Wine.


De todas maneras no hay que olvidar que Physicus y Jimtabor continuarán el trabajo en ReactOS(sin Arwinss),algo fundamental en un futuro si queremos alcanzar el 97% de compatibilidad.


 
 
 

¿Qué es eso del tiempo ahorrado?


 

El “tiempo ahorrado” compara el tiempo que necesitaríamos para alcanzar con ReactOS(sin Arwinss) la misma compatibilidad que tendríamos al incluir Arwinss.La diferencia es bastante clara. Nos ahorra unos cuantos años de desarrollo,permitiéndonos tener un Sistema Operativo usable y capaz de atraer empresas y usuarios.


 
 
 

ReactOS(Arwinss) impulsando ReactOS.


 
 

Si queremos lograr el 97% de compatibilidad, necesitaremos abandonar Arwinss y volver a nuestro Win32ROS.Por lo que no dejaremos de desarrollar Win32Ros en el trunk. Para algunos,el desarrollo en paralelo de dos subsistemas podría parecer una pérdida de tiempo,sin embargo, se puede demostrar que ReactOS(Arwinss) va a impulsar el desarrollo de ReactOS(Win32Ros),también conocido como el “sin Arwinss”.


 
 

En esta gráfico están dibujados: Linux+Wine(a efectos comparativos), Arwinss(realmente ReactOS+Arwinss),ReactOS(la evolución actual),hasta aquí las mismas gráficas que ya conocéis y además algo que hemos llamado ReactOS(win32+Arwinss).


 

ReactOS(win32+Arwinss) es la evolución de ReactOS tras incluirle primeramente Arwinss y tras incluir en un futuro posterior nuestro Win32Ros reescrito y depurado, desactivando Arwinss. Estas dos acciones modificarán la velocidad de desarrollo del Sistema Operativo. Es bastante interesante el comparar las gráficas ReactOS y ReactOS(win32+Arwinss) pues realmente al incluir el Win32Ros reescrito y depurado, se desactiva Arwinss.Es decir: la gráfica de ReactOS y ReactOS(win32+arwinss) realmente representan exactamente lo mismo,un Sistema Operativo que sigue las directrices de Microsoft, pero con 2 evoluciones totalmente distintas.


 
 



 
 
 

¿Cómo se mira la gráfica?


 

Empezaríamos en el (0,0) y subiendo por la gráfica naranja oscura (ReactOS),luego continuaríamos por la línea naranja más clara(al igual que hicimos antes), y en cierto instante del futuro nos encontraríamos con la línea vertical amarilla(inclusión del Win32Ros depurado) y continuaríamos por dicha línea hasta el final. Fijaos que llegamos al final al mismo % de compatibilidad, pero la evolución es mucho mejor.


Hay varias cosas curiosas a tener en cuenta:


 
 
 

¿Que es el “tiempo ahorrado”?


 

En este caso el tiempo ahorrado es la comparación del tiempo necesario para que el Sistema Operativo alcanzara el 95% de compatibilidad si hubiéramos seguido el desarrollo que tenemos en la actualidad(gráfica naranja) vs ReactOS con el proceso:Arwinss, desactivación de Arwinss e inclusión de Win32Ros depurado.


Fijaos que el 95% se alcanza en un plazo mucho mas cercano.


 
 
 

¿ Y como ha afectado Arwinss?


 

Vamos a fijarnos en dos puntos claves de la gráfica anterior.


Uno es el corte de la línea naranja oscura punteada con la línea amarilla punteada. Ese punto indicaría la compatibilidad que para la fecha en en la que teóricamente se incluiría Win32Ros remodelado tendría ReactOS si siguiéramos la evolución actual(es decir, pasando de Arwinss).


Un ejemplo para que quede mas claro lo que representa ese punto.Imagínate que el Win32ROS remodelado totalmente se incluye en el 2012. Entonces ese punto de corte sería la compatibilidad que ReactOS alcanzaría en el 2012 actuando como estamos haciendo hasta ahora==remodelando el Win32Ros sobre la marcha.


Es decir: Indica la compatibilidad que en el año(supongamos) 2012 tiene ReactOS al remodelar Win32ROS sobre la marcha.


 

El otro punto clave es la esquina que forma la línea amarilla  en el punto 95% de compatibilidad.Este punto indicaría la compatibilidad del Win32ROS remodelado en el año en el que se incluya en ReactOS.


Es decir: Indica la compatibilidad que tiene ReactOS al incluir Win32ROS de golpe.


 

¿Y quien es el responsable de esta mejora?Pues Arwinss.


 

Pero espérate(dice un inteligente lector), ¿qué tiene que ver Arwinss ahora?Arwinss en ese momento(en el 2012) está “desactivado” y además no tiene nada que ver con el subsistema Win32Ros.¡!Son Subsistemas independientes!! ¿Como Arwinss puede haber producido ese aumento de compatibilidad en Win32Ros?(Aquí te he pillao….)


 

Tienes toda la razón pero antes fíjate en la gráfica de la derecha.



Aquí puedes ver la “Mejora provocada por Arwinss” y una nueva gráfica de color Burdeos.


La “Mejora provocada por Arwinss” es la diferencia entre los dos puntos claves que he comentado antes. ¿Y la gráfica de Color Burdeos?


 
 

La gráfica de color Burdeos es la NUEVA EVOLUCION que sufre la gráfica naranja oscura “ReactOS” desde que se incluye Arwinss en trunk hasta que se sustituye por el Win32Ros remodelado. Y representa exactamente lo mismo que el tramo naranja entre las dos líneas verticales, por eso la he llamado “ReactOS ' ”(ReactOS prima),para indicar que es lo mismo pero evolucionado distinto.


 
 

¿Pero que tiene que ver Arwinss en la evolución de Win32Ros entre las dos líneas verticales?Déjate de andar por las ramas anda….


 

Bueno, es sencillo.Al mejorar la calidad del Sistema Operativo de una manera brutal gracias a Arwinss,y atraer la atención de nuevos usuarios, es bastante probable que también se atraigan desarrolladores y empresas que quieran colaborar o apoyar el proyecto.Esto hará que algunos de ellos se pongan a trabajar sobre Win32Ros, por lo que la evolución de la grafica naranja “ReactOS” se verá positivamente afectada,acelerándose el proceso,y haciendo que el ritmo y la compatibilidad aumenten rápidamente.


 

Es decir, Arwinss tendría un “efecto llamada” que mejoraría el resto de proyectos en desarrollo, desde la remodelación del Win32Ros, hasta la mejora en compatibilidad en Drivers,más testeadores,etc.


 
 

Pues hasta aquí la teoría de la Compatibilidad de Arwinss y como afectará al proyecto. Esperamos que todo se desarrolle como está teóricamente planeado y que todos podamos disfrutar de un Sistema Operativo completamente funcional :)


 

En las sucesivas semanas iremos colgando comparaciones entre aplicaciones funcionando en ReactOS y en Arwinss. Así podréis ver la mejora “en  vivo” de la compatibilidad ;)

10 comentarios:

  1. Bueno es buena idea, aunque despues de leer todo tengo sentimientos encontrados, porque el desarrollo del reactos como lo conocemos desgraciadamente va lento, cuando vi lo de "ReactOS no alcanzaría un 65% de compatibilidad hasta dentro de varios años, y hasta dentro de décadas no sería capaz de alcanzar la misma compatibilidad que Linux+Wine" realmente me desilusione. He usado wine y definitivamente no me convence, asi que esperar mucho para que reactos apenas los alcance no es algo digamos alentador. Por otra parte la inclusion de Arwinss y sus efectos tal como lo describes da esperanzas, desde el hecho del gran salto en cuanto a la usabilidad del sistema en relativamente corto tiempo, hasta el probable aumento del interes hacia el proyecto por parte de terceros y el consiguiente impulso pues anima no? Ojala y todo marche. Saludos desde el otro lado del charco.

    ResponderEliminar
  2. Raijinzrael (Hyoenmadan)4 de marzo de 2010, 7:52

    Jejeje... buen conjunto de articulos sobre Arwinss, gracias a esto he podido resolver dudas que tenia sobre el tema, ya que en la wiki de ReactOS realmente hay poca informacion al respecto...

    En particular esta forma de desarrollo del proyecto me recuerda bastante a la forma en que Microsoft desarrollo su NT-OS2... si te fijas primero microsoft desarrollo el Api Win32 sobre un entorno que dominaba bien en esa epoca (DOS/Win3x shell) y solo despues de que estuvo terminado y funcional (que no libre de bugs xD), lo porto sobre el nucleo NT que aun no estaba terminado, ayudando a finalizar su desarrollo y dando como resultado Windows NT...

    De la misma manera, aqui el api Win32 se ha desarrollado y probado sobre un entorno estable y bien dominado por la comunidad OpenSource, gracias a WineHQ y a sus esfuerzos, y ahora al incluirlo de manera mas completa a ReactOS me parece que ayudara no solo a elevar la compatibilidad con las aplicaciones , sino que tambien ayudara al desarrollo del nucleo en si, y como resultado tendremos un ReactOS funcional en menos tiempo, con la capacidad de atraer programadores y tal vez hasta patrocinadores, para acelerar su desarrollo...

    De nuevo, gracias por los articulos, y esperando las demostraciones de compatiblidad ^_^

    ResponderEliminar
  3. Desde ReactOS pensamos que el impulso de Arwinss hará que la compatibilidad de las aplicaciones pegue un buen salto hacia adelante, en estos momentos ando testeando varias apps y sinceramente es alentador.Existen varios bugs,pero muchas de las apps que no funcionaban en ReactOS, son capaces de funcionar en Arwinss con una gran estabilidad.Las gráficas,como todo, son aproximativas. Realmente ReactOS alcanzará y sobrepasará a Wine durante este año(o al menos asi esperamos). Un saludo

    ResponderEliminar
  4. Pues sí, tener dos susbsistemas diferentes nos va a permitir separar bugs del Kernel de los bugs del Subsistema de manera mucho más sencilla gracias a la gran estabilidad del código de Arwinss. Ya tenemos las primeras capturas de comparación entre Arwinss y Win32Ros, en breve las iremos subiendo y comentandolas.
    Gracias por seguirnos :)

    ResponderEliminar
  5. Acabo de bajar la version bootcd-45837-dbg y me gusto mucho ya la forma en como se apaga reactos, va quedando mas profesional, aunque siento que va muy lento pero hay va, ojala dentro de "no" muchos años ya se tenga un sistema bueno como para pensar en reemplazar a windows, aunque quien sabe, suerte.

    ResponderEliminar
  6. Muchísimas gracias por esta serie sobre Arwinss. Ha sido un placer leerlas. Espero que todos nuestros deseos/augurios se hagan pronto realidad con la implantación de este subsistema.

    PD: Ya me tarda el ver las capturas de Reactos+Arwinss

    ResponderEliminar
  7. Arwinss ya viene incorporado de serie en las ISO de pruebas? o está en algun tipo especial de trunk?

    ResponderEliminar
  8. Hola Julcar,
    Arwinss está en una branch aparte, simplemente tienes que bajarte el branch(como hiciste con ReactOS) y compilarlo. Aún no se ha integrado en las ISOS de Reactos.Ya hemos empezado a testear con algunas ISOs de prueba, y los resultados son bastante interesantes ;). Pero de momento todo es "oficioso" y no "oficial" :)

    ResponderEliminar
  9. Es interesante el branch ;) Enhorabuena
    Está aquí: http://www.arwinss.com

    ResponderEliminar
  10. señores,
    Gracias por informaciòn mostrada acerca del subsistema Arwinss, felicidades por estar siempre constantes y darnos una buena noticia de que en poco menos tiempo podremos utilizar reactos compatible con muchos programas que la gente usa a diario.

    Esta buena noticia que ustedes nos dan me imagino que hace agua a la boca a muchos seguidores que estamos esperando ansiosos que Reactos se pueda utilizar como un sistema operativo ya oficial.

    Estamos en contacto!!

    y pa' lante es pa' llà

    ResponderEliminar