Categorías
General

Kernel Mode Setting en Linux

{youtube}jUuuxjRj0Ak{/youtube}

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:

 

  • Algunas BIOS vienen con modos predefinidos que no se ajustan al hardware.  Sucede o sucedía con los primeros laptops que usaron modos widescreen pero cuyas BIOS sólo conocían los modos tradicionales.
  • Qué tan correcto sea el manejo del modo de video y las salidas de video dependen exclusivamente de la implementación particular de la aplicación que necesita usar el video, por ejemplo X.org o el terminal en modo de texto.
  • Cuando una aplicación configura el modo de video para trabajar en él, debe almacenar su estado y de alguna forma cederlo cuando otra aplicación necesita reconfigurar el modo de video.  Por ejemplo si estamos en una sesión gráfica en X.org y queremos pasar a una sesión de texto (Ctrl-Alt-F1), entonces X.org debe guardar el estado del video antes de que el terminal cambie a modo de texto.  Por otra parte el terminal de texto debe configurar el modo de video que necesita desde cero.  Cuando se vuelve a modo gráfico, se realiza el mismo proceso a la inversa: El terminal de texto guarda el estado, X.org reinicializa el video desde cero y luego restaura el estado que guardó previamente.

Todos al kernel

Con Kernel Mode Setting, la lógica de cambiar de modos de video se elimina de X.org y otras aplicaciones para implementarse únicamente en el kernel.  De esta forma hay sólo una implementación para esta funcionalidad común y todas las aplicaciones que necesiten cambiar de modo de video pueden pedir el servicio al kernel.  Por lo tanto desde el punto de vista de la calidad, ahora todas las aplicaciones compartirán la mejor implementación.

Antes, las aplicaciones no tenían cómo saber a qué modo de video se iba a cambiar, por lo tanto siempre el modo de video se reinicializaba.  Pero como ahora es el kernel quien se encarga de esta tarea, puede detectar que el modo de video que se está pidiendo es el mismo que ya se está usando, por lo que sólo bastará con limpiar la pantalla, sin necesidad de cambiar el modo de video.  Esto reduce al mínimo todos los pestañeos que un usuario de Linux está acostumbrado ver cuando se inicia el sistema.  Al mismo tiempo se asegura el correcto uso de las salidas de video adicionales como es el caso de un proyector o un monitor externo.

Otro cambio importante es que ahora el kernel puede configurar el mejor modo de video lo antes posible.  Por ejemplo, apenas se inicia el kernel, algo que toma un par de segundos, se puede iniciar el modo de video definitivo y desde ese momento en adelante nunca más cambiar, ni tampoco reinicializar.  Por lo tanto el splash de inicio, el gestor de login y el entorno de escritorio usarían todos la misma configuración de video y a ojos del usuario se verían sólo como imágenes de fondo que cambian.

El proceso de suspender el sistema y luego despertarlo se simplifica, ya que es el mismo kernel que está coordinando la suspensión y restauración quien tiene toda la información respecto al estado del video, lo que hace que el proceso entero sea más confiable y rápido como se muestra en el video que acompaña este artículo.

Nuevos horizontes

Ahora se podrán escribir nuevas aplicaciones que usen el video directamente, por ejemplo aplicaciones que funcionen en modo fullscreen y que necesiten su propia configuración.  A ojos del usuario, la aplicación se mantiene en el mismo ambiente, sin embargo se encuentra con una disponibilidad del 100% del hardware de video, sin ni siquiera un sistema de ventanas o un gestor de composición.  Estas nuevas aplicaciones podrían ser un salvapantallas, un juego, reproductor de videos, entornos gráficos livianos como Wayland, escritorios remotos, etc.

Aventurando un poco más la imaginación, se podrían tener transiciones al cambiar de una aplicación a otra, imaginen un cubo que gira como el de Compiz pero que actúa cuando se cambia a modo de texto, cuando se lanza una aplicación en modo fullscreen o cuando se cambia la sesión de usuario.

Distribuciones como Fedora ya incluyen Kernel Mode Setting pero su uso depende de la implementación de los drivers de video que se estén utilizando.  Otras distribuciones como Ubuntu lo integrarán en la siguiente versión.

 

FayerWayer

Categorías
General

Linutop 3

  • CPU VIA C7 (x86) de 1.0 GHz
  • 1 GB hasta 2 Gb de RAM y 2 Gb de RAM Flash
  • 6 puertos USB 2.0, 1 puerto COM RS-232, 1 puerto RJ-45 Ethernet
  • Arranque PXE para thin client
  • Video VGA y DVI; entradas y salidas de audio

 

La Linutop 3 cuesta 340 € (aprox. U$S 485) y su página dice que ya fue vendida a 40 países. Su sistema operativo está basado, aparentemente, en Ubuntu y puede arrancar en poco más de 1 minuto.

 

VivaLinux!

Categorías
General

Debian/Ubuntu, editando las alternativas disponibles

Hay un directorio, el /etc/alternatives, que contiene una serie de enlaces simbólicos a diferentes programas.

Como ejemplo, tomemos el editor.

# update-alternatives --config editor
Hay 4 alternativas que proveen `editor'.
Selección Alternativa
-----------------------------------------------
1 /usr/bin/vim.tiny
2 /bin/ed
+ 3 /bin/nano
* 4 /usr/bin/mcedit-debian
Pulse para mantener el valor por omisión [*], o pulse un número de selección:

Lo que obtenemos es un listado de los editores instalados donde el predeterminado está marcado con un signo (+). En efecto, si escribo la palabra «editor» en la línea de comandos, aparece nano. Si preferimos otro, basta con escribir el número correspondiente a continuación de «o pulse un número de selección» y pulsamos intro. Ya tendremos nuestro editor preferido como predeterminado.

Algunas de las opciones son:
Para modificar una alternativa
update-alternatives –config enlace

enlace es el nombre del enlace en /etc/alternatives.

Para hacerlo con todas:
update-alternatives –all

Irá preguntando una a una o informando de que sólo hay una para algunos programas.

Para crear una nueva:
update-alternatives –install nombre_genérico enlace programa prioridad

Por ejemplo, para crear una alternativa al gimp que se llame graficos:
update-alternatives –install /usr/bin/gimp graficos /usr/bin/gimp-2.6 1

Donde:

  • /usr/bin/gimp es un enlace al gimp-2.6 que está en /usr/bin;
  • graficos es el nombre del enlace dentro de /etc/alternatives;
  • /usr/bin/gimp.2.6 es el programa que se ejecutará, y 1 es la prioridad.

 

 

FentLinux

Categorías
General

Drivers fuera del kernel con CUSE en Linux

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.

 

En Linux y Unix en general se utilizan algunos archivos especiales para comunicar a las aplicaciones con los drivers, se trata de esos archivos que se encuentran en el directorio /dev.  Un problema que surge, especialmente con aplicaciones antiguas, es que las aplicaciones al usar directamente los archivos que están ahí, necesitan que exista el driver relacionado con cada archivo.  Un ejemplo clásico son los archivos /dev/dsp y /dev/mixer que se usaban en el antiguo sistema de sonido Open Sound System.

Con CUSE ahora son aplicaciones las que podrán tomar el control de esos dispositivos especiales y como es de esperar, la primera aplicación práctica es un proxy de OSS que permitirá que las aplicaciones crean que están usando OSS, pero serán direccionadas a PulseAudio/ALSA para aprovechar toda la potencialidad de estos sistemas de audio.

Otro uso propuesto es atender las solicitudes a /dev/pilot que realizan aplicaciones antiguas que se conectan a Palm Pilot.  Con CUSE no será necesario tener un driver especial, sino que se podrá escribir un proxy que tome las solicitudes a /dev/pilot y las convierta en lo necesario para comunicarse con el dispositivo bajo estándares actuales.

Con CUSE, nuevos desarrolladores podrán dar soporte a sus dispositivos de una forma sencilla, y aplicaciones antiguas podrán seguir funcionando, adaptándose automáticamente a las nuevas funcionalidades que se vayan incorporando al sistema.

 

FayerWayer

Categorías
General

Linux 2.6.31 mejorará el rendimiento del desktop con poca memoria

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.

 

Bonus Track: Memoria física y memoria lógica

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.

 

FayerWayer

Categorías
General

Ubuntu One será one.ubuntu.com

Por tal motivo y aunque se han tomado todas las precauciones posibles para que el impacto sea el mínimo sobre el servicio, es posible que durante la transición hasta que esté operativo el direccionamiento surjan algunos problemas.

De cualquier manera en The Fridge tranquilizan a los usuarios avisando que los datos subidos a Ubuntu One no sufren riesgos y que de salir todo como se piensa el sitio estará caído solo un par de minutos, que además no afectará la sincronización de archivos durante ese tiempo.

Esperemos que así sea.

 

Ubuntips

Categorías
General

[Como] Mejorando fotos con GIMP 2.6

{youtube}pDIt1rHJjH4{/youtube}

 

Tatica via VivaLinux!

Categorías
General

El pase de diapositivas para la instalación de Karmic Koala

{youtube}V7eb7lrnjLY{/youtube}

Mientras tanto, los usuarios que van probando las versiones en desarrollo se van percatando de las últimas novedades que van siendo incluidas para Karmic Koala. Una de ellas, que ha llamado mucho la atención, es la incoporación de un pase de diapositivas para entretener un poco al usuario durante el proceso de instalación del sistema operativo y a la vez mostrar algunas aplicaciones importantes de la distribución. En este video pueden verse todas esas instantáneas incluidas gracias a Ubiquity en menos de un minuto, evidentemente acelerando todo el proceso.

 

Genbeta

Categorías
General

Debian se pasará al Upstart de Ubuntu

“Durante los últimos años, el sistema de arranque de Debian se ha deteriorado progresivamente debido a los cambios en el Kernel Linux que lo hacen cada vez más y más basado en eventos. Por ejemplo, el Kernel y sus drivers ya no bloquean todo el procesamiento cuando detectan discos, interfaces de red y otro hardware, haciendo que el alguna vez confiable viejo sistema de arranque de Debian sea cada vez más frágil”.

Para solucionar el problema fundamental, el proyecto planea reemplazar su /sbin/init por una implementación que sea capaz de manejar eventos del Kernel. Y después de analizar las opciones disponibles, los desarrolladores de Debian creen que nada menos que el Upstart de Ubuntu es el «candidato más prometedor». Su idea es ahora hacer el reemplazo para su próxima versión «Squeeze».

El proyecto de Upstart comenzó en el 2006 y es actualmente usado en Ubuntu desde su versión 6.10 y en Fedora desde su versión 9.

 

VivaLinux!

Categorías
General

Microsoft adoctrinando a los empleados de Best Buy

El curso, aparentemente disponible para todos los empleados de Best Buy, incluía un módulo llamado «Comparando Windows 7 con Linux» en el que se proyectaban diapositivas como estas (traducción a continuación):

Slide #1

“Después de completar este curso Ud. será capaz explicar a los clientes los muchos beneficios de elegir Windows 7 en lugar de Linux. Al final del curso Ud. podrá:

  • Explicar cómo Windows 7 pude ofrecer una experiencia más rica y atractiva que Linux.
  • Discutir los beneficios específicos de correr Windows 7 en una netbook”.

En la siguiente imágen Microsoft advierte a los vendedores que cuando un cliente adquiere una PC debe tener en cuenta que tipos de software serán compatibles, así como qué periféricos podrá conectar al ordenador sin problemas. Se señala que las PCs que usen sistemas alternativos de Linux, tendrán problemas de compatibilidades con el software que quieran usar, así como con distintos periféricos como cámaras, iPod, impresoras, escáners, etc.

Slide #3

Slide #4

El curso también incluía una parte interactiva. Por ejemplo la siguiente dice «De la siguiente lista haga clic en tres razones fundamentales por las cuales tu cliente debería elegir Windows 7 sobre Linux»:

Slide #5

Las siguientes son más divertidas aún. El empleado debe elegir si cada afirmación es un «Hecho» o un «Mito». La primera dice «Las actualizaciones de Linux son fáciles» y, obviamente, si elegimos que eso es un hecho estaremos respondiendo incorrectamente:

Slide #10

En la siguiente la afirmación es «Linux es más seguro que Windows» y, otra vez, si elegimos que eso es un hecho nuestra respuesta será incorrecta:

Slide #11

La última es un poco más elaborada, dice «Linux es fácil de aprender y cumplirá con las expectativas del cliente sobre las cosas que puede hacer con su PC». Predeciblemente, si elegimos que eso es un mito habremos respondido de forma correcta:

Slide #12

El resto de las diapositivas son menos relacionadas con Linux y mucho más orientadas al «márketing» de Windows 7, las reproducimos a continuación porque el servidor de imágenes utilizado para publicarlas en el foro original se encuentra colapsado al momento de escribir esto.

Slide #2

Slide #6

Slide #7

Slide #8

Slide #9

 

VivaLinux!