lunes, 8 de febrero de 2010

Manual: ARWINSS

Arwinss Tras las respectivas semanas de exámenes, el Blog de ReactOS vuelve a la carga. Sentimos mucho la larga espera,pero regresamos con renovadas energías.

Algunos nos habéis solicitado mas información sobre Arwinss, así que hemos recogido toda la información sobre el mismo y la hemos limpiado de paja,  esperamos que sirva para aclarar un poquito más las cosas sobre este nuevo subsistema.
 
 
 
 

Como siempre, antes de meternos en materia, una minimini-introducción teórica para entender qué es eso de “Subsistema” y otros (pocos) palabros raros que puedan aparecer.
 
 

¿Qué es un Subsistema?


Hace ya algún de tiempo escribí sobre la analogía del Sistema Operativo con un edificio,siendo el programa la “azotea” del mismo, y el Hardware el “sótano”.Aquí podéis ver dicho post.

En este caso el Subsistema sería uno de los apartamentos de la ultima planta de dicho edificio. Es por lo tanto la puerta entre las aplicaciones y el Sistema Operativo. Los Subsistemas son diseñados para un tipo de aplicación en concreto, existen aplicaciones Windows,aplicaciones Unix,etc.…Así pues, un Subsistema diseñado para “charlar” con una aplicación .exe, es incapaz de “hablar” con una aplicación Unix.

asdfas Lo bueno,es que gracias a la modularidad con el que está diseñado un Sistema Operativo, podemos tener varios Subsistemas coexistiendo sin molestarse. En este caso, la planta superior del edificio podría entenderse dividida en diferentes apartamentos, y en cada apartamento tendríamos viviendo una persona de nacionalidad distinta.

Si el programa “habla en chino”, y existe un apartamento con “chinos” en la planta superior, la petición del programa será atendida, y se mandará a las plantas inferiores.Lógicamente si no hay ningún apartamento con “chinos”, el Sistema Operativo no “entenderá” la petición y el programa no será ejecutado.Ejemplo: Intenta ejecutar una aplicación Linux en Windows.

Windows por ejemplo tiene implementado varios subsistemas.El subsistema principal es denominado Win32, y es el encargado de hablar con las aplicaciones Windows, pero también tiene un subsistema Posix y un subsistema OS/2.El Posix se encarga de hablar con aplicaciones POSIX y OS/2,¿adivinas?,con aplicaciones OS/2.
 
 

¿Entonces podría ejecutar una aplicación Linux en Windows o ReactOS?


Claro,¿por que no?,solo tienes que crear un Subsistema(llámalo Linux,en un alarde de imaginación),es decir,un nuevo apartamento,en la planta superior. Lógicamente no es todo tan sencillo como parece, y existen ciertas limitaciones impuestas por los vecinos de las plantas inferiores del edificio.Si un Sistema Operativo ha sido diseñado para hablar con aplicaciones Windows,no es trivial hacerle hablar con aplicaciones Linux(por ser Linux una arquitectura tan diferente a la NT).

wine-1 De hecho,algo parecido ocurre con Wine y Linux. Wine es realmente un “subsistema Win32”, que permite a Linux entender las aplicaciones Win32. Lógicamente con las limitaciones impuestas por los vecinos de las plantas inferiores del edificio “Linux”.
 
 

¿Cuales son los subsistemas de ReactOS?


Actualmente Reactos solo cuenta con un subsistema, nuestro “Win32”,muchas veces también llamado “Win32Ros” para distinguirlo del original.
 
 

¿Qué es Arwinss?


Arwinss es un segundo subsistema en ReactOS. Su objetivo es “hablar” con Aplicaciones tipo Windows,al igual que nuestro actual “Win32ROS”.
 
 

¿2 subsistemas distintos para hablar con un mismo tipo de Aplicación?


Efectivamente.No existen (teóricamente) limitaciones de números de subsistemas a incluir,o una exclusividad.Es perfectamente viable tener en la ultima planta del edificio “dos traductores chinos distintos”(siguiendo con el símil).
 
 

¿Y como se reparten las tareas estos “dos traductores”?


En eso la Arquitectura es clara.Solo puedes usar a uno de ellos,y el otro dejarlo en estado INACTIVO.Es la manera mas sencilla.Sería como tener a uno trabajando y al otro arrascándose los…pies.Pero que a voluntad del usuario podría decidir cambiar de uno a otro.(Por ejemplo,añadiendo una casilla de selección en el Panel de Control de ReactOS).
¿Pero cual es la razón de “perder el tiempo” creando otro Subsistema?

¿Dejar al usuario la capacidad de decisión?

¿Cual es el estado actual de Arwinss?

¿Existen mejoras evidentes en Arwinss respecto a Win32ROS?

¿Como afecta esto al proyecto?

¿Como están posicionados los desarrolladores?

Si el mundo se va a acabar en el 2000,2010, 2012¿Por qué molestarse?

Estas y otras preguntas….en un par de días ;).Continuará…

3 comentarios:

  1. Buenos dias,

    Por lo que he leido (corrígeme si me equivoco) se quiere cambiar a arwinss ya que desarrollar el sistema actual no parecía viable tanto en velocidad como en errores y que por eso se planteaba el cambio "radical" de desarrollo. A simple vista no me parece un cambio nada trivial.

    ¿Cuánto o cómo afectará eso al desarrollo de reactos y sobre todo a las releases inmediatas (sobre todo la 0.4)?

    ResponderEliminar
  2. AAAARRRGGGG!!! ¡Pero cómo me hacéis esto! En lo mejor de la lectura me citáis para dentro de un par de días.

    Gracias y suerte con los resultados de los exámenes. ;)

    ResponderEliminar
  3. Que bueno que estan de nuevo aqui, ya se les extrañaba. Pues si precisamente esas dudas finales me asaltaron asi que estare esperando el siguiente post. Nos leemos.

    ResponderEliminar