Está en la página 1de 10

Presentación

Asignatura:

Sistemas Operativos 1

Practica:

NachOS

Nombre:

Estiven Antonio Polanco Robles

Matricula:

2015-2638
INDICE

Introducción - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -3

Descripción - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -3

Funcionamiento - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5

Instalación - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7

How to - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -9

Conclusión - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9

Bibliografía - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10
Introducción

NachOS o Not Another Completely Heuristic Operating System o NachOS es


un Sistema Operativo educativo para los estudiantes de cursos de Sistemas
Operativos, sin graduación o aspirantes a graduados. Permite la simulación de
un sistema operativo autónomo dentro de otro sistema. En esta práctica se
hará una pequeña descripción, su funcionamiento e instalación.

Descripción

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


de usuario en el sistema operativo anfitrión. Un simulador de MIPS ejecuta el
código para cualquier programa de usuario que se ejecute sobre el sistema
operativo NachOS.
Como muchos de sus predecesores de sistemas operativos de instrucción, 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 depuración esta implementada en secuencias de ejecución no-


repetitivas.

 Su kernel es monolítico.

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


experimentar y diseñar:
 Un sistema multitarea
 Memoria virtual
 Sistema de ficheros
 Red simulada de máquinas

El código de Nachos utiliza un subconjunto reducido de C++, básicamente el


soporte de tipos abstractos de datos (clases).

Además del código 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 diseño del sistema operativo y la aplicación 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 anfitrión), similar a Bochs/VMWare. Cuenta con emulación
para:

 Una CPU (una CPU MIPS)

 Un disco duro

 Una interrupción del controlador, el temporizador y misceláneos. otros


componentes

Funcionalidad

Nachos tiene varios módulos que implementan la funcionalidad de un sistema


operativo básico. Las funciones de contenedor para varias llamadas al sistema
del núcleo 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 código nativo. Por ejemplo, una clase machine se
utiliza como la clase magistral de la máquina simulada. Contiene varios objetos,
como Sistema de archivos, procesador, temporizador, etc.
Componentes mayores:

 NachOS Machine - Nachos simula una máquina que se aproxima más o


menos la arquitectura MIPS. La máquina dispone de registros, la
memoria y la CPU. La máquina Nachos/MIPS es implementado por el
objeto de la máquina, una instancia de la que se crea cuando Nachos
inicia. Contiene métodos como Run, ReadRegister, WriteRegister, etc.
También define un objeto de interrupción para manejar las
interrupciones. Temporizador y estadísticas también 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 métodos 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 sólo 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
estén en el formato más simple "Noff". Para convertir archivos binarios
de un formato a otro, utilice el programa coff2noff.
El Nachos trabaja sobre una emulación de una máquina con procesador MIPS

La emulación 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

Instalación

Linux es plataforma más usada para instalar NachOS, debido a la


compatibilidad basada en Unix.

Para obtener el sistema operativos NachOS y sus versiones, ir a la página en


línea 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 versión 4.0).

Guía de instalación 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 distribución 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.linux-
xgcc.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 instalación de NachOS 4.0:

https://www.youtube.com/watch?v=NNTa_onLgl4

Conclusión

Nachos es un sistema operativo de instrucción diseñado para reflejar los


avances recientes en tecnología de hardware y software, para ilustrar sistema
operativo moderno conceptos, y, más ampliamente, para ayudar a enseñar el
diseño de equipo complejo sistemas.

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


experimentar y diseñar”

El objetivo de NachOS es introducir al alumno en los conceptos en el diseño


del sistema operativo y la aplicación al exigir aplicar partes significativas de la
funcionalidad del sistema de Nachos.
Las muestras del núcleo y asignaciones de Nachos ilustran los principios de
diseño del sistema informático necesario para entender los sistemas
informáticos de hoy y del futuro: la concurrencia y sincronización,
almacenamiento en caché y la localidad, el equilibrio entre simplicidad y
rendimiento, la fiabilidad de la construcción componentes no fiables,
programación dinámica, programación orientada a objetos, la potencia de un
nivel de traducción, de capas de protocolo, y la computación distribuida.

Gracias por leer este artículo.

Bibliografía

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

También podría gustarte