|
|
|
Autor: Ferrán García McEwen y Moss hablan del renacimiento del Amiga SDK Daniel Robbins
El Amiga original fue una importante innovación tecnológica en su tiempo. Ahora, el Amiga ha vuelto. Bill McEwen, presidente de Amiga, Inc., y Fleecy Moss, vice-presidente de Desarrollo, entrevistados por Daniel Robbins, nos dan una idea del nuevo Amiga y explican por qué es una de las plataformas de desarrollo más excitantes disponibles hoy. El Amiga original no sólo tenía unos gráficos y un sonido increíbles (gracias a sus `custom chips' [N.del T.: "custom chips" se podría traducir como "componentes propios", pero seguiré utilizando la expresión original, ya que creo que es más conocida.] ), sino también un elegante y ligero sistema operativo multitarea. La tecnología independiente del "hardware" [N.del T.: "hardware" se podría traducir como "equipo" o "componentes", pero seguiré utilizando la expresión original, ya que creo que es más conocida.] del nuevo Amiga se parece poco al ordenador original, basado en el `hardware'. De hecho, posiblemente la única conexión entre el Amiga clásico y el nuevo es una determinación común de redefinir la tecnología informática tal y como la conocemos.
Bill McEwen: Claro. El Amiga fue revolucionario y realmente cambió la informática. Recuerda cómo era entonces: teníamos pantallas verdes, `bips' y pitidos. Y de repente tuvimos animaciones y gráficos a todo color. El Amiga creó lo que hoy conocemos como mercado del video-juego. Fleecy Moss: Básicamente, el Amiga clásico fue creado para resolver cierto conjunto de problemas de aquel tiempo por un grupo de gente que pensó que un ordenador debía ser más de lo que erán el Apple II y el inminente PC. Así que construyeron mucha tecnología porque, en su tiempo, lo necesitaban. Uno de los mayores argumentos que recibimos es que "esto no es una extensión del Amiga porque no estáis utilizando un juego de `custom chips'". Pero, en su momento, el juego de `custom chips' fue una revolución porque todo el mundo estaba haciendo pasar todo por un solo procesador. Una de las cosas que sigo indicando a la gente es que hicieron un `hardware' especializado en su momento porque el `hardware' no existía: ¡no había nada que pudieran utilizar! No podrían haber escrito el AmigaOS sobre un Apple II o un IBM PC; no hubiese hecho lo que se esperaba que hiciese. Hoy en d�a tienes nVidia, tienes Matrox, tienes 3dfx... Todas estas compa��as est�n gastando millones de d�lares s�lo para producir juegos de componentes gr�ficos. Creo que la cantidad de algunos de los juegos de componentes que Amiga hizo estaba por las decenas de miles, tal vez cien mil. Si miras el GeForce de nVidia, �est� por encima de los 20 millones! Y hay una compa��a entera con un grupo enorme de recursos detr�s de �l, haciendo �nicamente juegos de componentes gr�ficos. Se estima que el desarrollo del juego de componentes de las Playstation 2 ha costado entre mil y mil quinientos millones de d�lares. Incluso Intel hace una cosa, el procesador (y tal vez algunos juegos de componentes), pero han dejado el mercado de los [componentes] gr�ficos.
Moss: El Amiga examin� los problemas de su tiempo y los resolvi�. Ahora, en este momento no veo que los gr�ficos sean un problema, en lo que se refiee al `hardware'; no veo concretamente el sonido como un problema, porque el `hardware' ha alcanzado y, en muchos casos, sobrepasado lo que el Amiga intentaba hacer. Uno de los grandes problemas al que la gente se enfrenta, y una de las razones de que el Amiga muriese, es que al principio su fuerza se basaba en su juego de componentes, pero al final ha quedado atrapado por ese mismo juego. McEwen: El Nuevo Amiga corre sobre procesadores x86, as� como sobre PowerPC, StrongARM, ARM, MIPS, SH3/4/5 y m�s. Adem�s de correr sobre el propio `hardware', tambi�n corre sobre Linux, Linux incrustado, QNX, OS/9, y muy pronto sobre VxWorks, iTron, EPOC, Palm, Windows 98, Windows CE, Windows NT y Windows 2000. Liberamos al desarrollador de la limitaci�n de estar ligado a un juego de componentes o a una plataforma espec�ficos. Al mismo tiempo, el nuevo Amiga puede sacar partido de las virtudes del entorno en el que est�. Ahora, toma esta tecnolog�a, a�ade las piezas del AmigaOS y del n�cleo multimedia que hizo famoso al Amiga, y el resultado es el nuevo Amiga.
Moss: La mejor manera de explicar la tecnolog�a de Tao Group es explicar de d�nde vino. Chris Hinsley (creador de la tecnolog�a) era un programador de juegos. Escribi� un juego rompedor, que les encant�; y entonces sus editores dir�an: "�Podr�as portarlo al Atari ST o al PC?" Y despu�s de dos o tres veces, empez� a ser molesto, ya que portar es infernalmente aburrido, para ser honesto. As� que se pregunt�: "Hey, �c�mo podr�a hacer esto m�s f�cilmente?". Inicialmente, �l cre� su propio lenguaje macro ensamblador que le daba cierto tipo de independencia sobre la plataforma, pero no la suficiente. Y evolucion� hacia este concepto de un procesador virtual, donde no hab�a s�lo un lenguaje macro, era el c�digo m�quina en s� mismo el que se abstra�a. Haciendo esto, liber� al desarrollador de preocupaciones. Esta es la promesa que Java esta intentando cumplir, excepto que Java lo hace a un nivel mucho m�s alto. No tienes que preocuparte por lo que haya debajo, por el `hardware' o por el `software'. Escribes para lo que tienes, en este caso, un procesador virtual (VP), y, de ah� para abajo, �l se encarga de todo. Una de las cosas estupendas de la tecnolog�a de Intent que estamos utilizando es que es muy r�pida, carga muy r�pidamente y es muy recuperable si se viene abajo.
Moss: Esa es una cosa que la gente no entiende, y siguen diciendo: "El nuevo Amiga proporciona binarios portable. Los binarios portables son lentos". Ahora, en el pasado han sido lentos porque los binarios portables han sido siempre interpretados. Pero los que ocurre con Intent de Tao es que son traducidos din�micamente en c�digo maquina nativo propiamente dicho. S�lo tiene que ser traducido de c�digo VP a c�digo m�quina una vez. La otra cosa que hace que sea muy, muy r�pido es que Intent de Tao, al nivel VP, utiliza una arquitectura basada en objetos que toma m�todos, o funciones, y crea peque�os elementos llamados herramientas. Un m�todo equivale a una herramienta. Y si utilizas c�digo VP, cuando llamas a un �nico m�todo, ese �nico m�todo se carga, se traduce y se ejecuta. As� que no es como un sistema tradicional como Java, en el que llamas a un m�todo y acarreas con la categor�a completa. As� que es realmente muy, muy r�pido. Ya conoces la regla del 80/20: llamas a un objeto, y, si est�s de suerte, como mucho vas a utilizar un 20% de operaciones en �l. No es as� con Intent; t� s�lo cargas, traduces y ejecutas lo que vas a utilizar.
Moss: Correcto. Otra cosa que la gente no entiende es que dicen: "Seguramente la traducci�n (desde c�digo VP) es un problema", pero debido a la naturaleza del c�digo VP, las distribuciones acaban siendo m�s peque�as que las distribuciones nativas, en muchos casos. Tienes que fijarte en la ecuaci�n completa: llamas a algo, se carga desde el disco duro; el c�digo VP es a menudo bastante m�s peque�o que el c�digo nativo, con lo que el tiempo de carga desde el disco duro se reduce significativamente. Y comparado con el tiempo que lleva traducirlo, los ahorros son masivos. �A veces acaba realmente siendo m�s r�pido que cargar y correr el c�digo nativo ya traducido! La gente queda asombrada cuando lo ve funcionar. Pero lo que tambi�n asombra cuando lo ves es que todo esto ocurre din�micamente; puedes construir esas matrices multiprocesador, cada uno de una familia de procesadores diferente, y el sistema ni se inmuta. Porque a la hora de cargar dice "Vale, esto es lo que quieres. Ahora, �sobre que procesador estoy corriendo? �Es un PPC, un ARM, un x86? �De acuerdo, voy a hacer la traducci�n!".
Moss: Aj�. Ese es su fuerte: en la gama baja, como PDAs y tel�fonos m�viles, es muy parco en requerimiento de recursos y muy eficiente. Pero cuando se dan capacidades multiprocesador, puede escalarse hacia arriba, y cuando lo hace es con AMP (multiproceso asim�trico), no est� limitado por los problemas del SMP (multiproceso sim�trico). Tan s�lo a�ades procesadores, �l le agrega el n�cleo de procesador virtual a cada uno de los procesadores que le das, y dice tranquilamente: "Vale, �qu� quieres que haga?"
Moss: Hay tres piezas de Intent que est�n completa o parcialmente escritas en c�digo m�quina nativo; el resto del sistema lo est� en c�digo VP. El primer componente en c�digo nativo es el traductor, que traduce de binarios en c�digo VP a c�digo nativo del procesador. Dependiendo de la complejidad, el traductor est� entre los 50 y 80 KB de tama�o. Aqu� estamos hablando de tama�os muy peque�os, como era de esperar. Las otras dos piezas se llaman PII (pronunciado `pai'), el Interfaz de Aislamiento de la Plataforma, y el CII (pronunciado `saig'), el interfaz de Aislamiento de la CPU. El CII proporciona una abstracci�n alrededor de la CPU, cosas como el manejo de interrupciones, ese tipo de cosas. El PII abstrae b�sicamente la placa base. Uno de los proyectos en el que estamos trabajando ahora es escribir un controlador acelerado nativo para la tarjeta de video Matrox G400 AGP Dual Head. Por el momento, el AVE (entorno audiovisual) descompone sus llamadas en llamadas al sistema X Windows. Est� padeciendo los mismos problemas que cualquier otro; de todas formas, hasta que el DRI [N. del T.: no s� lo que es el `DRI'; si alguien lo save, que por favor lo indique en el grupo es.comp.amiga] no est� debidamente implementado en XFree86 4, nadie puede obtener una buena aceleraci�n por hardware en Linux si utilizas X. As�, la gente est� usando el nuevo SDK de Amiga sobre Linux y dicen: �Guau, esto es impresionante! Pero no est�n teniendo ninguna aceleraci�n por hardware, y est�n corriendo Amiga OS encima de otro sistema operativo. As� que te puedes imaginar que es lo que har� cuando corra de manera nativa sobre su propio hardware: volar�. Y otra de las cosas magn�ficas de esto es que t� primero escribes la versi�n en c�digo VP (del controlador/programa). Si entonces decides que quieres a�adir algunas mejoras, digamos para el juego de instrucciones del 3Dnow! o el Altivec, Intent no puede abstraer esto porque es espec�fico del `chip'. Pero lo que puedes hacer es tener nuevas herramientas escritas en c�digo nativo. As� puedes decir: aqu� est� todo mi c�digo VP, que hace el trabajo, pero si tienes un PowerPC corriendo debajo, aqu� hay unas cuantas herramientas extra que reemplazan a las de c�digo VP y utilizan los registros e instrucciones especiales.
Moss: Correcto. Esta es una de las primeras preguntas que hice. Pensaba: No hay manera de que Tao Group supere esto. Pero ellos son gente inteligente (risas): �lo hicieron! Es lo mismo que ofrece Java, con la excepci�n de que es mucho m�s r�pido. Es asombroso verlo trabajar. Como t�cnico que soy, lo que m�s me impresion� fue ver como se reproduc�a de manera casi org�nica sobre una red multiprocesador. Y puedes hacerlo sobre una LAN o una WAN si quieres: es computaci�n distribuida transparente.
Moss: Es un proceso en dos fases: el compilador C compila de hecho en c�digo fuente VP que es entonces ensamblado en c�digo objeto VP. Una de las diferencias de programar en C en vez de en VP es que est�s a expensas de c�mo se traduce de C a VP (lo que significa que el compilador de C produce una �nica herramienta grande, similar al monol�tico ejecutable tradicional, por lo que tu c�digo no esta compuesto de muchas peque�as y ligeras herramientas como el resto del sistema). Doom fue portado desde los c�digos abiertos C disponibles en 15 minutos, y creo que Quake llev� sobre una o dos horas. Tiene una conformidad completa con ANSI-C. La gente que lo ha utilizado hasta ahora ha dicho que realmente les gusta, pero que a veces quedan un poco confundidos porque las cosas parecen ser como en C y como en Linux, y no lo son. As� que hay un poco de curva de aprendizaje, pero no mucha: esas personas est�n todas por encima de eso. Porque inicialmente vimos que todo el mundo dec�a S�lo utilizamos C, y muchos de ellos dec�an De ning�n modo, nosotros no programamos en ensamblador, y entonces lo vieron y se enamoraron de �l. Y, de hecho, est�n utilizando m�s VP.
Moss: Nosotros vemos Java como un lenguaje de convergencia realmente bueno: es un lenguaje seguro, no hay punteros, es transparente a las redes y es f�cil desarrollar cosas r�pidamente. En el pasado, Java ha tenido mala prensa por inmaduro, y, francamente, porque muchas de las propias implementaciones han corrido tan lentamente que no vale la pena utilizarlas. La JEngine, que nosotros utilizamos, finalmente hace Java realidad. Una de las cosas buenas de esto es que el Java de Tao Group, la JEngine que corre encima del SO, es m�s r�pido que cualquier otra m�quina Java comparable a nivel de por-MIP [N. del T.: no s� a que es `por-MIP', creo que debe ser `millones de instrucciones procesadas' o algo as�; si alguien lo sabe, que por favor lo indique en el grupo es.comp.amiga].
Moss: As� es. Lo que mucha gente hace es tomar su material C existente, lo portan y optimizan varias porciones de �l en VP para aprender como funciona.
McEwen: Para los sistemas de desarrollo que est�n a la venta se requiere Linux. A medida que avanzamos, podemos correr el nuevo Amiga OS en `hardware' propio, Linux incrustado o un entorno de escritorio Linux: tiene mucho que ver con el socio con el que estamos trabajando. Es en esto donde puedes ver la flexibilidad: podemos correr de manera nativa (sobre `hardware' propio) o podemos utilizar Linux. Moss: Si, eso depende del usuario, y depende del OEM, del ISV [N. del T.: estas siglas me est�n matando; please, help], o de cualquiera que quiera crear una aplicaci�n. Esto es lo que les estamos dando. No es como Microsoft, donde lo que obtienes es: Esto es Windows CE, y va a correr sobre esto, y t� debes hacer esto. Una de las grandes capacidades del nuevo Amiga es su naturaleza camale�nica. Una compa��a podr�a escribir una peque�a aplicaci�n destinada a correr �nicamente en, digamos, un tel�fono m�vil. Y est�n ligados/obligados al tel�fono m�vil porque utilizaban OS/9 o algo parecido. Con nosotros, pueden escribirlo y funcionar� en el tel�fono m�vil, pero, de improviso, funcionar� tambi�n en cualquier otro sitio. Ahora, el SO no es el l�mite, no es el factor limitador: con nosotros es Ey, puedes ir all� donde vayamos nosotros.
Moss: Exactamente. Y es el mismo binario. Y la compa��a que hace el juego no se tiene que preocupar de la plataforma de destino. Le estamos proporcionando a Linux un gran valor a�adido en t�rminos de herramientas de desarrollo, en t�rminos de funcionalidad y, a medida que pasa el tiempo, tambi�n en t�rminos de contenido.
McEwen: Hay un par de cosas en marcha. Tenemos la lista de correo Open Amiga. Esta es un �rea en la que estamos llevando a cabo proyectos de c�digo fuente abierto. Tenemos gente de casi cada gran compa��a que puedas imaginar y de universidades de todo el mundo realizando producciones para la siguiente generaci�n de Amiga. Nosotros no vamos a liberar el c�digo fuente de nuestro n�cleo, pero hay un �rea enorme en la que el c�digo fuente abierto cobra un gran sentido para nosotros. La comunidad Amiga, ahora mismo, tiene m�s de 60.000 aplicaciones, y pr�cticamente todas est�n escritas por aficionados: est�n hechas por gente a la que le encanta programar. Esto es lo que queremos fomentar. Estamos aqu� para hacer una cosa, crear unos cimientos sobre los que otros puedan construir. Moss: Hemos invitado a algunas personas de la comunidad que son excelentes en gr�ficos 3-D y audio; decimos: Ey, dadnos vuestro apoyo. No pretendemos saberlo todo. Estamos intentando desarrollar tambi�n otro tipo de �reas, tales como interfaces abiertos. Todos nuestros interfaces ser�n abiertos. Esperamos que si la gente quiere hacer dinero, lo har�n en implementaciones. Tambi�n escuchamos a la gente, lo que es raro en una compa��a que hace lo que estamos intentando hacer nosotros. No vamos a ser arrogantes y decir: Bien, esto es lo que hemos pensado que era mejor, y lo mejor ser� que desarrolles para ello o... malo. Esa gente lo est� utilizando d�a s�, d�a tambi�n: saben lo que les gusta, y queremos que participen.
McEwen: Nuestro SDK est� disponible y distribuy�ndose, e incluye editores, herramientas, ejemplos de c�digo y documentaci�n. Ah� est� todo para que puedas comenzar. Requiere Linux, as� que necesitas tener Linux en tu m�quina para instalar el SDK. Se vende por 99'95 d�lares y est� disponible en Amazon.com y en distribuidores de Amiga de todo el mundo. Moss: �Durante cu�nto tiempo lleva realmente vendi�ndose? �Tres d�as?
McEwen: Me llev� conmigo una primera tirada a Dusseldorf, Alemania, y la vendimos en quince minutos. Ahora tenemos una segunda tirada almacenada, y parece que ya est� toda vendida. As� que vamos a poner en marcha nuestra siguiente ronda de producci�n. Estamos hablando de entre 5 y 10 mil unidades por tirada. De hecho, fue, en cierto modo, gracioso: como �ramos una nueva cuenta en Amaz�n.com, de hecho tuvieron que notificarnos que como est�bamos vendiendo demasiado, nos iban a dar de baja temporalmente.
Moss: Cuando recibes el SDK, recibes un manual de 300-400 p�ginas. Hay una barbaridad de manual m�s en el CD, en formato PDF. Recibes el Amiga Foundation Layer [Capa de Cimientos de Amiga], que es el principio de lo que estamos intentando crear con el concepto Amiverse: el Amiverse se asienta sobre el Amiga Foundation Layer. Recibes el sistema operativo completo, un `shell' [ventana para l�neas de comandos], el AVE (entorno audiovisual), y una implementaci�n completa, certificada por Sun, de Personal Java (que incluye un compilador y el propio JRE). Recibes el GNU C, un depurador de l�nea de comandos, el ensamblador VP y muchas herramientas VP.
Moss: Muchos desarrolladores que conozco, especialmente los muchachos de Linux y codigo fuente abierto, que programan por la noche cuando vuelven a casa del trabajo, quieren hacer algo nuevo, algo diferente. Muchos de los SO que hay por ah� ahora tienen ligeras variaciones , pero est�n basados b�sicamente en conceptos tradicionales, establecidos. Ya sabes, n�cleo, sistema de archivos, esto, lo otro y lo de m�s all�. Intent y Amiga proporcionan un punto de partida para una nueva manera de hacer las cosas. La gente que ha recibido el SDK ahora dice: Si, se parece mucho a lo que utiliz�bamos, pero, guau, �tambien hay algo que es muy diferente! Y te da ese toque, el mismo toque que la gente sigue mencionando en las ferias de Amiga, donde dicen :Tuve un Apple II; vi a alguien utilizar un Amiga durante 15 minutos y me compre uno. Sencillamente te da algo diferente. Es como ser un ni�o de nuevo, cuando de repente algo hace `�bang!' en tu cerebro y te das cuenta: �Guau, esto es sencillamente genial! Por 99 pavos, pueden obtener algo que, potencialmente, puede cambiar sus vidas. Hasta ahora no he visto a nadie que lo haya probado que no haya dicho otra cosa que: �Guau, esto es genial!
McEwen: Esta ocurriendo, estamos distribuy�ndolo. Esto es por el Amiga y por la gente que lo mantuvo vivo. Ellos son la raz�n de que todav�a est� aqu� hoy: es la comunidad. Ciertamente, el Amiga cambi� las reglas de todo all� en el 85. Y nosotros lo estamos volviendo a hacer en el 2000. |