Free Web Site - Free Web Space and Site Hosting - Web Hosting - Internet Store and Ecommerce Solution Provider - High Speed Internet
Search the Web
Instalación de NACHOS

Pasos para bajar e instalar el NACHOS en LINUX


1) Bajar la distribución de Nachos desde la sección de fotocopias ->Ing. Civil en informática -> Sstemas Operativos en www.apuntesudp.com, y guardarla como en el directorio /usr/local/distNachos.gz. (6.5 MB)

* nota : acceder al directorio /usr/local/ desde el directorio raíz.

2) Descomprimir el archivo /usr/local/distNachos.gz con la aplicación Ark o con otra.Al relaizar esta acción, se creará en el mismo directorio el archivo distNachos.tar, el cual a continuación debe ser descomprimido ( en el mismo directorio ).

3) Se creará el directorio /usr/local/nachos-dist el cual debemos renombrar por /usr/local/nachos.

4) Una vez obtenido el directorio, se debe abrir una sesión en Konsole, para acceder al directorio de Nachos nachos/code/build.linux que contiene los archivos necesarios para la compilación :

Ejemplo

linux:~ # cd ..
linux:/ # ls
.  ..  bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  sbin  srv  tmp  usr  var  windows
linux:/ # cd usr/local/nachos

linux:/usr/local/nachos # cd code/build.linux

5) Para compilar los archivos del sistema hay que ejecutar make depend y luego make, en el directorio code/build.linux

Ejemplo

linux:/usr/local/nachos/code/build.linux # make depend
g++ -g -Wall -Wno-deprecated -fwritable-strings -I../network -I../filesys -I../userprog -I../threads-I
../machine -I../lib -DRDATA -DSIM_FIX -DFILESYS_STUB -Dx86 -DLINUX -DCHANGED -M ../lib/bitmap.cc
../lib/debug.cc ../lib/hash.cc ../lib/libtest.cc ../lib/list.cc ../lib/sysdep.cc../machine/interrupt.cc
../machine/stats.cc ../machine/timer.cc ../machine/console.cc../machine/machine.cc ../machine/mipssim.cc
../machine/translate.cc ../machine/network.cc../machine/disk.cc ../threads/alarm.cc ../threads/kernel.cc
../threads/main.cc ../threads/scheduler.cc../threads/synch.cc ../threads/thread.cc
../userprog/addrspace.cc ../userprog/exception.cc../userprog/synchconsole.cc
../userprog/proctable.cc ../userprog/synchbitmap.cc../userprog/table.cc ../filesys/directory.cc
../filesys/filehdr.cc ../filesys/filesys.cc../filesys/pbitmap.cc ../filesys/openfile.cc
../filesys/synchdisk.cc../network/post.cc > makedeped - Makefile.dep < eddeprm eddep makedep

linux:/usr/local/nachos/code/build.linux # make g++ -g -Wall -Wno-deprecated -fwritable-strings -I../network -I../filesys -I../userprog -I ../threads -I../machine -I../lib -DRDATA -DSIM_FIX -DFILESYS_STUB -Dx86 -DLINUX -DCHANGED -c ../lib/bitmap.cc g++ -g -Wall -Wno-deprecated -fwritable-strings -I../network -I../filesys -I ../userprog-I../threads -I ../machine -I../lib -DRDATA -DSIM_FIX -DFILESYS_STUB -Dx86 -DLINUX -DCHANGED-c ../lib/debug.cc : : g++ -g -Wall -Wno-deprecated -fwritable-strings -I../network -I../filesys -I../userprog-I../threads -I ../machine -I../lib -DRDATA -DSIM_FIX -DFILESYS_STUB -Dx86 -DLINUX -DCHANGED -c../machine/machine.cc g++ -g -Wall -Wno-deprecated -fwritable-strings -I../network -I../filesys -I../userprog -I../threads -I ../machine -I../lib -DRDATA -DSIM_FIX -DFILESYS_STUB -Dx86 -DLINUX -DCHANGED-c ../machine/mipssim.cc ../machine/mipssim.cc: In member function `void Machine::OneInstruction(Instruction*)': ../machine/mipssim.cc:142: warning: array subscript has type `char' ../machine/mipssim.cc:161: warning: array subscript has type `char' ../machine/mipssim.cc:161: warning: array subscript has type `char' : : ../machine/mipssim.cc:678: warning: array subscript has type `char' ../machine/mipssim.cc:682: warning: array subscript has type `char' ../machine/mipssim.cc:682: warning: array subscript has type `char' g++ -g -Wall -Wno-deprecated -fwritable-strings -I../network -I../filesys -I../userprog -I../threads -I ../machine -I../lib -DRDATA -DSIM_FIX -DFILESYS_STUB -Dx86 -DLINUX -DCHANGED -c../machine/translate.cc g++ -g -Wall -Wno-deprecated -fwritable-strings -I../network -I../filesys -I../userprog -I../threads -I ../machine -I../lib -DRDATA -DSIM_FIX -DFILESYS_STUB -Dx86 -DLINUX -DCHANGED -c../machine/network.cc : : g++ -g -Wall -Wno-deprecated -fwritable-strings -I../network -I../filesys -I../userprog -I../threads -I ../machine -I../lib -DRDATA -DSIM_FIX -DFILESYS_STUB -Dx86 -DLINUX -DCHANGED -c../network/post.cc /lib/cpp -P -I../network -I../filesys -I../userprog -I../threads -I../machine -I../lib -Dx86 -DLINUX ../threads/switch.s > swtch.s as -o switch.o swtch.s g++ bitmap.o debug.o libtest.o sysdep.o interrupt.o stats.o timer.o console.o machine.o mipssim.o translate.o network.o disk.o alarm.o kernel.o main.o scheduler.o synch.o thread.o addrspace.o exception.o synchconsole.o proctable.o synchbitmap.o table.o directory.o filehdr.o filesys.o pbitmap.o openfile.o synchdisk.o post.o switch.o -o nachos


Si examinamos el directorio code/build.linux vemos que se generaron los siguientes archivos, donde el más importante en este paso el el archivo ejecutable nachos.

linux:/usr/local/nachos/code/build.linux # ls

.         Makefile.dep  console.o    exception.o  kernel.o   mipssim.o   pbitmap.o    stats.o   synchbitmap.o table.o
..        addrspace.o   debug.o      filehdr.o    libtest.o  nachos      post.o switch.o  synchconsole.o  thread.o
alarm.o   directory.o  filesys.o    machine.o  network.o   proctable.o  swtch.s   synchdisk.o     timer.o
Makefile  bitmap.o      disk.o       interrupt.o  main.o     openfile.o  scheduler.o  synch.o   sysdep.o
translate.o

6) Luego, se debe acceder al directorio code/test para ejecutar el comando make, encargado de compilar los programas de usuario.

linux:/usr/local/nachos/code/test # make
/usr/local/nachos/bin/decstation-ultrix-gcc -G 0 -c -I../userprog -I../lib -I../../dec-include
-I/usr/include -c halt.c/usr/bin/cpp -I../userprog -I../lib -I../../dec-include
-I/usr/include start.s > strt.s/usr/local/nachos/bin/decstation-ultrix-as
-mips2 -o start.o strt.srm strt.s/usr/local/nachos/bin/decstation-ultrix-ld -T script
-N start.o halt.o -o halt.coff../../coff2noff/coff2noff.x86Linux halt.coff halt
numsections 3
Loading 3 sections:
        ".text", filepos 0xd0, mempos 0x0, size 0x1b0
        ".data", filepos 0x280, mempos 0x200, size 0x0
        ".bss", filepos 0x0, mempos 0x200, size 0x0
/usr/local/nachos/bin/decstation-ultrix-gcc -G 0 -c -I../userprog -I../lib -I../../dec-include -I/usr/include -c
shell.c/usr/local/nachos/bin/decstation-ultrix-ld -T script -N start.o shell.o -o
shell.coff../../coff2noff/coff2noff.x86Linux shell.coff shellnumsections 4
:
:
Loading 4 sections:
        ".text", filepos 0xf0, mempos 0x0, size 0x520
        ".rdata", filepos 0x610, mempos 0x580, size 0x70
        ".data", filepos 0x680, mempos 0x600, size 0x10
        ".bss", filepos 0x0, mempos 0x680, size 0x0
/usr/local/nachos/bin/decstation-ultrix-gcc -G 0 -c -I../userprog -I../lib -I../../dec-include -I/usr/include -c
MyTest.c/usr/local/nachos/bin/decstation-ultrix-ld -T script -N start.o io_lib.o
MyTest.o -o MyTest.coff../../coff2noff/coff2noff.x86Linux MyTest.coff MyTestnumsections 4
Loading 4 sections:
        ".text", filepos 0xf0, mempos 0x0, size 0x400
        ".rdata", filepos 0x4f0, mempos 0x400, size 0x20
        ".data", filepos 0x510, mempos 0x480, size 0x0
        ".bss", filepos 0x0, mempos 0x480, size 0x0

7) Como último paso de instalación, se debe crear un link de code/build.linux/nachos en el directorio code/test.

Ejemplo

linux:/usr/local/nachos/code/test # ln -s ../build.linux/nachos nachos
*nota : para ver más de este comando usar comando man ln.

8) Por último, podemos comprobar que la compilación y el enlace se hicieron de manera correcta, ejecutando el programa de usuario halt, que en términos sencillos se encarga deparar el sistema y mostrar una estadística de éste.


linux:/usr/local/nachos/code/test # ./nachos -x halt
Machine halting!

Ticks: total 572, idle 0, system 560, user 12
Disk I/O: reads 0, writes 0
Console I/O: reads 0, writes 0
Paging: faults 0
Network I/O: packets received 0, sent 0

Ir a la página principal