Kernel

La versión de Linux que usa Google

tuxGoogle es probablemente la organización en donde está corriendo la mayor cantidad de sistemas Linux.  Gracias a este sistema operativo fue posible crear un esquema de trabajo distribuido y a la medida que fuera suficientemente independiente para permitir convertir una tesis en lo que hoy es Google.

Pero hasta hace poco, no se sabía mucho de qué uso y qué tipo de problemas encontraba Google en su intensivo uso de Linux.  Digo hasta hace poco porque en el reciente Kernel Summit realizado en Japón, Mike Waychison de Google asistió para exponer a los principales hackers del kernel, el uso que este gigante informático le da a Linux.

Google usa un sistema de control de versiones del software bastante arcaico para lo que está acostumbrada la comunidad del código abierto, lo que provocó risas en los asistentes.  Se trata de Perforce, y en comparación a nuevos sistemas como Git, tiene limitaciones o modos de trabajo que uno jamás pensaría que tendrían en Google.  No es de extrañar el interés despertado en los asistentes a la presentación que hizo Linus Torvalds sobre Git en Google hace un tiempo atrás.

Y eso es sólo el comienzo, ya que Google maneja versiones bastante atrasadas de Linux.  Alrededor de 30 ingenieros trabajan sobre una única base de código, aplican cambios y aproximadamente cada 18 meses sincronizan su propia versión con una versión pública de Linux.  Al ritmo que se desarrolla el kernel, la cantidad de cambios acumulados en todo ese tiempo lo convierten en una tarea titánica.

Continuar Leyendo “La versión de Linux que usa Google” »

Linus Torvalds dijo que Linux está “hinchado y enorme”

Tux se ve bien hinchado

Tux se ve bien hinchado

Habitualmente, los jóvenes se rebelan de sus padres cuando llegan a la adolescencia. Curiosamente, en el caso del software libre, la lógica se invirtió. Linus Torvalds criticó a Linux, su “hijo” de 18 años, por estar hinchado y enorme. Un buen correctivo paternal.

Durante la LinuxCon, en Portland, Estados Unidos, Tovalds fue consultado sobre los nuevos recursos que se agregan al kernel de Linux, y cómo éstos repercuten en la rapidez y estabilidad del sistema. Según James Bottomley, un reputado ingeniero de software, Linux sufre una caída de un 2% en su desempeño con cada nueva versión, lo que acumula un 12% en sus últimas ediciones. “¿Esto es un problema?”, le consultó a Torvalds.

“El núcleo está hinchado y enorme. Es un problema. Definitivamente no somos el núcleo simplificado e híper-eficiente que imaginé cuando comencé a escribir Linux, y cada que le ponemos una nueva funcionalidad se pone peor”, respondió, sincero, Torvalds.

Pero no todo fue malo en la intervención de Torvalds, quien afirmó que la estabilidad del sistema no se ha visto comprometida, pues los desarrolladores solucionan los bugs apenas los encuentran. Además, dijo que el “engorde” del núcleo es inaceptable, pero completamente inevitable.

Amigos linuxeros, ¿tiene razón don Linus en sus dichos o no? ¿Habrá perdido el norte o es un simple llamado de atención a la comunidad?

Link: Linus calls Linux ‘bloated and huge’ (The Register vía FayerWayer Brasil)

Drivers de Microsoft para Linux estuvieron a punto de ser eliminados

(cc) by Aaron Hockley

(cc) by Aaron Hockley

El líder de Linux Driver Project, Greg Kroah-Hartman, tuvo que alzar la voz ya que un grupo de drivers añadidos al kernel de Linux habían sido abandonados por sus autores, lo que ponía en duda su permanencia.  Entre estos drivers se encontraban los incorporados por Microsoft para mejorar el rendimiento de Linux al correr sobre Hyper-V de Microsoft.

En el kernel de Linux existe un área especial llamada Staging Area en donde se encuentra todo el código que no está suficientemente maduro para ser incorporado oficialmente.  Esta separación ayuda a enfocar los esfuerzos identificando todo aquel código que necesita trabajo.

Los drivers de Microsoft se encontraban en esta área, pero después del anuncio que acaparó los medios especializados, desaparecieron sus desarrolladores y el código cayó en un estado de abandono.  No se podía aceptar el código tal como fue entregado, ya que entre otros problemas, no cumplía con un requisito mínimo: Estar construido siguiendo los estándares de codificación definidos para el kernel de Linux.

El mismo Greg aplicó unos unos 200 parches para corregir este problema, sin embargo era inaceptable que los desarrolladores simplemente arrojaran el código ahí sin encargarse de mantenerlo, por lo que Greg anunció que si no aparecía ningún responsable, el código sería eliminado para el release 2.6.32

Finalmente aparecieron los desarrolladores, que ni siquiera contestaban los correos de Greg.  Aunque se comprometieron a trabajar en su código, hasta ahora sólo han actualizado la lista de tareas por hacer (TODO list).

Greg dice que esta situación es común, y es normal que después de un llamado de atención aparezcan los responsables del código.  En esta ocasión fueron 25 los drivers cuestionados, de los cuales la mayoría ya han aclarado su situación.

Links:
- Linux driver chief calls out Microsoft over its driver code submission (ComputerWorld)
- Staging tree status for the .32 kernel usage (blog de Greg Kroah-Hartman)

Linux 2.6.31 disponible oficialmente con CUSE, KMS y USB 3.0

Ya está publicado en forma oficial la versión 2.6.31 del kernel de Linux.  Entre sus nuevas características, salen a la luz las que ya hemos cubierto hace pocos días como es el caso de Character Devices in User Space (CUSE) y las optimizaciones para mejorar el rendimiento cuando hay poca memoria.

En esta entrega también se incluye el soporte para Kernel Mode Setting en tarjetas de video basadas en los chips R5xx de ATI, con miras a agregar este soporte a los chips R6xx/R7xx en el próximo release.  Este soporte se complementa con el desarrollo del resto de la infraestructura necesaria para que los chips de ATI queden soportados completamente con código abierto.

También se incluye la implementación del nuevo estándar USB 3.0, en donde Linux es el primer sistema operativo en tener soporte gracias al trabajo de Intel.  Por si esto pareciera poco, también agrega el soporte del nuevo hardware gráfico de Intel (Clarkdale & Arrandale) del cual se tuvo conocimiento al ver los cambios que Intel hacía en el driver de video para su hardware en X.org.

La lista completa de cambios y mejoras a los distintos drivers y subsistemas se puede encontrar en el wiki de Kernel Newbies.

Links:
- Linux 2.6.31 (Kernel Newbies)
- Linux 2.6.31 kernel released, with ATI KMS Glory (Phoronix)

Kernel Mode Setting en Linux

YouTube Preview Image

Dada la buena respuesta que han tenido los últimos artículos conceptuales queremos continuar cubriendo algunos temas que son bastante conocidos a nivel de desarrolladores, pero poco manejados por el público general.

En esta ocasión hablaremos de un cambio realizado en Linux que a primera vista se ve poco relevante, pero que al examinar más a fondo abre nuevas oportunidades.  Se trata de Kernel Mode Setting o Configuración de Modo de Video en el Kernel.

Configurar un modo de video es una tarea que puede ser más compleja de lo que parece, sobre todo ahora que existen distintos tipos de salidas de video y hay que preocuparse de muchos más aspectos que de sólo un monitor.

En Linux el código que se encarga de configurar el modo de video se encuentra en varias partes, e incluso se puede apoyar en la BIOS para hacer este trabajo.  Pero esto provoca algunos inconvenientes:

Continuar Leyendo “Kernel Mode Setting en Linux” »

Linux 2.6.31 mejorará el rendimiento del desktop con poca memoria

En la próxima versión del kernel de Linux se incluirá un cambio que mejorará el rendimiento del desktop en condiciones de poca memoria.  Básicamente lo que se hizo fue cambiar la forma en que se decide qué parte de la memoria se debe mover a disco (swap).

En el esquema tradicional, la memoria usada por el código se considera como equivalente a la usada por los datos a la hora de copiarlas al disco cuando la memoria es insuficiente.  Esto provoca que las aplicaciones detengan temporalmente su ejecución cuando el código que necesitan se encuentra en disco.

Para evitar este problema, el código ejecutable tendrá una marca especial para que el sistema operativo haga lo posible por mantenerlo siempre en memoria, sin llevarlo a disco.  El cambio es bastante pequeño, pero los resultados son interesantes.

En pruebas realizadas se detectó que en un escritorio corriendo OpenOffice, Firefox y el entorno GNOME con 512MB, la necesidad de copiar segmentos de memoria desde el disco a RAM se redujo a la mitad, mientras que la cantidad de segmentos que se trajeron desde el disco se redujo a sólo un tercio.  Esto implica que el tiempo necesario para hacer swap se redujo como mínimo a la mitad.

Continuar Leyendo “Linux 2.6.31 mejorará el rendimiento del desktop con poca memoria” »

Drivers fuera del kernel con CUSE en Linux

En el kernel de Linux se están haciendo varios cambios para reducir la complejidad de escribir drivers y al mismo tiempo abrir la puerta para que se puedan desarrollar extensiones importantes sin que se tengan que incorporar al kernel.

Un par de ejemplos visibles de estos cambios son:

  • Kernel Mode Setting: En donde parte de la funcionalidad del sistema gráfico se sacó de X.org y se integró en el kernel.  Específicamente se trata de la configuración del modo de video, lo que permite reutilizar un modo gráfico ya configurado para no tener que reinicializar el video al cambiar de sistema de despliegue gráfico, evitando los molestos pestañeos.  También permite que otros sistemas gráficos como Wayland sean más simples de programar.
  • FUSE: Se trata de sistemas de archivos que se pueden implementar fuera del kernel, lo que se conoce como User Space (en vez de Kernel Space).   Con FUSE se pueden agregar nuevos sistemas de archivo a Linux sin tener que integrarlos en el kernel, esto permitió implementar tranquilamente el soporte para sistemas de archivo NTFS.

En la próxima versión del kernel se incluirá una nueva extensión llamada CUSE o Character Devices in User Space.  La idea es similar a FUSE, pero en vez de que sean sistemas de archivos externos al kernel, ahora se trata de drivers o controladores de dispositivos externos al kernel.

Continuar Leyendo “Drivers fuera del kernel con CUSE en Linux” »

El mito de que la mayor parte de Linux es desarrollada por hackers desinteresados

De acuerdo a un reporte [PDF] por parte de la Fundación Linux no solo es escrito por hackers desinteresados y nerds escondidos en el sótano de casa de sus padres, es decir, programadores sin una afiliación a alguna compañía. Al parecer el “espíritu de software libre” se encuentra más en las compañías que pagan a personas para el desarrollo de Linux, como es el caso de Red Hat, IBM, Novell e Intel.

Para ser exactos los 10 principales contribuyentes en el desarrollo del Kernel de Linux representa el 70% del total, incluido el grupo de “Desconocidos” (7.6%) de los que no se les ha determinado una afiliación corporativa y al menos han hecho 10 cambios o modificaciones al kernel y el grupo “Ninguno” (18.2%) que representa a los desarrolladores que hacen el trabajo por su cuenta sin ninguna atribución financiera.

A pesar del gran número de los desarrolladores individuales, todavía hay un número relativamente pequeño que está haciendo la mayoría de la obra. En los últimos 5 años, los 10 principales desarrolladores individuales han aportado casi el 12% del número de cambios y los 30 principales desarrolladores han contribuido con más del 25%.

Tan solo basta con notar que David S. Miller (2,239 números de cambios, 1.5%) e Ingo Molnar (2,125 cambios, 1.5%) encabezan la lista de contribuciones en el historial de los repositorios desde la versión del Kernel 2.6.12 hasta 2.6.30 (con 11,560,971 líneas de código) y ambos trabajan para la compañía Red Hat.

Continuar Leyendo “El mito de que la mayor parte de Linux es desarrollada por hackers desinteresados” »

El retorno de Tux en Linux 2.6.30

Linus Torvalds oficialmente ha anunciado la versión 2.6.30 del kernel de Linux.  Sólo han pasado tres meses desde el release anterior y la cantidad de cambios es impresionante.  Linus dice:

Estoy seguro que olvidamos algo, y sé que hay algunas regresiones pendientes.  Al mismo tiempo, necesitamos la cobertura de un release y en general se ve bastante bien.  Hemos solucionado algunas regresiones en los últimos días, y siempre hay un 2.6.30.x

También agrega que en la documentación oficial algo importante no fue mencionado:

Una cosa que parece no haber sido mencionada es que al parecer estaríamos listos con la re-estructuración del manejo de interrupciones para suspender/resumir, y esto nos lleva a un nuevo orden mundial.  Aunque sospecho que un montón de detalles cambiarán, por supuesto.

El sitio H-Open realizó un exhaustivo análisis de los cambios más importantes, tenemos desde cambios que se quedaron pendientes de ser incluidos oficialmente en 2.6.29 hasta nuevos drivers y sistemas de archivo.

La siguiente es una selección que hemos realizado de lo que encontraremos en esta versión, y que seguramente veremos en las distribuciones que serán lanzadas a fines de año como es el caso de Ubuntu 9.10 en Octubre junto a  Fedora 12 y openSUSE 11.2 en Noviembre.

Continuar Leyendo “El retorno de Tux en Linux 2.6.30” »

Panel sobre el kernel en Linux Collaboration Summit

Andrew Morton y Keith Packard (cc) by Linux Foundation

Andrew Morton y Keith Packard (cc) by Linux Foundation

Y seguimos con noticias desde Linux Collaboration Summit en San Francisco.  En esta ocasión los muchachos de Ars Technica nos cuentan que hubo un interesante panel acerca del desarrollo del kernel de Linux en donde participaron destacados hackers.  Entre los temas que se tocaron estuvieron los sistemas de archivo, la arquitectura gráfica, y el rol de “la porquería” en el desarrollo del kernel.  Así es, hablaremos de “la porquería” (the crap(tm))

Continuar Leyendo “Panel sobre el kernel en Linux Collaboration Summit” »

Linux Kernel 2.6.29 ya disponible

Linus Torvalds ha hecho oficial el anuncio de la esperada versión 2.6.29 del kernel de Linux.  Este kernel será incluido en las distribuciones que veremos este año, aunque en Ubuntu prefieran esperar hasta la versión de fin de año.

El cambio más obvio y superficial, es el reemplazo temporal de la mascota Tux por Tuz, quien se quedará sólo en esta versión.  El resto de los cambios tienen distinto nivel de impacto en los usuarios finales, por ejemplo se incluyen cambios que por el momento pasarán desapercibidos para algunos usuarios como es el caso de Kernel Mode Setting que debe esperar a que los drivers de video comiencen a usarlo, hasta cambios que pueden impactar fuertemente en el rendimiento como el nuevo sistema de archivos ext4 que algunas distribuciones como Ubuntu o Fedora ya están ofreciendo al momento de instalar.

Continuar Leyendo “Linux Kernel 2.6.29 ya disponible” »

Tux se toma un receso por una noble causa

En la versión 2.6.29 del kernel de Linux la tradicional mascota, el pinguino Tux, será reemplazada por Tuz, un demonio de tasmania.

El demonio de tasmania es nativo de Australia, y durante la reciente conferencia linux.conf.au se decidió que Tuz tomaría el lugar de Tux para enfatizar la preocupación por esta criatura que se encuentra en peligro de extinción debido a un tumor facial que se transmite.

El kernel 2.6.29 del que ya hemos hablado en otras ocasiones, está pronto a ser liberado en forma oficial, y el commit que reemplaza a Tux por Tuz ya se hizo en el repositorio oficial del kernel.

Según Rusty Russell, el autor del cambio:

Tux se toma tres meses sabáticos para trabajar como barbero, asi que Tuz se queda con nosotros.

El cambio de Tux por Tuz lo podrán ver todos aquellos que inicien el sistema en modo gráfico y sin algun tipo de splash de inicio como usplash o plymouth.

Links:

- Save the Tasmanian devil (tassiedevil.com.au)
- The Linux Kernel saves animals, gets new logo (phoronoix.com)
- Linux.conf.au 2009: Tuz – git commit (git.kernel.org)

Linux cumple 15 años

El día de hoy tenemos muchas razones para celebrar, Linux cumple 15 años de lanzar su versión 1.0.
El 13 de marzo de 1994, se lanzó la versión oficial de Linux 1.0.0, el kernel del Sistema Operativo libre que constaba de 176.250 líneas de código bajo la licencia GNU que hoy se encuentra en una gran variedad de distribuciones y arquitecturas gracias al soporte de una gran comunidad de desarrollo.

Actualmente esta disponible la versión estable 2.6.28.7 llamada “Erotic Pickled Herring” que supera las 10 millones de líneas de código. Para su versión 2.6.25 el kernel de Linux poseía 8.396.250 líneas de código escritas en el lenguaje de programación C con el uso del compilador GCC. 

Recientemente el proyecto LinuxDNA logró compilar sin errores la versión 2.6.22 del kernel con el compilador de Intel C/C++.

Estrictamente hablando, Linus Torvalds dio a conocer Linux de manera oficial en septiembre de 1991 con la versión 0.01 que originalmente tenía el nombre de Freax y que más tarde adoptaría el nombre Linux. Esta versión ocupaba solo 62KB, y que aún está disponible para su descarga para aquellos nostálgicos

Lo que en un principio empezó como un remplazo no comercial de MINIX (un clon del sistema operativo UNIX) por porte de Torvalds, más tarde terminaría siendo Linux. Actualmente Linux está ganando mercado gracias al impulso de las diversas distribuciones en los notebooks y netbooks, así como el extendido uso en el campo educativo gracias al software libre.

Por último les recomiendo un excelente documental llamado Revolution OS sobre la historia de Linux, GNU y el movimiento del software libre, donde aparecen  testimonios de  Linus Torvalds, Richard M. Stallman y Eric Raymond entre otros.

Link: Happy Birthday, Linux! (CrunchGear)

Ubuntu 9.04 no incluirá el kernel 2.6.29

La próxima semana se producirá el feature freeze de la próxima versión de Ubuntu (9.04 Jaunty Jackalope).  Eso quiere decir que a partir de ese momento no se agregarán nuevas características y se enfocarán en estabilizar y corregir todos los defectos para asegurar un buen release en Abril.

Uno de los aspectos que estaba en duda era si incluir el kernel 2.6.29 o quedarse con el actual 2.6.28.  Aunque en un proyecto abierto normal ese cambio de número significa que sólo hay bugfixes, en el caso del kernel significa que hay nuevas características y en 2.6.29 se agregaron algunos cambios radicales:

Continuar Leyendo “Ubuntu 9.04 no incluirá el kernel 2.6.29” »

Windows Vista presenta una vulnerabilidad en su Kernel

wallpaper-de-windows-vista.jpgSe ha revelado una vulnerabilidad que afecta al Sistema Operativo Windows Vista, por medio de la cual se produce un desbordamiento de buffer que provoca el colapso del sistema o incluso, se puede aprovechar para introducir un código malicioso comprometiendo la seguridad del equipo.

La vulnerabilidad fue descubierta por la compañía de seguridad Phion y se encuentra en el núcleo de Vista, comprobándose que se encuentra presente en las versiones Ultimate y Entrerprise. Aunque los investigadores señalan que es altamente probable que afecte a la totalidad de las versiones de 32 y 64 bits.

En detalle la vulnerabilidad se ubica en el sistema de red, cuando son enviadas solicitudes a la API iphlpapi.dll y puede hacer que la computadora se apague o provocar que esta pierda su conectividad a la red.

Si bien para poder hacer uso de esta vulnerabilidad se necesitan permisos de administrador, se podrían utilizar paquetes DHCP sin permisos de administrador para aprovecharla.

Por el momento no se tiene información sobre si la vulnerabilidad se ha utilizado en algún tipo de ataque y se espera que sea corregida en el SP 2 de Windows Vista.

Link: Microsoft VISTA TCP/IP stack buffer overflow (vía ZDNet)

Próxima Página →

Destacados

Subir Bajar
FayerWayer RSS Agregar a iGoogle Agregar a Netvibes

FayerWayer por Email

Recibe tu dosis de tecnología diariamente por email:

FayerWayer Labs »

Nuestras pruebas de los impresentables e imperdibles de la tecnología.

Wayerless

Dosis diarias de teléfonos móviles en español.™

CHW

La comunidad de hardware más leída del mundo hispano.

Contacto