Especial Mac OS X Snow Leopard: El cerebro de la bestia

snow_leopard_64b_gcd_ocl_web

Ahora que conocemos lo que tal vez sea lo que más preocupa a cualquier maquero que esté dándole vueltas a si actualizarse o no a Mac OS X Snow Leopard, seguimos con este especial pre-lanzamiento del sistema y vamos a meternos de lleno en el que es el cerebro de la bestia del sistema: sus entrañas. Es precisamente aquí donde las cosas funcionan de una forma muy diferente y efectiva que en el actual Mac OS X Leopard.

Hasta hace poco casi todas las novedades en cuanto a funcionamiento que ya incorpora el nuevs sistema solamente eran posibles en unas pocas máquinas y dedicadas a unas tareas muy concretas. Parte de estas funciones ya estaban activas en unos pocos Mac, pero ninguna estaba al alcance del usuario medio. Apple ha adaptado dichas funciones para Snow Leopard divididas en tres partes: Tecnología de 64 bits, Grand Central Dispatch y OpenCL. Lo mejor de todo esto es que estamos solamente al principio de lo que será la informática del futuro, ya que a pesar del logro que supone la implementación de estas tecnologías a todo el mundo, se trata solamente de la punta del iceberg.


64bit_icono_webParece que últimamente está de moda migrar de los 32 a los 64 bits, pero la verdad es que con los últimos sistemas operativos de Apple ya se habían implementado algunas prestaciones a 64 bits. Este salto de bits implica que el ordenador puede gestionar más cantidad de memoria, realizar el doble de cálculos en cada ciclo de procesador, y en definitiva, exprimir mucho más el sistema.

Eso no es posible sin que los programas hayan sido adaptados a 64 bits, pero eso no se realiza con un parche, sino que se necesita una reprogramación casi completa en la mayoría de los casos. Por eso en Mac OS X Snow Leopard se han reescrito en 64 bits casi todas las aplicaciones del sistema; el resultado es que cualquier proceso que dependa de ellas mismas, que no del usuario, se realiza mucho más rápido y con una mejor respuesta. Ojo; estamos hablando de las aplicaciones que incluye el sistema, no de las aplicaciones de terceros. Estas se verán mejoradas en mayor o menor medida, pero necesitarán muy posiblemente un reescrito para que puedan ser movidas por el sistema a la «nueva» velocidad del sistema. ¿Entonces, que ocurre con las aplicaciones que solo corren a 32 bits? Absolutamente nada, porque el sistema puede ejecutar aplicaciones de 64 y de 32 bits; cuando esa aplicación preferida para ti sea reescrita a 64 bits, tu Mac estará listo para sacarle el máximo partido, pero mientras eso no ocurra, seguirá funcionando como hasta ahora.

La tecnología de 64 bits no termina aquí, ya que ahora el Mac será capaz de gestionar una cantidad de memoria RAM tan grande que no es que suene a ciencia ficción, sino que hay quien apunta que como mínimo en muchos años nadie va a necesitar tanta RAM. De hecho, los Mac más potentes aceptan solamente una cantidad de memoria física que ni se acerca a lo que es capaz de mover un sistema de 64 bits. Snow Leopard es capaz de gestionar 16 terabytes de memoria RAM -es correcto: 16 «teras» de RAM- ; esto es, 500 veces lo que puede mover, de media, un Mac en la actualidad.

Otra pincelada a las ventajas de la tecnología de 64 bits es que hace del sistema un entorno más seguro. Si bien parece que últimamente salen virus, troyanos y demás para Mac, la verdad es que la cantidad de código maligno que hay «para Mac» no es, ni por asomo, lo que corre por ahí para otros sistemas. Para resumir, las aplicaciones de 64 bits tienen un mecanismo de asignación de funciones más seguro que las de 32 bits, tiene un bit de desactivación de ejecución basado en hardware en el área de memoria dinámica, y las firmas criptográficas se encargan de salvaguardar los ataques a la memoria. Si hasta ahora Mac era muy seguro, a partir de ahora lo será más.

gcd_icono_webExiste una regla de tres muy simple para un procesador: más potencia implica mayor consumo de energía y mas calor generado, y este último pasa factura a menudo. Por eso en los últimos años se estilan los procesadores con 2 o más núcleos. Estos ejecutan la misma cantidad de trabajo pero al estar repartida entre dos o mas, se ejecutan con un mayor rendimiento con un menor consumo y generando menos calor. Es como si coges en brazos una caja para cambiarla de habitación. Prueba a hacerlo con una mano; puede que tardes lo mismo para hacer el mismo trabajo, pero te cansarás menos y sudarás menos. A la postre, se trata de algo parecido de que tus brazos funcionen a la vez en la misma tarea, para que cada brazo trabaje menos y se canse menos, cuando el trabajo es exactamente el mismo.

Con los dos núcleos llega la asignación de tareas por hilos de cada aplicación, para que cada núcleo pueda trabajar en diferentes partes del programa mientras otro núcleo se dedica a otra cosa del mismo programa, pero ambos trabajan a la vez. Aquí es donde demasiado a menudo que el usuario se sorprenda porque esa aplicación va más lenta de lo que cabría esperar, y eso es porque esa aplicación no se ha programado en multihilo. Mac OS X Snow Leopard ya viene listo para las operaciones multihilo, con una tecnología que ha denominado Grand Central Dispatch o GCD.

En el nuevo sistema GDC toma el control y la gestión de las operaciones mutihilo, en vez de que cada aplicación las gestione por sí misma. De esta forma se evita que los programadores tengan que embarcarse en complejas programaciones de sus aplicaciones para convertirlas a multihilo, ya que es GDC la que se encarga de ello. Los desarrolladores ahora les será mucho más fácil crear aplicaciones que vayan a toda potencia con las Xcode Tools incluídas en todos los Mac OS X, haciéndolas compatibles con GCD, y Snow Leopard se encargará del resto de una forma mucho más eficiente.

Por ejemplo, si una aplicación puede correr 20 hilos simultáneos pero solo necesita la mitad, GDC le asignará esta mitad, que son los que realmente necesita. El resto de hilos se dedicarán a otras gestiones del sistema, y a medida que necesite más o menos hilos, GDC se encarga de cedérselos. Si extrapolamos este ejemplo a todo el sistema, tenemos como resultado global una velocidad y optimización impresionantes, porque se gestionan varias tareas al mismo tiempo, que se traduce en un rendimiento general mucho mayor.

opencl_icono_webLos que somos asíduos a los videojuegos a menudo entablamos debates sobre la potencia de las tarjetas gráficas: que si la memoria, que si los ciclos de reloj, que si los millones de polígonos que puede mover, etc, pero siempre centrados en lo que el propio nombre indica: tarjeta gráfica. La verdad es que tanto los procesadores como las tarjetas gráficas comparten un elemento común clave, y es que están creadas para que realicen cálculos. Luego, si no hay gráficos, la tarjeta gráfica no trabaja, para entendernos.

OpenCL se incorpora a Mac OS X Snow Leopard con el fin de tomar prestada la potencia de los procesadores gráficos para ponerlos a disposición de los procesos no-gráficos y a casi cualquier aplicación. Esta tecnología se extiende también a las aplicaciones multimedia, vídeos, etc. Lo mejor de todo esto es que OpenCL es un estandar abierto a todo el mundo y a cualquier marca, y evidentemente, es compatible con el hardware que incluyen los Mac actuales y no tan actuales. Ahora solo falta que los desarrolladores adapten las partes de sus programas a OpenCL -readaptar parcialmente, que no reescribir- mediante un lenguaje de programación C conocido por todos los programadores.

Mañana miércoles, y hasta el viernes, iremos publicando nuevas entregas de este monográfico especial sobre el nuevo sistema operativo de Apple; solamente acabamos de empezar con mac OS X Snow Leopard ;)

Scroll al inicio