Sistemas Operativos

Plan9: ¿El sucesor de UNIX?

Plan9: ¿El sucesor de UNIX?

 

alt

Allá por el año 1993, de nuestro señor, algo empezó a gestionarse en el corazón de los laboratorios Bell, el núcleo de investigación y desarrollo de AT&T, de donde surgió Unix, comenzó a trabajar en un nuevo proyecto de Sistema Operativo (SO) Distribuido denominado Plan9 en honor a la peor película de ciencia ficción de la historia: Plan 9 del espacio exterior de Ed Wood. En realidad la peor fue Locuras del extraterrestre, con Olmedo y Porcel, pero bueno, el problema de vivir en el culo del mundo.
Hoy en día, Plan9 es una realidad ofrecida a usuarios individuales e instituciones académicas para uso no comercial.
Plan9 (P9) constituye un SO escalable, eficiente y con uso seguro en red. Se trata de un SO distribuido, es decir no llega a proporcionar la transparencia que exigía la máquina virtual de Tanembaum, pero si se trata de un sistema en el cuál coexisten por igual servidores de ficheros, de CPU, locales y de red.

La Herencia de Unix

La idea originar consistió en realizar un moderno SO partiendo de cero, no como una actualización del Unix como lo fue el Unix98, sino que debería realizarse un SO que respondiera a las necesidades tecnológicas actuales.
De este modo, la cultura de la empresa respecto a Unix (y por ende toda la experiencia acumulada) sirvió para el diseño original del P9, suplir todas sus carencias respecto de la escalabilidad dinámica en red. Obviamente la plena potencia del P9 se ve cuando se instala en red y no en una máquina hogareña, sino no se aprecia sus ventajas respecto a su predecesor. Entre las características que comparte con Unix se puede citar:

  • Se encuentra escrito en C, lenguaje adecuado para la programación de este tipo de sistemas.
  • La interfaz de usuario es sencilla y potente, ofreciendo un refinamiento del shell de Unix, aunque compleja de aprender, ya que no fue pensada para uso hogareño.
  • Dispone un sistema de ficheros jerárquicos anclado a un superfichero raíz, permitiendo montar y desmontar volúmenes como en Unix.
  • Al igual que en Unix en universo se encuentra constituido por ficheros, incluso los dispositivos de Entrada Salida, pero con ideas propias que se verán mas adelante.

Ideas Propias

P9 exige un terminal gráfico con sistemas de ventanas que ha denominado en forma chistosa, 8 1/2 (ocho y medio) son de vivos los nenes!. Este terminal puede ser cualquier computadora conectada a la red que opere P9 con una CPU propia y con sistemas de ficheros propios, pero se caracteriza como interfaz de acceso para usuarios humanos.
En el sistema de archivos se introduce el concepto de visibilidad de usuario, es decir, como todo SO moderno es un sistema multiusuario, pero no se limita como Unix a mostrar un único sistema de ficheros a todos los usuarios y solo distingue los permisos de acceso, sino que, P9 muestra un mismo sistema de archivos en forma diferente para cada usuario, ya que define la capa superior de visibilidad, dicha capa recibe el nombre de Espacio de Nombres.
La gestión de los recursos es tal que desaparece la separación entre recursos locales y remotos. Para ello se incorpora en el núcleo el protocolo 9P (que reemplaza al TCP/IP).

Requisitos

Por el momento P9 corre en i386 o superior, MIPS, SPARC y Motorola 68020. En el entorno i386, el sistema de ventanas, un editor, más aplicaciones básicas, pueden correr en una máquina con 8Mb de RAM. El sistema básico, incluido soporte ethernet, internet y compilador Alef, caben en cuatro discos de 3 1/2. La versión completa está contenida en un CD de los cuales se emplea solo 140Mb para el soporte i386.

El Espacio de Nombres

Como se ha mencionado antes cada proceso dispone de una visibilidad particular del sistema de archivos denominado espacio de nombres. Así dos procesos pueden ver sistemas de archivos completamente diferentes. En el caso de Unix disponen de la misma visibilidad del sistema de archivos con la diferencia de los permisos de lectura, escritura y ejecución, en P9 no es así. La única analogía que se halla en el mundo Unix es el dispositivo /dev/tty. Este dispositivo se halla cableado en el kernel por lo que cada proceso ve un /dev/tty diferente que corresponde al terminal en que se halla conectado.
P9 lleva este concepto al extremo ampliandolo a todo el sistema de archivos, todo espacio de nombres cuenta con una raíz, bajo la misma se halla el directorio /bin que resulta de la unión de todos los directorios que tienen ejecutables visibles para el proceso. De esta forma se elimina la variable de ambiente PATH. Esta visibilidad es configurable tanto por el usuario como por el administrador.

El Protocolo 9P

El sistema nervioso de P9 lo constituye el protocolo 9P. Es este el que permite tratar a todos los recursos como ficheros, ya sean locales o remotos, con lo cuál no es necesario apelar al NFS. Ya que se permite el acceso a dispositivos de forma remota cosa que con NFS no se puede. El protocolo 9P ofrece una semántica única de accesos a archivos que implementa procedimientos RPC sobre el protocolo IL (Intenet Link), un nuevo protocolo fiable que se monta sobre IP.

Mecanismos de Autenticación

El mecanismo de autenticación P9 sigue el esquema Kerberos. No se envía el password por la red, en su lugar, se emplea un mecanismo de tickets encriptados facilitados por un servidor de autenticación. En P9 no existe el concepto de superusuario ni tampoco la idea de programas con setuid. El servidor de archivos P9 no corre programas de usuario, solo se limita a dar acceso a archivos autorizados.

Sistema de Archivos /proc

Algunos Unix como el SV y Linux emplean un sistema de archivos virtual denominado /proc. Con el se puede acceder a procesos, entornos de procesos, dispositivos y recursos. P9 incorpora este mecanismo, así bajo el directorio /proc (visible por todos los procesos) existe otro subdirectorio asociado con cada proceso del sistema y que toma como nombre el número del proceso. Bajo él otros archivos como ctl, mem, status, etc. permiten acceder a través de las funciones E/S de la API.
Luego el comando ps se lo puede implementar como cat /proc/*/status. Por otra parte los mensajes de lectura y escritura son de texto, si bien se puede perder algo de prestaciones se gana en claridad evitando la translación host byte order a network byte order y viceversa.

Entorno de Creación de Procesos

Otra de las nuevas características de P9 es la forma de acceder al entorno de un proceso que también se realiza a través del espacio de nombres, en el directorio /env. Por ejemplo un proceso con dos variables de entorno podría contener:
/env/user
/env/pid
cuyo contenido se lo puede ver con
% cat /env/user
Horacio
% cat /env/pid
456
Nuevamente el espacio de nombres será diferente para cada proceso. Así una forma de ver todas las variables asociadas a un proceso podría ser: (cd env;echo *). Respecto a la creación de procesos hijos el padre hace uso de la primitiva rfork. Esta llamada acepta un mapa de bits como argumento que describirá como se compartirá el espacio de nombres entre padre e hijo.

Transparencia de Red

Entre las características que otorgan a P9 una gran funcionalidad se halla:

  • Trasparencia del sistema de ficheros, el servicio ftp no se encuentra como un comando, sino como un sistema de archivos, así por ejemplo: ftpfs -a hcaste@clara genera una conexión ftp anónima a clara, luego se monta el sistema de archivos /n/ftp en el espacio de nombres local, luego se puede copiar un archivo con el comando cp. P9 incorpora protocolos que permiten la subsistencia de sistemas Unix y Windows®/98 en una sola máquina virtual, con lo cuál la interconectabilidad es grande (no existe el Samba).
  • Transparencia de CPU, como se expuso uno de los elementos que adopta el P9 es el servidor de CPU. Esto permite el uso de CPU remotas más potentes que la terminal. Por otro lado el servidor de CPU puede estar compuesto de varias máquinas de arquitectura heterogénea, es el SO el encargado de distribuir la tarea, no el usuario como en el caso del PVM.
  • Transparencia de máquinas y redes, cada red se ve como un conjunto de archivos, sobre el que se puede realizar operaciones de entrada salida, control y creación. Para ello la API define un núcleo semántico común independiente de la naturaleza de la red y lo complementa con un servidor traductor de direcciones. Con esto los procesos no tienen conciencia si trabajan en TCP/IP, RDSI, PP., etc.

Brazil, L'Inferno y Limbo

En el momento de escribir este artículo, P9 se emplea como SO en diversas universidades, Toronto, York, Sydney y Austria como soporte de desarrollo y cálculo. En Luncent más de 40 desarrolladores emplean una evolución de P9 de uso interno denominada Brazil, que con el lenguaje de desarrollo propio llamado Limbo (similar al Java) proporcionan el SO L'Inferno.

 

 

Unas imagenes :

 

alt

alt


Descargas :

 

[hide] http://plan9.bell-labs.com/plan9/download/plan9.iso.bz2 [/hide]

#5 comentario(s)
#1. País espectalll123 | 10 Marzo 2011 17:27 |
0
¡Ya era hora de que alguien lo publicase! Ojalá algún día cambiemos Linux por Plan 9...

¡Gracias, Cracksper! ¡Y sin copiar del bloc de notas fellow !

¿A quién le apetece una manzana?
Tambien tengo limas.
#2. País Cracksper | 10 Marzo 2011 17:31 |
+1
Gracias por la rapidez spectalll no me dio casi tiempo.
Conocias ya plan9...
tampoco he copiado nada como ves lol



#3. País espectalll123 | 10 Marzo 2011 17:42 |
0
Una cosa: ¿L'inferno? Es Vita Nuova Inferno, ¿no? http://www.vitanuova.com/inferno/

¿A quién le apetece una manzana?
Tambien tengo limas.
#4. País clarkos | 11 Marzo 2011 17:20 |
+2
que cosa, no? cuando hacen las cosas bien no necesitas una chorrera de recursos ni de maquinas super extraterrestres que valen un fangote de plata..... esta muy bueno... ojala algún día podamos verlo en todos lados
#5. País CrystalEye | 12 Marzo 2011 19:04 |
0
¡Excelente aporte! Coincido con clarkos smile

Información
Lo siento, no tienes los permisos suficientes para dejar un comentario aquí... =(
EspacioMéxico.net

Descargar Windows 8

Windows 8 Preview

Windows 8 Developer Preview es una versión pre-beta de Windows 8 para desarrolladores. No se debe utilizar como sistema operativo por defecto, sólo con fines de prueba. Descárgalo gratis desde Microsoft.com.

Descargar

Descargar Office 2010

Microsoft Office 2010

Microsoft Office es la suite ofimática de Microsoft. Contiene programas para redactar documentos (Word), crear hojas de cálculo (Excel), diseñar presentaciones (Powerpoint), gestionar correos y eventos (Outlook) y muchas otras utilidades auxiliares. ¡Prueba la última versión en español!

Descargar

60 usuarios online

Ninguno.

60 invitados, 0 miembros

Menú de navegación

  • Ghermain
  • Cracksper
  • CrystalEye
  • darioroncoroni
  • ambulante
  • mkdatos
Actualizado: 21:36 13-05-2012

Encuesta

¿Usaste alguna distribución de Linux alguna vez?

Si
No