miércoles, 31 de octubre de 2007

Práctica 0 - SO II

Nunca me he planteado hacer un manual de como se deben hacer las cosas, ya que eso da a entender que soy un experto en dichas materias, pero ni mucho menos, se que tengo un interés muy grandes y mucha paciencia por eso me dedico a hacer estas miniFAQ's con un único fin, darme cuenta de si mis conocimientos están verdaderamente asentados.

Empezamos el desarrollo de la práctica 0...

Abrimos el qemu:

qemu1.jpg

Iniciamos (pulsando play) el s.o. MINIX 3.0:

minix42.jpg

Como contraseña escribirmos "root" (sin las comillas) y si no queremos hacer nada más escribirmos:

#cd /usr/src/kernel

Podemos hacer

#ls -l

para ver el contenido, localizamos el fichero main.c, que es donde se encuentra el "main" del kernel.

minix51.jpg

Ahora accedemos al fichero main.c con el editor "elvis", para quien no esté familiarizado con main puede utilizar otros. El editor "elvis" es similiar al "vi" así que para cualquier duda podemos acudir a la página del profesor Luis Cearra y visitando su página obtenemos más información sobre el editor "vi" y los comándos que son válidos para "elvis".

Una vez que entramos en el fichero main.c buscamos la función:

PRIVATE void announce (void) { ... }

en donde debemos añadir nuestro código.

minix6.jpg

Yo por ejemplo he decidido hacerlo en el hueco que veis en la imagen.

Salimos del editor pulsando :wq.

EXPLICACION: Si pulsamos : accedemos al modo comando de "elvis" y con wq lo que hacemos es salvar y salir, es decir "write and quit".

Ahora si seguimos leyendo el enuncido de la práctica nos dice que accedamos al directorio

#/usr/src/tools

que es en donde se encuentran la utildades para compilar y dejar la nueva imagen lista para funcionar.

Escribimos:

#make install

con esto lo que hacemos es compilar el código fuente e instalar la nueva imagen que se instalará en el directorio /boot/image

En el directorio /boot encontraremos las imágenes del s.o.

Compilamos escribiendo lo anterior #make install

minix7.jpg

Una vez que hemos terminado veremos el mensaje DONE al finalizar ahora solo debemos escribir los siguientes comandos:

#halt <--- para salir de MINIX 3.0

Una vez en el monitor escribimos:

menu <--- arrancamos MINIX 3.0 de nuevo

Una vez en el menu de arranque pulsamos el número 3 para arrancar la imagen PERSONALIZADA. Tambien podríamos haber puesto reboot pero eso va a gusto de cada uno, ahora veremos que nuestro mensaje se ha puesto en el arranque.

minix8.jpg

Como vemos yo no soy perfecto y he cometido un error me he olvidad de poner "\n" al final de la setencia kprintf para provocar un salto de linea.

Esto es todo hasta la próxima.

Salu2

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.

viernes, 19 de octubre de 2007

Find the "Quick Launch" - A la caza de la Barrra de Inicio Rápido

Como siempre pasa con windows algo ha fallado y mi barra de incio rápido ha desaparecido, pues aquí os pongo la solución.

Mi primer problema era localiza DONDE estaba la barra y la respuesta es:

C:\Documents and Settings\Propietario\Datos de programa\Microsoft\Internet Explorer\Quick Launch

En mi caso no existía la carpeta INTERNET EXPLORER, por lo que opté por la solución más fácil CREARLA, como no existía INTERNET EXPLORER tampoco QUICK LAUNCH, por lo que había que crearla y nos encontramos con la carpeta vacía.

Lo más importante de esta carpeta es poner el icono de MOSTRAR EL ESCRITORIO, y se consigue de la siguiente forma:

INCIIO > EJECUTAR > regsvr32 /n /i:U shell32

Con esta instrucción se restaura el icono de mostrar escritorio.

No he probado si haciéndo este tercer ultimo paso se crea automaticamente la carpeta INTERNET EXPLORER y QUICK LAUNCH.

Otro de los problemas que tenía era que a la hora de pulsar el botón derecho sobre la barra de tareas e intentar mostrar la QUICK LAUNCH me daba un error y lo solucioné con toda esta parrafada.

Espero que esto sirva para algo o para alguien.

Salu2