El proyecto ReactOS tiene varias versiones en desarrollo de su Sistema Operativo.Y aunque nos centramos en la versión para PC de ReactOS, también estamos desarrollando una versión para los microprocesadores ARM.
¿Quién no ha usado nunca una Nintendo DS, un Ipod o una Gameboy Advance ?Pues todos ellos hacen uso de microprocesadores ARM
En una escueta nota, el ARM-team nos ha mostrado un hardware ARM en el que han instalado ReactOS de manera satisfactoria.
Y es que una imagen vale más que 111101000|2 palabras.
(Edit: El dispositivo en cuestión es un Texas Instrument OMAP34x-II Mobile Development Platform, que usa un micro ARM Cortex-A8. Gracias Heisspiter.)
Los procesadores ARM
En el mercado existen una gran variedad de microprocesadores, pero seguramente la arquitectura mas conocida sea la x86 en sus versiones de 32 o 64 bits, ya sean de AMD o de INTEL.
Sin embargo, con el auge de los smartphones, la arquitectura ARM ha ido cobrando importancia, ya que permite una gran potencia de cálculo con un consumo muy bajo de energía. Uno de los “buques insignias” de esta arquitectura es el SnapDragon, un micro desarrollado por Qualcomm, y que es el “corazón” de móviles como el Google Nexus One, la HTC HD2,o la HTC Desire HD entre otros.
También usan un micro ARM los móviles: Iphone 4, Iphone 3Gs, Samsung Omnia HD, Samsung Omnia II, Samsung Wave, Motorola Droid X. O Tablets PCs como: Ipad, Archos 5, o el Nokia N900
Pero ya estaban entre nosotros desde mucho antes y es que, gracias a su bajo consumo, son perfectos para todo tipo de dispositivos móviles.
¿Quién no ha tenido entre sus manos una GameBoy Advance, o un “IPod”, o una Nintendo DS?.
Sistemas Operativos para microprocesadores ARM
En la actualidad varios Sistemas Operativos tienen versiones que son capaces de funcionar sobre un micro ARM, a destacar: AndroidOS, distribuciones Linux ( Chrome OS, Fedora, Gentoo, Ubuntu …), distribuciones BSD (FreeBSD, NetBSD), o Windows Mobile.
Y a esta lista se le sumará ,en breve, ReactOS, que gracias a sus bajos requisitos (la versión de ordenador solo necesita 42MB Ram) es un candidato ideal para estos dispositivos.
Portando ReactOS a la plataforma ARM
Hace apenas un par de semanas se concluyó la reescritura del MM, tras más de 12 meses, y la “desaparición” del ARM-team pronosticaba que algo se traían entre manos. Andaban liados intentando instalar una versión de ReactOS en un dispositivo ARM.
En esta captura se puede ver como no solo han conseguido instalar ReactOS en un dispositivo de desarrollo ARM, sino que además han sido capaces de arrancar ReactOS y de hacer funcionar el teclado.
Aún queda trabajo por delante pero el port de ReactOS a la arquitectura ARM se siente mucho mas cerca.
La carrera ha comenzado…
Ya se que fantasear es muy facil, pero ¿se podría instalar en una Nintendo DS?
ResponderEliminarLa verdad es que tengo una que uso practicamente para navegar y que me vendría bien poder utilizar para otras cosas.. :)
gran noticia, por cierto saben donde puedo conseguir un emulador de power pc u como emular otros procesadores y ver si puedo compilar reactos ahi y sacar ejecutables para otras plataformas que no sean intel?, saludos.
ResponderEliminar@Manuel
ResponderEliminarNo es tan sencillo.
Aunque consigas un emulador PowerPC ReactOS no funcionaría en él. Por los mismos motivos por los que aún ReactOS no funciona en ARM.
Al ser PPC y ARM distintas arquitecturas a x86 (la única versión que funciona hoy en día), es necesario cambiar la HAL, y parte del Kernel en dichas versiones.
Una analogía rápida:
Supongamos que un microprocesador x86 habla en Chino y el Sistema Operativo en "Castellano", entonces es necesario que la HAL (y parte del Kernel) traduzcan de Chino a Castellano.
Si PPC habla en "Ruso" (por ser una arquitectura distinta), nuestro HAL no entenderá nada pues solo traduce de "Chino" a "Castellano". Será pues necesario crear una HAL2 que traduzca de "Ruso" a "Castellano". Y eso es lo que andan haciendo los de ARM (que ARM habla en "Polaco") creando una HAL que traduce de Polaco a Castellano.
Por supuesto esto es solo para que lo comprendas, y no es rigurosamente cierto. :)
@mcklaw
ResponderEliminarSiendo un micro ARM (que lo es pues se trata del ARM946) teóricamente se podría ejecutar ReactOS en él .
Pero hay que tener en cuenta tres factores.
1) Se está desarrollando en una plataforma que usa un Cortex A8 por lo que habría que comprobar si se ejecutaría sin problemas en el ARM946, pues puede que se esté haciendo uso de instrucciones "más avanzadas"
2)El rendimiento de ReactOS. Se está testeando sobre Cortex, que es un micro mucho mas potente.¿Cómo funcionaría sobre uno mucho menos potente?Aún no sabemos la fluidez con la que funciona en Cortex, asi pues es mucho aventurar que pasaría en el hermano pequeño.
3)La NDS tiene 4 MB de RAM. Y salvo que se haga uso del slot de memoria expandible dudo mucho que con 4MB seamos capaces de cargar un explorer y menos una aplicación :).Pero el mundo ARM está lleno de sorpresas.
En mi opinión, en 4MB de RAM se podría ejecutar perfectamente un SO, solo recordar que Windows 3.x podía funcionar perfectamente en modo real con 1MB de RAM y en modo protegido con 2.
EliminarRespecto al chip, yo probé esta versión de Windows en un emulador para Nintendo DS (DSx86) y no iba demasiado lento, salvo instaladores de programas, y salvo porque el emulador no soportaba una instrucción de una versión antigua del Office.
Lo que quiero decir es que, aunque parezca imposible, podría no serlo, aunque posiblemente habría que hacer demasiados cambios.
Si no hay video no sucedió nunca. jejeejje Publiquen un video porfa, de paso que nos enteramos cuanto demora en arrancar ReactOS :D
ResponderEliminarok, entonces por el momento reactos no funciona en ppc, suponiendo que pronto se correguiera ese problema, tendrian que liberar una iso para esta plataforma, una para x86 y así sucesivamente?, o la misma iso seria valida para cada plataforma?, saludos.
ResponderEliminar@manuel
ResponderEliminarEn principio sería una ISO para cada arquitectura :)
No se puedd tener una ISO con tofo junto pues hay k compilarlo con un compilador ARM.
La semana que viene habrá novedades :)
@Victor: Muchas gracias por la explicación. A ver si consigue avanzar lo suficiente la implementación ARM y lo testeamos!! :D
ResponderEliminarEntiendo que la implementación del HAL no debe ser tarea fácil, sólo por curiosidad ¿de cuánto código estamos hablando (no se, en líneas o en porcentaje respecto al resto)?
@mcklaw
ResponderEliminarRealmente no solo es la capa HAL la que hay que cambiar. Cuando se cambia a una arquitectura tan distinta como la Arm es necesario cambiar un par de componentes mas como es el kernel,el scheduler y el memory manager( aparte de la ya mencionada HAL)
El memory manager ya ha sido reescrito para que sea compatible y funcional.
El kernel esta en proceso de reescritura.
Y la HAL parece funcionar.
Veremos interesantes novedades la proxima semana.