martes, 30 de octubre de 2007

Práctica 1 - SO II

La práctica 0 de Minix era una cosa muy sencilla así que no hace falta que la explique.

Me parece injusto no explicar la práctica 0, por lo que la pongo en un post nuevo.

Empezamos entonces con la práctica 1, hace unos días hemos recibido una clase magistrar de Luis Cearra sobre como comunicar el MINIX 3.0 con el sistema operativo (en mi caso Windows XP).

Antes de nada voy a dar unos pasos de como deber hacerse en Windows XP pero seguro que en Linux es igual, aunque no lo he probado por falta de tiempo.

1.- El emulador de Minix qemu vieno por defect sin una unidad virtual A:\, por lo que arrancamos el emulador.

qemu.jpg

2.- Entramos en el asistente (pulsando en el boton que está rodeado con un círculo):

asistente.jpg

3.- Pulsamos en la opción de disco de floppy

asistente2.jpg

4.- Indicamos que queremos crear una imagen nueva.

asistente3.jpg

Nos inventamos un nombre en el cuadro de dialogo y pulsamos FINALIZAR.

Ahora ya tenemos en la carpeta de qemu el nuevo fichero POR EJEMPLO "UNIDADA.IMG", este fichero será la unidad A virtual que utilizará qemu.

5.- Vamos a las opciones del qemu y le indicamos ...

boton_opciones.jpg

Pinchamos en la pestaña CONFIGURACION DE DISCO y seleccionamos como disco floppy A (fda) el fichero que hemos creado antes.

opciones.jpg

6.- Nos descargamos de la web de la asignatura los ficheros .c que nos han entregado.

prueba-1.c
prueba-2.c
prueba-3.c

Una vez hecho esto podemos utilizar el programa POR EJEMPLO winimage que nos ayuda a abrir un fichero de extension .img y añadir ficheros en el.

El programa winimage lo podeis conseguir aquí.

winimage.jpg

Abrimos el fichero .img que hemos creado y que SEGURO QUE HAS COLOCADO EN LA CARPETA \MEDIA DE QEMU para que todo vaya bien. Una vez abierto el winimage, arrastras los 3 ficheros al interior del programa y guardas los resultados, ahora ya tienes dentro del fichero "UNIDADA.IMG" los tres ficheros y que MINIX 3.O podrá leer.

winimage2.jpg

Cierras la imagen, la guardas y ya todo listo para arrancar MINIX 3.O

7.- Arrancar minix 3.0

minix.jpg

Entra con la opción 3 para tener tambien modificado el kernel ya que HAS REALIZADO LA PRACTICA 0 SEGURO QUE CORRECTAMENTE.

8.- Ver el contenido de la unidad fda (fichero "UNIDADA.IMG")

Escribe en el prompt:

dosdir fd0

NO DEBERÁ APARECER NADA. como en la imagen.

minix2.jpg

Para escribir... (tener el cuenta que el programa doswrite utiliza la entrada estandar):

date | doswrite fd0 fichero.txt

Esto escribirá en el fichero.txt por la entrada estandar en el dispositivo fd0.

Aquí se muestran más comandos.

minix3.jpg

Recuerda que doswrite no puede MACHACAR FICHEROS por lo que cada vez que crees uno debes cambiarle de nombre, en la imagen se ve lo que ocurre cuando se intenta escribir en un fichero existente.

Ahora vemos el contenidos de los ficheros .c:

minix4.jpg

Una vez que hemos teminado ya sabes:

#halt ---> para la maquina.
(una vez el prompt del monitor pulsar) off ---> Esto apaga la máquina.

Ahora ya puedes abrir SI QUIERES el fichero .img con winimage otra vez para comprobar los cambios.

winimage3.jpg

Ahora solo nos queda una cosa. Pasar los ficheros que están en la imagen .img a sistema de ficheros de minix para poder trabajar con ellos.

Salu de ael.

9 comentarios:

  1. Está chulísimo, hasta yo que no tengo ni idea de unix he podido hacerme la disquetera en el USB, lo único malo es que me queda un mes de prueba con el winimage, pero eso ya lo solucionaré yo, GRACIAS

    ResponderEliminar
  2. [...] de la Práctica 0 y mi pequeño miniFAQ [31/10/2007]. Enunciado de la Práctica 1 y mi pequeño miniFAQ [...]

    ResponderEliminar
  3. No sé qué haríamos sin ti. A mi me estás salvando de todas todas, porque no puedo asistir a las prácticas de forma presencial por residir fuera de Madrid y he de realizar estas prácticas en mi casa y sin ayuda de tutor.
    Con respecto a la práctica1, decirte que he seguido todos tus pasos, pero al intentar ejecutar el dosdir fd0 me da un error: "cannot open fd0: I/0 error". ¿sabes por qué me está dando ese fallo? es que me estoy volviendo loco y no doy con el problema, y mira que he repetido todas tus instrucciones al pie de la letra, pero nada.
    A ver si me puedes echar un cable.
    Un millón de gracias de antemano.

    ResponderEliminar
  4. Ese error a mi me da si no has montado la imagen. Es decir:

    En Windows XP (mi caso) tienes que decirle al qemumanager que existe una imagen (en mi caso, floppy.img, esta imagen la he creado como he descrito antes con el winimage) seleccionar esa imagen como disco floppy fda. Si has leido este post es la sexta imagen la que hace lo que te cuento aquí. Hecho esto se arranca minix y automaticamente minix monta la imagen como dispositivo fda. Para acceder a él: DOSDIR FD0. Aunque parezca una tontería FD0 termina con un "cero" NO con una letra "o".

    En unix hay que decirle al qemu bajo unix que queremos montar una imagen, en la línea de comandos debemos escribir:

    qemu -fda /dev/fd0 imagen.img

    Donde imagen.img es una fichero que contiene la estructura de un diskette y dentro están los 3 prueba-?.c.

    Yo no veo que exista otro error, mi opinión es:

    1.- No le has indicado a qemumanager que existe una imagen a montar en /dev/fd0
    2.- Escribes mal DOSDIR fd0 terminando con una letra o en vez de un cero. (aunque parezca absurdo ocurre).
    3.- Has guardado la imagen en la carpeta IMAGES del qemumanager y NO en donde debe estar que es en la carpeta MEDIA.
    4.- No se me ocurren más cosas.


    PRONTO PONDRE EL SIGUIENTE MANUAL YA QUE TODAVÍA LO ESTOY TERMINANDO. LOGICAMENTE NO PONDRÉ LAS SOLUCIONES Y NO ES PORQUE NO QUIERA COMPARTIRLAS, SINO PORQUE ALGÚN SER MALIGNO LO INTERPRETARÍA COMO QUE ESTAMOS COPIANDO Y PRODRÍA SUCEDER QUE TODO SE FUERA AL GARETE. INDICARÉ COMO SE HACEN PERO CADA UNO DEBE SACAR SUS CONCLUSIONES.

    ResponderEliminar
  5. [...] primero que vamos a hacer es crearnos una imagen nueva e introducir en ella los 3 ficheros (1, 2 y 3) que se nos proporcionan en la práctica. Para poder [...]

    ResponderEliminar
  6. Sé que es una cosa tonta pero... no encuentro la forma de ejecutar el vi desde minix 3 (en mi casa, no en el cdc). Acaso no viene incluido con la imagen? Así como que sin eso no puedo hacer ná de ná :-(

    ResponderEliminar
  7. En Minix 3 no existe vi pero si un editor similar que se llama "elvis", si eres forofa de vi no tendrás problemas con elvis pero si no te "apañas" con el vi lo mejor es que utilices el "mined" que es un editor muy majo.

    Su síntaxis es:

    mined fichero

    Y una vez dentro es como si estuvieras con el notepad de windows. Para salir CTRL+X y te pregunta si quieres salir o no. Ten cuidado si están puestas las mayúsculas no te dejará salir ya que el no entiende la Y o la N pero si las letras en minúsculas.

    Para Grabar sin salir CTRL+W.
    Para Copiar:
    Sitíuate en donde empieza el texto a copiar y pulse CTRL+2 (te debe aparecer al final un texto que diga MARK SET), ahora baja hasta donde esté el final del texto a copiar y pulsa CTRL+C, ahora ya tienes un buffer el lo que has copiado, si quieres pegarlo en algún sitio CTRL+Y y siquieres borrarlo, es decir como si seleccionaras un texto y lo borraras, tienes que pulsar CTRL+V (de esta no estoy muy seguro).

    Para más ayuda escribe en la línea de comandos

    man elvis

    Salu2.

    ResponderEliminar
  8. Solo puedo decirte que mil gracias. Eres de gran ayuda ;)

    ResponderEliminar
  9. De nada, me complate ver que mi esfuerzo sirve para algo. Salu2

    ResponderEliminar