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.
En un sistema operativo existe el concepto de memoria física y memoria lógica. La memoria física es la que provee el hardware (1GB, 2GB, etc). La memoria lógica es la que ven las aplicaciones. La memoria lógica se divide en páginas de tamaño fijo y se va asignando a las aplicaciones a medida que éstas lo requieran, el sistema operativo internamente tiene una tabla en donde dice en qué parte de la memoria física está cada página de la memoria lógica, lo que se conoce como mapa de memoria.
Entre todas las aplicaciones se puede usar más memoria lógica que la que se dispone físicamente. Como no se necesita usar toda la memoria al mismo tiempo, algunas páginas que estaban en la memoria física se guardan en disco mientras no se ocupen, luego si se necesitan se traen de vuelta del disco a la memoria física. Eso es lo que se conoce como swap o intercambio.
Mientras más memoria tenga el equipo, es menor la necesidad de mover páginas al disco, y por lo tanto menor el tiempo perdido en esperar a que las páginas se copien desde o hacia el disco. Pero si la memoria es poca, frecuentemente se necesita usar el disco para hacer espacio en memoria física, lo que hace que el sistema se comporte más lento.
Con el cambio aplicado en Linux 2.6.31, se mejora la estrategia para decidir qué páginas deben sacarse de RAM cuando hay poca memoria disponible, de tal forma de dejar en memoria física aquellas que se usen intensivamente, eliminando la necesidad de usar el disco.
Link: Make mapped executable pages the first class citizen (log de cambio en el kernel)
Publicado por Franco Catrin el 8 de September 2009 en la categoría Destacados, Software con los tags Kernel, Linux. Tiene 84 comentarios.
84 Comentarios
Linux 2.6.31 mejorará el rendimiento del desktop con poca memoria

18Diego dijo el 8-9-2009 a las 15:40:
un xps m1210 como el de la foto tiene poca memoria?? mmmm
bien igual por linux, a mi parecer un netbook con ubuntu es harto mejor que uno conn xp para cualquier nivel de usuario

9morefeo dijo el 8-9-2009 a las 15:43:
Linux siempre ha sido una mejor opción para PCs viejos, el paso de tener un PIII con Windows XP a tenerlo con ubuntu es muy significativo, y con esta nueva mejora.. aun mejor.

30Tezeract dijo el 8-9-2009 a las 15:50:
Haha… 512 MB no es “poca memoria”.
Hablemos de poca memoria a una cantidad <=128 MB. En estos casos Linux 2.6 no es apropiado, tampoco X.org (ahi hay que acudir a Linux 2.4 y a Xf86, ojala configurandolo para que use menos VRAM que el por defecto).
Las distros modernas no funcionan bien con poca memoria, siendo Ubuntu un gran ejemplo que no es capaz de instalarse con 32 MB de RAM, al contrario de Debian que se puede instalar incluso en un abaco.
Ver Comentario... Mario dijo el 8-9-2009 a las 15:52 ...

21El Siciliano dijo el 8-9-2009 a las 15:57:
@Mario Prueba Linux Mint (http://www.linuxmint.com/), es basado en Ubuntu, pero con todos los paquetes necesarios de códecs y programas para que la experiencia “out of the box” sea completa.

2Tezeract dijo el 8-9-2009 a las 16:00:
@Mario
Pues hay que marcar la diferencia entre Linux como Kernel y el sistema operativo que es conveniente llamar GNU/Linux en muchos casos, ya que mucho software de sistema son aplicaciones GNU que no son el kernel mismo.
Por otra parte, apoyo a que no se incluya MP3 en las distros. MP3 es inferior y poco eficiente en comparación a OGG y AAC+ (el último lamentablemente tampoco es soportado por defecto creo). Ademáss, sobre lo de Firefox: sin comentarios. Konqueror es superior a Firefox (como queda demostrado a través de su puntaje en las pruebas ACID/ACID2/ACID3), tanto así que muchos browsers propietarios son derivados de él.

0Pablo dijo el 8-9-2009 a las 16:02:
@Franco: a propósito de lo que menciona Mario, ¿que hay de cierto en que Safari y Firefox están basados en Konqueror? (disculpa la pregunta off-topic).

11Tezeract dijo el 8-9-2009 a las 16:06:
@Pablo
El motor de layout de Firefox es Gecko, y el de Safari es Webkit, que esta basado en el motor de Konqueror, KHTML. Este motor combina HTML y el formateo CSS en lo que se renderea finalmente en tu pantalla.

4Inkubot dijo el 8-9-2009 a las 16:07:
Equipos con poca memoria no usar Ubuntu.
Para eso usar Slackware.
Igual esta mejora se va a notar solo en los usuarios kamikaze, que tienen un water corriendo gnome o kde.

-4K-rloz dijo el 8-9-2009 a las 16:07:
Al fin ya se acuerdan de los que tienen pocos recursos. Una pregunta para el editor: Franco: si el articulo trata de los desktop, ¿por que pusieron una foto con una portatil? xD

4RAcl dijo el 8-9-2009 a las 16:08:
Que bien, excelentes noticias para mi máquina que solo tiene 256 en RAM
…si, aun está funcionando desde hace poco más de 10 años, pero no está obsoleta pues aún funciona todo (con linux obviamente)
Franco Catrin dijo el 8-9-2009 a las 16:11:
13@Pablo
El motor de render HTML de Konqueror es/era KHTML. Apple tomo este motor y en base a él construyó Safari. Posteriormente se renombró a WebKit. Google Chrome, Safari, el navegador de los iPhones entre otros están basados en WebKit y por lo tanto en KHTML de Konqueror.
Firefox por otro lado usa el motor Gecko, que era parte de Mozilla Browser. También hay otros navegadores basdos en Gecko, como Epihany, Galeon y el que se incluyó en Maemo para el Nokia N900.
Ver Comentario... Carlos Le Mare dijo el 8-9-2009 a las 16:12 ...

9cvaldex dijo el 8-9-2009 a las 16:13:
Buena noticia para reciclar los equipos más antiguos, y el bonus track me recordó las clases de S.O. en la U…
Franco Catrin dijo el 8-9-2009 a las 16:16:
16@Carlos Le Mare
Lo que tu describes es un tipo de task switching, no tiene que ver con gestión de memoria.
Franco Catrin dijo el 8-9-2009 a las 16:17:
17@K-rloz
Se refiere a Desktop como software, no como hardware. Para diferenciarlo de otros usos como son : servidores, supercomputadores, teléfonos, etc.

-3fdo dijo el 8-9-2009 a las 16:20:
es bueno saber que si alguien tiene algun tarro abandonado en el zotano de la abuela,
algun 286, ahora podra darle utilidad, dejarlo bajando torrents como loco

2Tezeract dijo el 8-9-2009 a las 16:21:
@Carlos Le Mare
Nonsense. Si los sistemas operativos antiguos eran monotarea era porque los procesadores no tenian las facilidades para permitir multitasking a nivel de hardware. Esto fue agregado a partir del 80386 tengo entendido. Una sesión común en Linux tiene múltiples tareas en ejecución (haz la prueba escribiendo “ps” en la terminal).
Franco Catrin dijo el 8-9-2009 a las 16:24:
21@Tezeract
En estricto rigor el multitasking se podía realizar “por hardware” a partir del 80286. El 80386 agregó el modo de direccionamiento lineal y eso lo hizo más simple de implementar. Pero el 80286 ya tenía modo protegido, memoria virtual y otros chiches.

15Fakeroot dijo el 8-9-2009 a las 16:24:
El mp3 y derivados no se incluye por las patentes que tienen, en cambio el OGG vorbis FLAC , speex, theora, DIRAC , es software libre. Si algunas distros los incluyen es porque generalmente son grupos de usuaros los que las hacen (como MINT LINUX, basada en Ubuntu) y no empresas productoras como novell, redhat o canonical. Si ellas incluyeran esos codecs tendrianque pagar por esos royalties, como es el caso de la tienda de Canonical , en donde se puede encontrar el mp3 de fluendo para comprarlo y ser legal. Asi tambien la version de Dell de ubuntu viene con soporte para DVD oficial, y obviamente deben pagar por eso. Tambien esta el repositorio para ubuntu MEDIBUNTU, en donde se aloja una buena cantidad de codecs y aplicaciones propietarias, en forma separada al sistema operativo, que de ser incluido en ubuntu, tendriamos que pagar por eso, acuerdense que la misma microsoft fue condenada a pagar muchos millones por una patente que tenia una empresa sobre el mp3. En linux Mint vienen todos esos codecs preinstalados, tabien esta pclinuxOs, y tambien varias distros especializadas como media centers que nisiquiera necesitan disco duro para funcionar como GeeXbox.
Con lo relativo a la noticia, yo creo que incluso es positivo para PC con 1gb de ram, porque al tener varias aplicaciones multimedia abiertas, se puede pasar el limite de ram fisica y si se mantiene un funcionamiento mas fluido es positivo para todos los casos.

2jci dijo el 8-9-2009 a las 16:24:
@Tezeract:
al sistema le llamas como quieres. Eso de llamarle GNU/Linux es una pseudo obligacion de Stallman, incluso desconociendo que hay otro tipo de licencias (como BSD, artistica, Apache, X11). Si hicieramos justicia de la forma de nombrarlo, el nombre seria larguisimo.
El nombre da lo mesmo.
@mario:
esa es experiencia tipica. Debido a ciertas restricciones en los formatos de medios es que las instalaciones base no pueden venir con aplicaciones para decodificar audio y/o video. Nada que hacerle caso a un wizard que aparece al intentar tocar un MP3 (al menos totem lo hace) y listo.
@Tezeract (again)
Puedes instalar Ubuntu en una maquina con 32 en RAM. Solo que hay que usar la version alternate.
(vamos, hay pocas diferencias tecnicas entre Debian y Ubuntu. Ubuntu huele a lo lejos un poco menos rancio que Debian
)

1Pablo dijo el 8-9-2009 a las 16:29:
@Fraco y @tezeract, gracias por la aclaración. Como opinion personal, en mi experiencia en linux me gustaba mucho Konqueror como navegador, muy completo, ya que permitía no sólo navegar por la internet, si no que tambièn por el propio equipo y por las redes locales. Tenía algunas falencias (como la dificultad de reproducir contenidos para flashplayer) pero era muy versátil y rapido, además de tener algunas características que hecho de menos en otros sistemas (como la divsión de ventanas por ejemplo) No sé en que estado está actualmente, ya que por razones de fuerza mayor hace un año mas menos he dejado de usar linux.

2Tezeract dijo el 8-9-2009 a las 16:34:
@jci
#1. En este caso esta persona estaba hablando de Linux como OS, y este articulo habla específicamente de Linux como kernel. Por eso estaba recomendando esa distinción, aunque no se ajuste a lo que son las distros en la práctica (y se puede generalizar la larga lista de licencias como licencias aceptadas por la FSF). Personalmente también me refiero al OS como Linux.
#2. Lo otro, si me referí a Ubuntu, me refiero a la versión “Desktop” y no sabores alternativos de la distro. Básicamente lo que obtienes por correo y en los sectores mas visibles del sitio web, y lo que básicamente tiene soporte por el QA de Ubuntu (los releases alternativos no tienen QA).
Ver Comentario... Mr. X dijo el 8-9-2009 a las 16:34 ...
Franco Catrin dijo el 8-9-2009 a las 16:39:
27@Varios
Eso de que dependa de la distribución el poder o no usar un computador con poca RAM es casi un mito. La distribución da lo mismo, lo que importa son las aplicaciones que usarás.
Si vas a instalar Linux en un PC con 32MB de Ram, será para un uso muy particular ya que ni siquiera podrá levantar Firefox.
No comparemos peras con manzanas

5IBMGKA dijo el 8-9-2009 a las 16:41:
Como siempre compadre, excelente lección de S.O’s.. siga en la misma! que a muchos informaticos les faltó leer cuando chico el libro ” el porqué de las cosas”. Saludos

4Tezeract dijo el 8-9-2009 a las 16:42:
@Franco
Solo estaba tratando de establecer que es realmente un sistema bajo en memoria. Digamos que 512 MB en RAM aun puede ser útil para una gran variedad de tareas. De todas formas, el costo de las memorias ha disminuido tanto que el tema en sí da lo mismo.

-2MRivera dijo el 8-9-2009 a las 16:42:
¿Es mi idea o hay un pequeño error de redacción aquí?
En el esquema tradicional, la memoria usada por el código y se considera como equivalente a la usada por los datos a la hora de copiarlas al disco cuando la memoria es insuficiente.
Ver Todos Páginas: [1] 2 3 Próximos 30 Comentarios →
Ver Todos Páginas: [1] 2 3 Próximos 30 Comentarios →