Вы находитесь на странице: 1из 21

Universidad Nacional de Ingeniera

Facultad de Electrotecnia y Computacin.


Ingeniera en Computacin
Sistemas Operativos Distribuidos

Integrantes

Carnet

Helida Amparo Castillo Caldern


Dextn Alexander Ruiz Rodrguez
Carlos Jos Ortiz Orozco

Docente:
Ing. Narciso Aguilera.
Grupo:
5T3-Co.

Fecha:
31 de enero del 2014.

#2009-30279
#2009-30240
#2009-30227

Resumen
Inferno es un sistema operativo virtualizado que puede funcionar de forma nativa a
travs de una amplia gama de arquitecturas de procesador o alojado en una
amplia gama de sistemas operativos. El nombre del sistema operativo viene de La
Divina Comedia, de Dante Alighieri.
Iniciado en los Laboratorios Bell, pero ahora desarrollado y mantenido por Vita
Nova Holding como software gratuito. Inferno empez a partir de la experiencia
que se gan con el desarrollo del sistema operativo Plan 9, en los propios
Laboratorios Bell, y en las siguientes investigaciones en sistemas operativos,
lenguajes, compiladores, grficas, seguridad, redes y portabilidad.
Las aplicaciones de Inferno son portables en una amplia gama de hardware, redes
y medios ambientes. Define una mquina virtual llamada Dis, y que puede ser
implementada en cualquier computadora o dispositivo real, que da acceso
a Limbo un lenguaje orientado a tipos que es compilado en un sistema de bytes,
como lo que hace Java, finalmente.
Incluye un sistema operativo virtual que da las mismas interfaces cuando se corre
Inferno nativamente en el hardware o bien, cuando es hospedado como una
aplicacin en otro sistema.

Introduccin
Inferno es un sistema operativo distribuido, las aplicaciones escritas en el lenguaje
de programacin concurrente de Inferno, Limbo, son recopilados para su cdigo
de mquina virtual porttil (Dis), para ejecutar en cualquier lugar de una red en el
entorno de porttil que ofrece Inferno. Inusualmente, ese ambiente parece y acta
como un sistema operativo completo.
El sistema puede ser usado para construir aplicaciones cliente y servidor
porttiles. Esto hace que sea sencillo para crear aplicaciones magras que
comparten todo tipo de recursos en una red, sin la costra de gran parte del
software 'Gua' que se ve.
Inferno se puede ejecutar "nativo" en varios ARM, PowerPC, plataformas SPARC
y x86, pero tambin est alojada, en virtud de un sistema operativo existente
(incluyendo FreeBSD, Irix, Linux, MacOS X, Plan 9 y Solaris), otra vez en varios
tipos de procesadores.

Los componentes del sistema son:


El kernel Inferno que puede funcionar tanto nativos como est alojada en
una amplia gama de plataformas y que presenta la misma interfaz para
programas en ambos casos.
La mquina virtual Dis.
Styx - el pequeo protocolo de servicio de archivos de amplio espectro.
Limbo - una nueva programacin simple, modular, concurrente idioma.
Tk y Prefab - Interfaz grfica de usuario (GUI`') primitivas sin mucha
sustancia viscosa.

Objetivo
Instalar y configurar el sistema operativo distribuido inferno como middleware
sobre el sistema operativo Windows.
Antecedentes
El sistema operativo inferno esta, basado en Plan 9, por lo que tiene los mismos
principios de diseo:
Recursos como archivos.
Espacio de nombres (namespaces).
Protocolo de comunicacin Estndar STYX.
Recursos como archivos
Inferno brinda una total transparencia de los recursos y los datos mediante un
sencillo pero potente sistema de Espacio De Nombres.
Al representar los recursos como archivos y tener un protocolo estndar de
comunicacin 9P (Styx). Recursos tales como almacenes de datos, los servicios
y los dispositivos externos se pueden compartir fcilmente entre los sistemas
Inferno. Una interfaz de recurso puede ser importado al sistema local y utilizado
por las aplicaciones sin que ellos lo sepan, o la necesidad de saber, ya sea local o
remoto.

Espacio de Nombres
Una de las grandes fortalezas de Inferno es el espacio de nombres interactuar con
los recursos disponibles a un proceso, una estructura jerrquica que se ve muy
similar a un convencional sistema de archivo, los Recursos parecen archivos y
directorios que se pueden leer y escribir, crear y eliminar en un forma familiar para
la mayora de los programadores
Mecanismos de comunicacin entre procesos
Tiene un protocolo de comunicacin llamado Styx que se aplica uniformemente
para acceder a los recursos locales o remotos, en donde las aplicaciones pueden
llamar a las operaciones estndar de archivos: abrir, leer, escribir y cerrar. En esta
cuarta edicin de Inferno, Styx es idntico a la nueva versin del sistema original
Plan 9 con el protocolo 9p2000.
El Protocolo archivo Inferno, Styx, se utiliza para los mensajes entre clientes y
servidores. La versin actual de Styx es idntico al Plan 9P2000 de 9. Un cliente
transmite peticiones (T-mensajes) a un servidor, que posteriormente se devuelve
respuestas (R-mensajes) al cliente.
9P es un protocolo de red desarrollado en los Laboratorios Bell para el Plan 9 from
Bell Labs distribuye el sistema operativo como los medios de acceso y
manipulacin de los recursos y aplicaciones de forma transparente en un entorno
distribuido. 9P funciona tanto como un sistema de archivos distribuido y como una
red transparente y lenguaje agnstico 'API'.
Caractersticas de inferno
Compacto: Se ejecuta en los dispositivos con tan poco como 1 MB de
RAM.
Entorno de desarrollo completo: Incluyendo Acme IDE, compiladores,
concha, UNIX como comandos y depurador grfico.
Limbo: Un lenguaje avanzado modular, caja de seguridad, coincidiendo
con la programacin C como sintaxis.
Mquina virtual Dis: mquina virtual que ofrece una independencia
sistema de destino y el cdigo compacto.

Seguridad
Una parte importante del sistema de Inferno, es el alto nivel de seguridad.
Mediante el uso de un protocolo estndar para todas las comunicaciones de red,
seguridad se puede enfocar en un punto y siempre a nivel de sistema. Inferno
ofrece soporte completo para autenticados, conexiones cifradas mediante un
esquema de identificacin de usuario de certificados en base y la variedad de
algoritmos, incluyendo:
Algoritmos de cifrado IDEA, DES de 56 bits, 40, 128 y 256 bits RC4
MD4, MD5 y SHA aseguran algoritmos hash
El mecanismo de seguridad
La autenticacin y firmas digitales se realizan utilizando la criptografa de clave
pblica. Las claves pblicas estn certificados por las autoridades de certificacin
Inferno basados u otros que firman las claves pblicas con su propia clave
privada.
Inferno utiliza el cifrado para:
Autenticacin mutua de las partes comunica.
Autenticacin de mensajes entre estas partes.
El cifrado de mensajes entre estas partes.

Los algoritmos de cifrado proporcionadas por Inferno incluyen el SHA, MD4 y MD5
hash seguras.

Instalacin y configuracin del Sistema Operativo Inferno


En el siguiente informe describiremos paso a paso las instrucciones que se llevan
a cabo para la configuracin del sistema operativo distribuido Inferno en tres
computadoras.

Paso No.1
Descargar Inferno 4ta edicin (ltima versin) del sitio oficial
http://www.vitanuova.com/inferno/downloads.html

Paso No.2
Utilizar una cuenta con privilegios de administrador, desactivar el antivirus y el
firewall.

Paso No.3
Abrir el centro de redes y recursos compartidos, clic derecho en el icono de red
que est en la barra de tareas, luego clic en cambiar configuracin del adaptador,
se nos presenta lo sig.

Aqu damos clic derecho a Ethernet en la opcin Propiedades y nos sale la sig.
ventana:

Aqu damos doble clic sobre Protocolo de Internet versin 4 (TCP/IPv4). Esto se
hace para poner una IP esttica.

En nuestro caso son 3 computadoras:


1. Computadora Helida tiene la IP
192.168.1.33
2. Computadora Dexton tiene la IP
192.168.1.32
3. Computadora Ortiz tiene la IP 192.168.1.30

Paso No.4
Luego de haber descargado Inferno descomprimimos el archivo y lo movemos al
Disco
Local C:\

Paso No. 5

Creamos un archivo .bat en el escritorio para emular directamente inferno y evitar


estar escribiendo en el cmd cada vez que queramos entrar. En nuestro caso a
este archivo lo llamaremos comenzar.bat

El directorio C:\inferno\nt\386\bin contiene los archivos pre-compilados del


middleware ejecutable para Windows para los procesadores de arquitecturas 386,
es compatible con Windows XP, Windows 7 y Windows 8 de 32 o 64 bits.
emu es el programa emulador de inferno provee los servicios del sistema y la
mquina virtual Dis para ejecutar las aplicaciones inferno.
Paso No. 6
Dentro del directorio C:\inferno buscamos la carpeta usr, dentro de esta
encontramos la carpeta llamada inferno, le damos copiar y luego pegar, y
cambiamos su nombre (ponemos el nombre del usuario de la mquina que se est
utilizando, es decir en la maquina Ortiz, la carpeta se llamara Ortiz).

Paso No. 7
Ejecutamos el archivo comenzar.bat, se abrir la consola con key(cuando no se
ejecuta por primera vez), como prompt, ingresamos la contrasea de nuestro
usuario en el caso de la maquina Ortiz es ortiz123 y luego escribimos el comando
wm/wm para utilizar inferno en modo grfico.

Se nos presenta la sig. ventana en la cual damos clic al botn Log y verificamos
que se habr una ventana en blanco, si presenta un error es porque no se realiz
el Paso No.6

Podemos comprobar el usuario que se est usando, abriendo el Shell (clic en el


botn de
inicio) y
luego
ejecutamo
s el
comando
cat
/dev/user.

Paso No.8
Para ejecutar cualquier servicio se debe de escribir los comandos en la consola,
para que estos comandos se guarden y no sea necesario escribirlos cada vez que
se cierra y abre la consola vamos a editar el archivo profile que se encuentra en
el directorio C:\inferno\lib\sh\
Los comandados ndb/cs y ndb/dns
son utilizados para iniciar los servicios
red que son utilizados por inferno para
realizar las conexiones utilizando el
hostname en vez de direcciones IP, as
puede configurar el sistema distribuido
ya sea utilizando DHCP o utilizar
direcciones de IP estticas.
El comando mount a {mntgen} /n es
utilizado para generar puntos de
montaje dinmicos.

Luego ejecutamos en el Shell los comandos anteriores

Para saber si el servicio de DNS est funcionando de forma correcta, utilizaremos


los sig. comandos
Probaremos con dos mquinas:
Shell en la computadora con el usuario Helida

Con esta instruccin estamos indicando que las dems computadoras se van a
conectar a la computadora Helida con el puerto 1234.
Luego creamos un archivo.txt en el Shell de la computadora Helida para que sea
verificado en la computadora Dexton, y comprobar el compartimiento de archivos.

Con los comandos anteriores lo que decimos es que nos cree un archivo .txt que
se llame sistemasdistribuidos y que dentro de este escriba Hola.
Shell en la computadora con el usuario Dexton
Aqu se puede comprobar que el usuario Dexton tiene acceso a este archivo
despus de haber ejecutado el comando mount A tcp!helida!1234 /n/remote

Paso No.9
Iniciar el servicio de autentificacin svc/auth, debemos de crear un archivo
signerkey, este archivo se utiliza para generar las claves o llaves para el acceso
entre las computadoras.

Despus de haber ejecutado el comando que est en la imagen de la derecha,


esperamos unos segundos y luego verificamos si el archivo esta creado en el sig.
directorio C:\inferno\keydb
Ahora podemos ejecutar el comando svc/auth (esto se hace cuando el servicio se
est ejecutando por primera vez), nos pide una contrasea, la cual ser requerida
cada vez que intentemos iniciar este servicio.

Luego creamos una cuenta de autentificacin

El comando auth/changelogin crea la cuenta y el comando getauthifno crea una


llave por defecto.
Los archivos keys se guardan en el llavero (keyring) en la direccin
C:\inferno\usr\Helida\keyring (En el caso de la computadora Helida).
Verificar que si se cre la carpeta con el nombre del usuario (en este caso Helida),
en el directorio C:\inferno\mnt\keys, si no se ha creado volvemos a ejecutar los
comandos anteriores.
Luego de que esta carpeta con el nombre del usuario esta creada, verificamos que
dentro de ella se encuentre un archivo llamado secret, este archivo contiene la
contrasea de la cuenta autentificada.

En esta imagen podemos ver que nos lanza un error, nos pide un archivo llamado
expiry, este archivo tiene que estar dentro de la carpeta del usuario junto al
archivo secret, entonces copiamos y pegamos el archivo secret y lo renombramos
a expire (porque primero dice que el archivo que busca es expiry pero luego dice
que es expire, entonces lo dejamos con el segundo nombre).
Por ultimo editamos nuevamente el archivo profile que est en el directorio
C:\inferno\lib\sh, y agregamos los sig. comandos
El comando svc/auth sirve
para otorgar permisos de
autentificacin.
El comando svc/styx sirve para
ejecutar un servidor de
archivos.
El comando svc/rstyx sirve
para dirigir una pc del servidor,
para utilizar la cpu donde
quiere conectarse.

Ahora cerramos la aplicacin emu con el comando shutdown h, luego la


volvemos abrir para verificar que no hayan errores.

Paso No.10
Creamos las llaves de los dems computadores, para esto debemos utilizar el
comando getauthinfo utilizando como argumentos tcp! y el hostname de la
computadora (nombre del equipo), luego nos pide una contrasea le ponemos la
misma que hemos estado utilizando en los pasos anteriores (ej. La computadora
Dexton se le asign el nombre de equipo dexton y la contrasea dexton123 e igual
para la computadora Ortiz se le asign el nombre de equipo Ortiz y la contrasea
ortiz123).

Luego verificamos si se crearon los archivos por cada clave que hemos agregado

Para probar que la conexin este correcta


utilizamos el sig. comando

En este caso creamos un archivo desde la computadora Helida con conexin a la


computadora Dexton, este archivo le aparecer a la computadora Dexton en el
directorio especificado en la imagen C:\inferno\usr\Dexton
Paso No. 11
Finalmente ejecutaremos un programa, en el cual podremos ver la distribucin de
los procesos que Inferno realiza con cada una de las computadoras.
El programa consiste en un pequeo clster de clculo para resolver un problema
matemtico (las posibles combinaciones de los nmeros que hay entre el 1 y el
100).
Creamos dentro del directorio C:\inferno\usr\Helida (o cualquiera de las carpetas
de los otros usuarios), tres archivos .sh

El archivo 053.sh lo que hace es calcular el tiempo que se tarda en realizar la


tarea las computadoras.

El archivo 053-master.sh enva las tareas a las computadoras y recibe el

resultado de estas.
El archivo 053-worker.sh es el que contiene el programa que se va a ejecutar
para calcular las combinaciones de los nmeros.

Para ejecutar este programa lo que tenemos que hacer es escribir el sig. comando
Probando solo con una computadora escribimos time sh 053-master.sh
localhost

Este es el tiempo que tardo

Probando con las tres computadoras escribimos time sh 053-master.sh


localhost tcp!dexton tcp!ortiz

Y este es el tiempo que tardo con las tres computadoras

El comando time es utilizado para medir el tiempo transcurrido desde el inicio de


la ejecucin del programa hasta el final. sh se utilizar para que correr el programa
053-master.sh y utiliza como argumentos los hostname de las computadoras que
se desean utilizar en el clculo.

Вам также может понравиться