title: Rio (programa)
text: # Rio (programa)
  
  rio es el gestor de ventanas del sistema operativo Plan 9 from Bell Labs.
  
  ## Generalidades
  
  Su funcionalidad refleja los conceptos de diseño de Plan 9:
  
  * Cada ventana ejecuta su propio namespace privado.
  * Exporta una interfaz de sistema de archivos a las aplicaciones ejecutándose. Esta interfaz es la misma que recibe rio del sistema operativo, permitiendo a rio ejecutarse dentro de una ventana de rio sin ningún arreglo especial. Debido a que la interfaz utiliza 9P, rio es transparente en red sin incluir código para el manejo de redes.
  * Las ventanas son tratados como texto completamente editable.
  
  Es más notablemente conocido por hacer que su gestión de ventanas sea transparente para la aplicación. Esto permite ejecutar rio anidadamente.
  
  ## Historia
  
  rio es el último en una serie de interfaces de usuario desarrolladas en Bell Labs mayoritariamente por Rob Pike que incluye el primer sistema de ventanas gráfico para UNIX (Que es anterior a X Window), el sistema concurrente de ventanas y Blit.
  
  rio fue una reescritura completa de 8½ en Alef. El cambio principal es que dejó de parsear y reescribir comandos gráficos y dejó que el cliente escribiera los pixeles directamente. Esto fue hecho principalmente para mejorar la eficiencia. Después de que Alef desapareciera debido a dificultad de mantenerlo con la base de usuarios existentes, fue reescrito en C. Para ello se usó la biblioteca de threads de Plan 9, que estaba inspirada en Alef y poseía la mayoría de sus características, como bloqueo de canales para comunicación entre threads y procesos. Otro cambio importante, debido al ambiente más que a rio, fue que rio funcionara en colores, usando álgebra de Porter-Duff donde 8½ usó operaciones bitblt.
  
  