{"id":394,"date":"2009-06-12T17:37:23","date_gmt":"2009-06-12T22:37:23","guid":{"rendered":"http:\/\/eaprende.com.mandril.avnam.net\/blog\/?p=394"},"modified":"2009-06-12T17:37:23","modified_gmt":"2009-06-12T22:37:23","slug":"el-retorno-de-tux-en-linux-2630","status":"publish","type":"post","link":"https:\/\/www.eaprende.com\/blog\/2009\/06\/12\/el-retorno-de-tux-en-linux-2630\/","title":{"rendered":"El retorno de Tux en Linux 2.6.30"},"content":{"rendered":"<div class=\"postInfo\"><strong><a href=\"http:\/\/www.fayerwayer.com\/author\/Franco\/\"><\/a><\/strong><\/div>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignright size-full wp-image-17934\" src=\"http:\/\/www.fayerwayer.com\/up\/2009\/02\/linuxtux.jpg\" alt=\"\" width=\"256\" height=\"256\" \/>Linus Torvalds oficialmente ha anunciado la <a href=\"http:\/\/lkml.org\/lkml\/2009\/6\/9\/710\">versi\u00f3n 2.6.30 del kernel de Linux<\/a>.\u00a0 S\u00f3lo han pasado tres meses desde el <a href=\"http:\/\/www.fayerwayer.com\/2009\/03\/linux-kernel-2629-ya-disponible\/\">release anterior<\/a> y la <a href=\"http:\/\/kernelnewbies.org\/Linux_2_6_30\">cantidad de cambios<\/a> es impresionante.\u00a0 Linus dice:<\/p>\n<blockquote><p>Estoy seguro que olvidamos algo, y s\u00e9 que hay algunas regresiones pendientes.\u00a0 Al mismo tiempo, necesitamos la cobertura de un release y en general se ve bastante bien.\u00a0 Hemos solucionado algunas regresiones en los \u00faltimos d\u00edas, y siempre hay un 2.6.30.x<\/p><\/blockquote>\n<p>Tambi\u00e9n agrega que en la documentaci\u00f3n oficial algo importante no fue mencionado:<\/p>\n<blockquote><p>Una cosa que parece no haber sido mencionada es que al parecer estar\u00edamos listos con la re-estructuraci\u00f3n del manejo de interrupciones para suspender\/resumir, y esto nos lleva a un nuevo orden mundial.\u00a0 Aunque sospecho que un mont\u00f3n de detalles cambiar\u00e1n, por supuesto.<\/p><\/blockquote>\n<p>El sitio H-Open realiz\u00f3 un <a href=\"http:\/\/www.h-online.com\/open\/Fine-tuning-What-s-new-in-Linux-2-6-30--\/features\/113478\/0\">exhaustivo an\u00e1lisis de los cambios m\u00e1s importantes<\/a>, tenemos desde cambios que se quedaron pendientes de ser incluidos oficialmente en 2.6.29 hasta nuevos drivers y sistemas de archivo.<\/p>\n<p>La siguiente es una selecci\u00f3n que hemos realizado de lo que encontraremos en esta versi\u00f3n, y que seguramente veremos en las distribuciones que ser\u00e1n lanzadas a fines de a\u00f1o como es el caso de Ubuntu 9.10 en Octubre junto a\u00a0 Fedora 12 y <a href=\"http:\/\/www.fayerwayer.com\/2009\/05\/opensuse-112-ya-comienza-a-tomar-forma\/\">openSUSE 11.2<\/a> en Noviembre.<\/p>\n<h2>Mejoras en ext3 y ext4<\/h2>\n<p>Se realizaron cambios al sistema de archivos ext4 para prevenir el <a href=\"http:\/\/lwn.net\/Articles\/284037\/\">riesgo de inconsistencias<\/a>.\u00a0 Estos cambios hacen que el rendimiento se vea afectado m\u00ednimamente en pro de tener un sistema m\u00e1s robusto.<\/p>\n<p>Por otra parte, en ext3 hay dos formas de escribir en el sistema de archivos, una es escribir los datos apenas se necesite, de a pedacitos (data=ordered), y otra es acumular datos en memoria para escribirlos como un s\u00f3lo bloque grande (data=writeback).\u00a0 El primer caso requiere acceder m\u00e1s veces al disco, lo que provoca tiempo perdido esperando que el disco termine de grabar.\u00a0 Es <em>lento pero seguro<\/em>, ya que los datos se escriben lo antes posible para no perderlos en caso de un corte de energ\u00eda.\u00a0 El segundo caso es una especie de cach\u00e9 de escritura, no pierde tiempo en esperas pero en caso de corte de energ\u00eda se pierden los datos que estaban en memoria y no se escribieron en el disco. En esta versi\u00f3n se incluye un nuevo modo que es un punto intermedio entre ambos casos, es seguro pero no tan r\u00e1pido como writeback.<\/p>\n<p>Otro cambio es el manejo del famoso atributo atime o access time: Cuando se accede un archivo, se modifica su fecha de acceso lo que obliga a escribir en el disco cada vez que se lee un archivo.\u00a0 Por mucho tiempo, los power users desactivaban la escritura de este atributo para mejorar el rendimiento de las lecturas.\u00a0 Dado que ahora son pocas las aplicaciones que necesitan tener un valor exacto en ese campo, se ha modificado el sistema para escribirlo s\u00f3lo una vez al d\u00eda con la opci\u00f3n de habilitar el comportamiento anterior de alta precisi\u00f3n s\u00f3lo si es necesario.<\/p>\n<h2>Sistema de archivos NILFS2<\/h2>\n<p>En un sistema de archivos com\u00fan y corriente las operaciones de lectura son apoyadas por cach\u00e9\u2019s de lectura en memoria, es decir, cuando se necesita un bloque, se leen varios bloques del disco y se dejan en memoria, y cuando se necesita otro bloque en vez de ir a buscarlo nuevamente al disco, se toma de memoria en caso de que se haya le\u00eddo previamente.<\/p>\n<p>Para operaciones de escritura no hay muchas opciones, dado que se tiene que sacrificar rendimiento por seguridad como lo explicamos anteriormente.\u00a0 Por otra parte al escribir un archivo se tiene que modificar varias partes del disco.<\/p>\n<p>NILFS2 o <a href=\"http:\/\/www.linux-mag.com\/cache\/7345\/1.html\">New Implementation of a Log-structured File System<\/a> se trata de un sistema de archivos que opera en base a registros hist\u00f3ricos.\u00a0 Cada vez que se modifica el sistema de archivos se escribe como un registro de cambio, a continuaci\u00f3n del cambio anterior.\u00a0 Por lo tanto en un sistema basado en registros hist\u00f3ricos, la escritura se realiza en un solo lugar y no requiere esperar a que el dispositivo busque otros lugares donde escribir, mejorando notablemente el rendimiento de escritura.\u00a0\u00a0 Por otra parte, esta t\u00e9cnica permite en cualquier momento obtener r\u00e1pidamente una versi\u00f3n anterior del sistema de archivos en modo de s\u00f3lo lectura para respaldar o para recuperar un archivo eliminado accidentalmente sin afectar al resto del sistema que contin\u00faa con sus operaciones normales.<\/p>\n<p>Otra ventaja de usar un sistema de archivos basado en registros hist\u00f3ricos es que es muy r\u00e1pido de recuperar en caso de corte de energ\u00eda a diferencia de un sistema de archivos tradicional con soporte de <a href=\"http:\/\/en.wikipedia.org\/wiki\/Journaling_file_system\">journal<\/a> (ext3, ext4, ntfs, etc).\u00a0 Simplemente se busca el \u00faltimo registro hist\u00f3rico consistente y se monta como lectura\/escritura a partir de ese momento.<\/p>\n<h2>Boot Fast Stupid!<\/h2>\n<p>En esta versi\u00f3n se integraron los \u00faltimos cambios pendientes para mejorar el tiempo de inicio desde el punto de vista del kernel.\u00a0 Este es el tiempo desde que se carga el kernel hasta que se inicia el proceso init que desencadena la carga de servicios y la inicializaci\u00f3n de subsistemas.<\/p>\n<p>Uno de los problemas casi inevitables en este tramo es la inicializaci\u00f3n de los dispositivos.\u00a0 Algunos se demoran bastante en dar se\u00f1ales de vida, y en casos como unidades \u00f3pticas o discos duros incluso hay que esperar a que se pongan en movimiento.<\/p>\n<p>La t\u00e9cnica aplicada para evitar estas demoras es bastante sencilla en el papel, pero dif\u00edcil de implementar en un sistema tan complejo.\u00a0 El cambio consiste en <a href=\"http:\/\/lwn.net\/Articles\/314808\/\">inicializar los dispositivos de forma as\u00edncrona<\/a>, esto quiere decir que en vez de esperar a que el dispositivo responda, \u00e9ste se inicializa y en forma posterior se obtiene el resultado, de esta forma se pueden inicializar varios dispositivos o subsistemas en forma paralela.<\/p>\n<h2>Nuevos y mejores drivers<\/h2>\n<p>Como es costumbre, muchos drivers han sido mejorados en esta versi\u00f3n, y tambi\u00e9n hay primerizos.\u00a0 En la lista de cambios se ve soporte mejorado (o nuevo) para varios dispositivos inal\u00e1mbricos, tarjetas de captura de video, mejoras en soporte de video ATI R600\/R700 (<span style=\"text-decoration: line-through;\">gesti\u00f3n de memoria y <a href=\"http:\/\/www.fayerwayer.com\/2009\/03\/linux-kernel-2629-ya-disponible\/#kms\">kernel mode setting<\/a><\/span> DRM para proveer aceleraci\u00f3n 2D y <a href=\"http:\/\/www.fayerwayer.com\/2009\/02\/vdpau-y-los-avances-en-reproduccion-de-videos-en-linux\/#xv\">xvideo<\/a>), tv-out en los nuevos chipsets de intel, etc.<\/p>\n<p>Otros cambios son: optimizaciones para discos SSD, inclusi\u00f3n de <a href=\"http:\/\/www.fayerwayer.com\/2009\/05\/alsa-1020-trae-multiples-mejoras-para-audio-en-linux\/\">ALSA 1.0.20<\/a>, mejoras en hibernaci\u00f3n y virtualizaci\u00f3n.<\/p>\n<p>Ah! y lo olvidaba \u00a1<a href=\"http:\/\/www.fayerwayer.com\/2009\/03\/tux-se-toma-un-receso-por-una-noble-causa\">Vuelve Tux<\/a>!.<\/p>\n<p><strong>Link :<\/strong> <a href=\"http:\/\/www.h-online.com\/open\/Fine-tuning-What-s-new-in-Linux-2-6-30--\/features\/113478\/6\">Fine tuning &#8211; What\u2019s new in Linux 2.6.30<\/a> <em>(The H Open Source)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Linus Torvalds oficialmente ha anunciado la versi\u00f3n 2.6.30 del kernel de Linux.\u00a0 S\u00f3lo han pasado tres meses desde el release anterior y la cantidad de cambios es impresionante.\u00a0 Linus dice: Estoy seguro que olvidamos algo, y s\u00e9 que hay algunas regresiones pendientes.\u00a0 Al mismo tiempo, necesitamos la cobertura de un release y en general se [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[],"tags":[],"_links":{"self":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts\/394"}],"collection":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/comments?post=394"}],"version-history":[{"count":2,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts\/394\/revisions"}],"predecessor-version":[{"id":402,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts\/394\/revisions\/402"}],"wp:attachment":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/media?parent=394"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/categories?post=394"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/tags?post=394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}