Opinion


El kernel o núcleo de un sistema operativo es el encargado de hacer de puente entre las aplicaciones o programas y el hardware de nuestro equipo, los hay de distintos sabores, pero el que más me llama la atención es Linux.

Es posible encontrar mucha información en la red acerca de este núcleo, como funciona, como se desarrolla, etc. Pero lo central y más importante (para mí) es que se trata de software libre u open source (prefiero el primer término) que permite la creación una comunidad de desarrolladores, usuarios y hackers que hacen que esta complejísima pieza de software avance como lo está haciendo ahora.

No es el objetivo de este post hablar de las características o bondades de Linux, que pueden ser facilmente conocidas con solo ingresar unas palabras al “buscadoor” ese, ahora quisiera centrarme en algunos números que hacen al desarrollo del dichoso kernel, números traídos a mi gracias a Greg Kroah-Hartman, desarrollador del kernel, desde su página en kernel.org

Siguiendo estos valores, he realizado algunos gráficos que permiten sacar algunas conclusiones más que interesantes, pero dejémonos de palabras y vamos a las imagenes.

La primera será una gráfica de la evolución en la cantidad de líneas de código desde la versión 2.6.24 hasta la última versión estable al día de la fecha, la 2.6.33.

Es clara que la cantidad de líneas (en miles) ha ido creciendo de manera sostenida desde la versión 2.6.24. Debemos tener en cuenta que entre cada versión pasa un tiempo de unos tres, en los cuales los desarrolladores (gráfica siguiente) trabajan en el agregado de nuevas funciones, corrección de errores, mejoras, etc.

Aquí también se puede ver un aumento, quizás menos estable, en la cantidad de personas involucradas en el desarrollo, a lo mejor no se sorprendan a primera vista, pero tener más de mil personas trabajando sólo en el kernel y sin contar las empresas que lo hacen por su cuenta (Google, Intel, etc) me parece un número enorme y creo que debe ser una tarea muy ardua la de coordinar semejante esfuerzo, que no sería una tarea grata de no ser por el uso de herramientas para el desarrollo distribuido y control de versiones como GIT.

El número de cambios sugeridos o commits, provee una idea de que tan activo está el proyecto y que tan necesario sigue siendo para su comunidad que pide nuevas características y brinda el feedback necesario para que el desarrollo llegue a buen puerto.

Un promedio de más de 10.000 commits no me parece un mal número y creo que proporciona un idea bastante firme de la fuerza del kernel a la hora de innovar y mantenerse en la punta del desarrollo tecnológico.

El kernel Linux, es uno de los más grandes referentes del modelo de software libre, de una comunidad, con sus idas y venidas y es prueba casi viviente de que el modelo es más que factible y respeta los derechos del usuario como tal. No por nada un estudio de la Universidad de Oviedo, valuó su desarrollo desde cero en 1000 millones de euros.

Una vez me preguntaron, en tono burlón, que pasaba si alguien quisiera comprar Kernel, una empresa malévola ¿que pasaría con todo el esfuerzo?, ¿con la libertad?. Solo atiné a decir que… “eso no va a suceder”.

Gracias.

Anuncios

Supercomputadoras… Interesantes bichitos, de gran tamaño y una espeluznante capacidad de procesamiento (algunas en el orden de petafloRoadrunnerps). Se utilizan para predecir el clima, investigación de proteínas, desarrollo de combustibles y hasta simulaciones de explosiones nucleares. El sitio top500.org recopila un ranking de las 500 supercomputadoras más poderosas del planeta ordenándolas de acuerdo a su potencia de cálculo. Pero lo que nos concierne a nosotros es la relación entre estas  maravillosas máquinas y el software que se anima a hacerlas trabajar si desperdiciar un solo bit. Según el escalafón perteneciente al mes de Junio de 2009 y publicado por el proyecto top500 el 88.6% de dichas maquinitas están gobernadas por sistemas GNU/Linux, si si, por el sistema operativo libre. Es más, las 10 más poderosas utilizan sistemas basados en Linux, incluyendo a la reina, la número 1, la IBM Roadrunner, utilizada ni más ni menos que por el departamento de energía de los E.E.U.U. que consta con más de 12.000 procesadores IBM PowerXCell 8i (arquitectura utilizada en los Playstation 3) y casi 7000 procesadores AMD Opteron utilizando conexiones de fibra óptica que suman un total de 92 km de largo. En particular, esta nave corre una versión modificada Red Hat Enterprise Linux.

Un analisis total según arquitectura de SO es la siguiente, se puede observar la familia de SO, cantidad de supercomputadoras y porcentaje sobre el total.

Linux                 443                 88.60 %

Windows               5                    1.00 %

Unix                    22                     4.40 %

BSD                       1                     0.20 %

Mezla                  29                    5.80 %

No queda duda alguna de cual es el sistema dominante, las razones son obvias y una de ellas no es el costo, ya que como se podría imaginar cuando se invierten cientos de millones de dolares en estas modestas bestías nadie se va a fijar en el costo de la licencia del soft y menos si se utilizan para actividades tan críticas como las mencionadas al principio, seguramente la razón más importante sea la adaptabilidad que únicamente provee el software libre o de código abierto que permite optimizar el soft hasta en el detalle más ínfimo y adecuarlo a cualquier arquitectura e incluso a arquitecturas múltiples. Eso es todo por hoy.

Operating system Family Count Share % Rmax Sum (GF) Rpeak Sum (GF) Processor Sum
Linux 443 88.60 % 17189157 26962583 2641305
Windows 5 1.00 % 364720 461606 53120
Unix 22 4.40 % 1357726 1729781 110592
BSD Based 1 0.20 % 122400 131072 1280
Mixed 29 5.80 % 3573993 4386562 1298436
Totals 500 100% 22607996.30 33671604.92 4104733

Pasando por Tuxradar me encuentro con un interesante artículo que no deben dejar de leer. Lo que destaco es el relevamiento que hacen de la evolución en el rendimiendo de las distintas versiones que fueron saliendo, desde la 4.10 “Warty Warthog” hasta la recién estrenada 9.04 “Jaunty Jackalope” (que estoy estoy descargando por bittorrent en estos momentos)  y han confeccionado para nosotros unos estupendos gráficos. El primero nos muestra la tendencia de los tiempos de booteo.

boottime

En donde claramente se puede ver una buena evolución, quizás con una recaída en las ultimas versiones pero se nota que con el último lanzamiento se ha cumplido lo prometido.

El otro gráfico que permite tener dar una buena idea de la evolucion de esta distribución tiene que ver con la cantidad de memoria consumida por el sistema una vez que este ha arrancado. Veamos.

memoryClaramente se ve una involución hasta llegar a Jaunty que sorpresivamente tira abajo los números situándonos por debajo de 100 Mb, algo que habla muy bien, de la gente que esta trabajando detrás de ubuntu y que ha mejorado mucho después de los “abobinables” 150 Mb de Intrepid.

Para el final, queda para mi lo menos relevante, la cantidad de espacio en el disco utilizado después de la instalación.

iCreo que no agrega nada, es entendible, ha ido aumentando ya que cada vez se han ido agragrando más funcionalidades y soporte y al final se estabiliza y no creo que aumente mucho a menos que se cambie los algoritmos de compresión o los medios de almacenamiento.

f10releaseHace unos días se me dio por instalar en la PC que utilizo para la Universidad Fedora 10 “Cambridge”, en la cual ya tenía instalado Ubuntu 8.10 “Intrepid Ibex”, las razones son por que me atraían los comentarios que daban vuelta por ahí y también quería probar un sistema operativo basado en empaquetado RPM solo para probar que tal era.

¿Qué esperaba?, esperaba encontrarme con un sistema distinto, con algunas variantes en los comandos, más rápido, mas personalizable, más de vanguardia.

¿Con que me encontré?, me encontré con algunos cambios estéticos mínimos, el sistema de empaquetado y de instalación de programas (Yum) y demás funciona bien, con solo un par de comandos agregué los repositorios necesarios para instalar los drivers privativos de mi Nvidia y dejar funcionando Compiz, debo decir que es un poco más lento que Apt, y en cuanto a las interfaces gráficas, Synaptic (Ubuntu) no encuentra rival.

En cuanto a la velocidad, creo que con Ubuntu están bastante parejos, por lo que no me sorprendí cuando me topé con un benchmarking que hacían en Phoronix comparando ambos sistemas.

La estética me gustó mucho, lo noto pulido y amigable, han hecho un buen trabajo.

Pero hay algo que me ha llamado mucho la atención, y es la comunidad de Fedora, la noto mucho más cerrada, son pocos los tutoriales creados por los usuarios y muchos menos los blogs que se entreguen a esta distribucion en particular, en los foros las cosas no se explican como en los de Ubuntu, parece más para elites. Eso es algo que me decepcionó bastante ya que dificulta el aprendizaje. Nada más. Gracias.

countdown_8_10_c_00_days_a_herePensé que iba a aguantar más para descargar e instalar la ultima versión del dichoso Ubuntu, pero no fue así. Un día después de su lanzamiento oficial (30/10/08) me encontré grabando un CD con Ubuntu 8.10 “Intrepid Ibex”, la instalación fue un lujo, como siempre y la instalación de lo complementario como Open Office 3.0, driver privativo de Nvidia (quería compiz :)), programas, codecs ha sido ultra fácil como ya nos tenía acostumbrado esta distribución. La estabilidad, una roca.

Pero vayamos a lo que no me ha gustado, primero, la interfase gráfica parece moverse un poco más lenta, así también compiz. He tenido problemas con Network Manager ya que me desconectaba de mi ADSL luego de unos minutos, por lo que terminé sacándolo y configure todo con “pppoeconf”. El consumo de memoria me parece que aumentó un poco, con todo instalado en el arranque me está pesando cerca de 215 Mib cuando Hardy pesaba menos de 200 Mib.

Creo que al principio es como toda aparición de una nueva version, le falta testeo y necesitan que los usuarios finales la usen y aparezcan los problemas y soluciones. Estoy seguro de que con las actualizaciones venideras el sistema irá mejorando como lo ha hecho siempre, de todas formas no es lo correcto pero así son las cosas, esto pasa en todos los SO, me ha pasado con Feisty (7.04), Gutsy (7.10), Hardy (8.04) y ahora Intrepid (8.10).

Que me gustaría encontrarme en la proxima versión, mejor performance, menor consumo, que optimicen el código, arranque más rápido, que no se dediquen a integrar lo último sino que las cosas funcionen un poquito mas ágiles, más optimizadas, se que no es algo fácil, pero las cosas realmente buenas nunca son fáciles.

La gente de Phoronix ha realizado numerosos benchmarks a Ubuntu, en uno de sus últimos artículos hacen una comparación de las varias de las versiones, desde 7.04 hasta 8.10 RC1 utilizando su propia plataforma de benchmarking, Phoronix Test Suit, los resultados, personalmente, me preocupan.

Miremos algunas gráficas.

Arriba se puede ver el resultado de un benchmark de lectura secuencial de memoria RAM, la cantidad de información (MB/s) que el sistema es capaz de leer se ha reducido drásticamente en las versiones más nuevas.

En el segundo gráfico se aprecia el tiempo (segundos) que tarda en codificar un archivo WAV a MP3, nuevamente se ve la caída de performance.

En esta se mide el tiempo que tarda en compilar Apache, vemos que este aumenta de manera progresiva a lo largo de la evolución de Ubuntu.

En Phoronix han realizado muchos test más, y también son preocupantes. Utilizo Ubuntu para mi familia y para mis estudios, y siempre estoy esperando a que se libere la próxima a que salga la próxima versión, pero encontrarme con este tipo de cosas me hacen cuestionarme ¿Será solo un caso particular de esta distribución?,¿No se supone que en el mundo GNU/Linux la siguiente versión es siempre más rápida?,¿Me paso a Mandriva o a Fedora o a Arch Linux?,¿Pollo o asado?.

Esperemos que las cosas mejoren para Ubuntu, noto que se esfuerzan por estar siempre a la vanguardia pero me parece que les falta trabajar un poquito más las cosas. En fin, nada es perfecto.

Copio una entrada que publicaron en la web de RedUSERS que me pareció bastante interesante, me gustaría que dejen sus comentarios al respecto.

¿Cómo llegó a valer tanto el sistema operativo de código abierto? En esta nota publicamos los resultados de un estudio realizado por Linux Foundation que comenta, entre otras cosas, la cantidad de personas y recursos invertidos hasta la fecha en Linux.

Según Linux Foundation, esta sería la cantidad de dinero que debería invertir una empresa desarrolladora de software si quisiera inventar un sistema operativo idéntico a la última versión de Fedora.

Tal es así que el simple acto de escribir solo el kernel de Linux demandaría algo así como 1.4 mil millones de dólares, teniendo en cuenta la contratación de un grupo de desarrolladores y su consecuente arsenal tecnológico.

Cabe destacar que la naturaleza del sistema operativo de código abierto ha sido generada por más de 1000 desarrolladores de 100 diferentes compañías que contribuyeron a lo largo de su historia en cada actualización del kernel. Sólo en los pasados dos años la Fundación estimó que 3200 desarrolladores y 200 compañías han contribuidos al kernel de Linux.

“Las compañías que participan en la economía Linux comparten los costos de investigación y desarrollo con sus partners y competidores”, deslizó Linux en un comunicado. “Esta extensión de la carga del desarrollo entre individuos y compañías ha dado lugar a un ecosistema grande y eficiente y a una innovación permanente del software”.

El proyecto Fedora es un vestigio de la distribución Linux de Red Hat, que data de 1994. La primera versión del kernel de Linux fue lanzada por Linus Torvalds en 1991.

Este estudio presentado por la Fundación es una actualización de un reporte elaborado en 2002, momento en el cual desarrollar desde cero el kernel de Linux costaba alrededor de 1.2 mil millones de dólares.

La cifra de 10.8 mil millones de dólares fue calculada por lo que actualmente costaría desarrollar las 204.500.046 líneas de código para Fedora 9 en relación al sueldo anual de un programador en los EE.UU. (75.000 dólares).

Página siguiente »