Archivos Mensuales: mayo 2012

Tarea 4 Locks

Imagen de http://9gag.com/gag/4100321

Formato de la tarea:

  • Tomar una foto a los pasos 4 y 5 como se muestra en el ejemplo
  • Ponerlas en formato pdf
  • Enviarlas al correo electronico: sistemas.operativos.fime@gmail.com
  • Ausnto: HORA – Tarea 4 – Matricula – Nombre
  • Entregarla antes del jueves 23 de mayo

Correo que no tenga el formato correcto NO sera revisada.

Tarea 3 – Hola Mundo en nachOS

Bueno la tarea ahora es crear un programa y ejecutarlo.

Formato de la tarea:

  • Tomar una foto a los pasos 2, 3, 4 y 6 como se muestra en el ejemplo
  • Ponerlas en formato pdf
  • Enviarlas al correo electronico: sistemas.operativos.fime@gmail.com
  • Ausnto: Tarea 3 – Matricula – Nombre
  • Entregarla antes del miercoles 9 de mayo

Lo primero que tiene que hacer es abrir la terminal y teclear

cd /nachos/nachos/code/test

Pasos para crear y ejecutar el programa:

1.- Creamos el archivo holamundo, tecleando en la terminal

sudo gedit holamundo.c

2.- Escribimos el codigo del programa

#include "syscall.h"
// Ejemplo de Holamundo
int main () {
Write("Hola Mundo! \n :B ",12,10);
Halt();
}

Se deberá ver como la siguiente imagen

codigo_holamundo

3.- Modificar el archivo Makefile
Guardamos el archivo y tecleamos en la terminal:
sudo gedit Makefile
Buscamos la linea que dice “all:” y agregamos nuestro programa

all: halt shell matmult sort holamundo

Abajo en el mismo archivo agregamos las siguientes lineas:

holamundo.o: holamundo.c
$(CC) $(CFLAGS) -c holamundo.c
holamundo: holamundo.o start.o
$(LD) $(LDFLAGS) start.o holamundo.o -o holamundo.coff
../bin/coff2noff holamundo.coff holamundo

Quedando como se muestra en la imagen:
mod_Makefile
4.- Modificar  el archivo exception.cc
Guardamos y tecleamos en la terminal:

cd ../userprog

y una vez en la carpeta tecleamos

sudo gedit exception.cc

Dentro del archivo agregamos la siguiente función (antes de la funcion ExceptionHandler)

void printVirtualCharArray(int va, int size) {
int tmp,i;
for (i=0;i<size-1; i++){
if(!machine->ReadMem(va+i,1,&tmp)) {
printf("%s trouble getting valut at %d \n",currentThread->getName(),va+1);
return;
}
printf("%c",tmp);
}
}

y despues modificamos la funcion de ExceptionHandler, agregando lo siguiente despues del else

if ((which==SyscallException)&&(type==SC_Write)){
DEBUG('e', "%s WRITTING...", currentThread->getName());
int fd=machine->ReadRegister(6);
ASSERT(true);
int size = machine ->ReadRegister(5);
int vaddr=machine ->ReadRegister(4);
printVirtualCharArray(vaddr,size);
machine->WriteRegister(PCReg,machine->ReadRegister(NextPCReg));
machine->Run();


y comentamos las 2 lineas que estan debajo, agregando // , como se ve en la imagen

5.- Compilación
Guardamos y tecleamos en la terminal :

cd ..

con esto deberan estar en la carpeta code y teclean

make

6.- Correr el programa

tecleamos en la terminal:

cd userprog/


y una vez en la carpeta, tecleamos:


./nachos -x ../test/holamundo

y les aparecera una imagen como la siguiente.
Todos los pasos a seguir vienen de :
Version de Blogger

Tarea 2 nachOS C++

Bien la tarea es instalar nachOS pero para C++ el cambio es porque es mas complicado para todos hacerlo en Java…

Formato de la tarea:

  • Tomar una foto al paso 4, 5 y 6 como las que vienen de ejemplo.
  • Ponerlas en pdf.
  • Enviarlas por correo electronico a: sistemas.operativos.fime@gmail.com
  • Asunto: Tarea 2 – Matricula – Nombre
  • Entregarla antes del Lunes 7 de Mayo ya que el proximo proyecto es para el Miercoles.

Lo primero que tienen que hacer es instalar el compilardo de C, asi que tenemos que abrir una terminal y teclear:

sudo apt-get install build-essential

Pasos de Instalación:

1.-Despues de instalar C++ tecleamos en la terminal 

sudo mkdir nachos

2.-Descargar nachos y descomprimirlo.

Ahora tecleamos:

cd nachos

y despues decargamos el archivo.

sudo wget http://sopa.dis.ulpgc.es/so/practica/nachos/nachos-ulpgc.tgz

para descomprimirlo tecleamos

sudo tar -zxvf nachos-ulpgc.tgz

3.- Descargar el crosscompiler y descromprimirlo. ¿Qué es esto?

tecleamos en la teminal:

sudo su

Y nos pide el password y bla bla bla… despues teclamos:

cd

Ahora si descaramos el archivo

sudo wget http://sopa.dis.ulpgc.es/so/practica/nachos/gcc-mips.tgz

una vez que se descarga lo descomprimos

sudo tar -C / -zxvf  gcc-mips.tgz

4.-Compilación configurar versiones de 64bits

Para este paso abran otra terminal o presionen Ctrl + Shift + T, despues de abrir la terminal teclen:

cd nachos/nachos/code

y una vez en la carpeta teclean:

make

y deberia verse algo paresido como en la siguiente imagen.

Image

5.- Correr nachOS

Despues de para estar seguro de que compile bien y para correr nachos vamos a teclear:

cd threads

Y ahora tecleamos:

./nachos

Bien ahora deberia mostrarnos algo como la siguiente imagen:

Image

6.- Probar el compilardor Cruzado

tecleamos:

cd ..

y ahora tecleamos:

cd userprog

una vez en la carpeta de userprog tecleamos:

./nachos -x ../test/halt

Y deberia de salir algo parecido a la imagen siguiente

Todos los pasos y material vienen de:

http://sopa.dis.ulpgc.es/wiki/index.php/Instalación_de_Nachos