You are on page 1of 10

Presentacin

Asignatura:
Sistemas Operativos 1

Practica:
NachOS

Nombre:
Estiven Antonio Polanco Robles

Matricula:
2015-2638

INDICE

Introduccin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -3
Descripcin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -3
Funcionamiento - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5
Instalacin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7
How to - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -9
Conclusin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9
Bibliografa - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10

Introduccin
NachOS o Not Another Completely Heuristic Operating System o NachOS es
un Sistema Operativo educativo para los estudiantes de cursos de Sistemas
Operativos, sin graduacin o aspirantes a graduados. Permite la simulacin de
un sistema operativo autnomo dentro de otro sistema. En esta prctica se
har una pequea descripcin, su funcionamiento e instalacin.

Descripcin

Escrito originalmente en C++ para MIPS, NachOS se ejecuta como un proceso


de usuario en el sistema operativo anfitrin. Un simulador de MIPS ejecuta el
cdigo para cualquier programa de usuario que se ejecute sobre el sistema
operativo NachOS.

Como muchos de sus predecesores de sistemas operativos de instruccin, el


kernel de NachOS y el simulador de hardware corren juntos en el mismo
proceso de Unix.
Nachos has varias diferencias significantes:

Puede correr programas escritos en C como un usuario.

Puede simular redes de estaciones de trabajo con Workstation corriendo


nachos en cada una.

Nachos esta implementado en sub-instrucciones de C++.

La depuracin esta implementada en secuencias de ejecucin norepetitivas.

Su kernel es monoltico.

Nachos contiene lo esencial de un sistema operativo; con l se puede


experimentar y disear:

Un sistema multitarea
Memoria virtual
Sistema de ficheros
Red simulada de mquinas

El cdigo de Nachos utiliza un subconjunto reducido de C++, bsicamente el


soporte de tipos abstractos de datos (clases).
Adems del cdigo de NachOS, una serie de tareas se proporcionan con el
sistema Nachos. El objetivo de NachOS es introducir al alumno en los
conceptos en el diseo del sistema operativo y la aplicacin al exigir a aplicar
piezas significativas de la funcionalidad del sistema de Nachos.
En caso, NachOS es un simulador de sistema operativo simplemente significa
que puede ejecutar un SO (sistema operativo invitado) encima de otro (el
sistema operativo anfitrin), similar a Bochs/VMWare. Cuenta con emulacin
para:

Una CPU (una CPU MIPS)

Un disco duro

Una interrupcin del controlador, el temporizador y miscelneos. otros


componentes

Funcionalidad
Nachos tiene varios mdulos que implementan la funcionalidad de un sistema
operativo bsico. Las funciones de contenedor para varias llamadas al sistema
del ncleo del sistema operativo se implementan generalmente en una manera
similar a la de las llamadas al sistema UNIX. Varias partes del OS se instancian
como objetos utilizando el cdigo nativo. Por ejemplo, una clase machine se

utiliza como la clase magistral de la mquina simulada. Contiene varios objetos,


como Sistema de archivos, procesador, temporizador, etc.
Componentes mayores:

NachOS Machine - Nachos simula una mquina que se aproxima ms o


menos la arquitectura MIPS. La mquina dispone de registros, la
memoria y la CPU. La mquina Nachos/MIPS es implementado por el
objeto de la mquina, una instancia de la que se crea cuando Nachos
inicia. Contiene mtodos como Run, ReadRegister, WriteRegister, etc.
Tambin

define

un

objeto

de

interrupcin

para

manejar

las

interrupciones. Temporizador y estadsticas tambin se implementan en


este.

Nachos Threads - En nachos una clase mensaje ha sido definida. Un


hilo tiene un estado asociado a l, que tal vez listo, correr, bloqueado o
simplemente creado. El objeto hilo tiene varios mtodos como
PutThreadToSleep, YieldCPU, ThreadFork, ThreadStackAllocate, etc.
Cada hilo ejecuta en un espacio de direcciones virtuales.

Nachos userPrograms - Nachos ejecuta programas de usuario en su


propio espacio de direcciones privadas. Nachos pueden ejecutar
cualquier binario MIPS, en el supuesto de que se limita a slo el sistema
de toma de llamadas que Nachos entiende. En Unix, los archivos "a.out"
se almacenan en formato "coff". Nachos requiere que los ejecutables
estn en el formato ms simple "Noff". Para convertir archivos binarios
de un formato a otro, utilice el programa coff2noff.

El Nachos trabaja sobre una emulacin de una mquina con procesador MIPS
La emulacin incluye:

Consola (puede usar stdin y stdout)


Disco (simulado en un fichero)
Sistema de interrupciones
Arquitectura paginada
Controlador de red

Ventaja arquitectura emulada:

Como los dispositivos no son reales, se pueden hacer muy sencillos de


entender y manejar

Instalacin
Linux es plataforma ms usada para instalar NachOS, debido a la
compatibilidad basada en Unix.
Para obtener el sistema operativos NachOS y sus versiones, ir a la pgina en
lnea de la Universidad de California:

http://homes.cs.washington.edu/~tom/nachos/
Para instalar NachOS debemos tener disponible estos recursos disponibles:

Nachos (v1.0, v2.0, v3.0, v4.0).


Compilador-cruzado: Compilador MIPS.
Archivo patch (solo para la versin 4.0).

Gua de instalacin de NachOS (v4.0)


Nota: Antes de empezar tienen que tener el programa g++ instalado en linux.
Para instalar, usar el comando:
$

sudo apt-get install g++

1. Abrir el Terminal en una distribucin Linux o (Ctrl+Alt +T).


2. Crear un directorio para NachOS Ej: nachos.
$

mkdir nachos

3. Acceder al directorio creado.


$

cd nachos

4. Descargar los archivos dentro del nuevo directorio.


$

wget enlace

Enlaces:
NachOS v4.0:
http://mll.csie.ntu.edu.tw/course/os_f08/assignment/nachos_40.tar.gz
Compilador MIPS:
http://mll.csie.ntu.edu.tw/course/os_f08/assignment/mips-decstation.linuxxgcc.gz
Archivo Patch:
http://mll.csie.ntu.edu.tw/course/os_f08/assignment/nachos-gcc.diff

5. Desempaquetar los archivos .tar.gz y .gz.


$

tar xvzf nachos_40.tar.gz

tar xvzf mips-decstation.linux-xgcc.gz

6. Hacer el patch con el archivo nachos-gcc.diff


$

patch p0 < nachos-gcc.diff

7. Acceder al directorio NachOS-4.0/code/build.linux


$

cd NachOS-4.0/code/build.linux

8. Dentro del directorio /build.linux, construir NachOS v4.0.


$

make depend

make

9. Al terminar de compilar NachOS 4.0, verificar que funciona correctamente.


$

./nachos

How to
Video de instalacin de NachOS 4.0:
https://www.youtube.com/watch?v=NNTa_onLgl4

Conclusin

Nachos es un sistema operativo de instruccin diseado para reflejar los


avances recientes en tecnologa de hardware y software, para ilustrar sistema
operativo moderno conceptos, y, ms ampliamente, para ayudar a ensear el
diseo de equipo complejo sistemas.
Nachos contiene lo esencial de un sistema operativo; con l se puede
experimentar y disear
El objetivo de NachOS es introducir al alumno en los conceptos en el diseo
del sistema operativo y la aplicacin al exigir aplicar partes significativas de la
funcionalidad del sistema de Nachos.
Las muestras del ncleo y asignaciones de Nachos ilustran los principios de
diseo del sistema informtico necesario para entender los sistemas
informticos de

hoy y del

futuro: la

concurrencia

y sincronizacin,

almacenamiento en cach y la localidad, el equilibrio entre simplicidad y


rendimiento, la fiabilidad de la construccin componentes no fiables,
programacin dinmica, programacin orientada a objetos, la potencia de un
nivel de traduccin, de capas de protocolo, y la computacin distribuida.
Gracias por leer este artculo.

Bibliografa
http://homes.cs.washington.edu/~tom/nachos/