Sunteți pe pagina 1din 6

LABORATORIO DE AMPLIACIÓN DE SISTEMAS

OPERATIVOS

MINIX 2.0.0 SOBRE VIRTUALBOX


2º ITI Gestión Laboratorio ASO MINIX

18/02/2010 Página 2
2º ITI Gestión Laboratorio ASO MINIX

INTRODUCCIÓN

El objetivo de estas prácticas de laboratorio es que el alumno tenga una visión más detallada del funcionamiento de un
Sistema Operativo real a través de su código fuente. En nuestro caso usaremos el Sistema Operativo MINIX.

Llegar a tener la adecuada comprensión de los conceptos presentados aquí, no sólo implica leer esta guía de las prácticas
de laboratorio, sino también utilizar la bibliografía indicada, así como LEER, ESTUDIAR y COMPRENDER el código fuente de
los módulos que componen las distintas partes MINIX que vamos a ver y modificar.

El código fuente MINIX está profusamente documentado con comentarios que describen las acciones que cada una de las
partes realizan.

Por supuesto, la correcta realización de estas prácticas de laboratorio implica tener un nivel de manejo del lenguaje de
programación C muy elevado.

En cuanto al trabajo en equipo, el diseño de las prácticas está hecho de forma que cada miembro del equipo de tres
personas pueda hacerse responsable de una de las partes que componen un Proyecto de Laboratorio ASO de complejidad
media/alta. Si, tal como se describe en el apartado final de esta guía, se opta por realizar un proyecto de nivel 3 (mínima
dificultad), en él no se pondrán en juego todos los conocimientos de todos los expertos.

18/02/2010 Página 3
2º ITI Gestión Laboratorio ASO MINIX

TAREA 1 – INSTALACIÓN, ADMINISTRACIÓN Y PROGRAMACIÓN

DESCARGA DE FICHEROS

Ir a la página web http://www.infor.uva.es/~cevp/ASO/sesion1.htm y descargar los ficheros:

• Imagen de disco duro minix2.0.0‐corto.vdi


• Imagen de disquete de arranque kernel-basico‐2.0.0.img 

En esta misma dirección puede descargar unas transparencias donde se describe con más detalle el proceso de creación y
configuración de la máquina virtual VirtualBox para realizar estas prácticas.

INICIAR LA MÁQUINA VIRTUAL CON MINIX

• Ejecutar VirtualBox y seleccionar la máquina virtual MINIX que se ha configurado.


• Aparece un menú y queda esperando a que se pulse una tecla.
o ¡Ojo! Por defecto la organización del teclado es el inglés. La tecla “=” es la que corresponde a “¡” en el
teclado castellano.
• Cuando haya arrancado MINIX y pida login usar root.
o Por defecto el usuario root no tiene password. Posteriormente podemos añadir un password a este
usuario.

SALIR DE LA VENTANA DE LA MÁQUINA VIRTUAL

• La ventana de la máquina virtual captura el ratón y el teclado de la máquina huésped donde estamos trabajando.
Si queremos volver a pasar el control a las ventanas de la máquina huésped hay que pulsar la tecla CTRL de la
derecha .

TERMINAR SESIÓN Y APAGAR LA MÁQUINA VIRTUAL MINIX

• Desde la consola de la máquina MINIX y como usuario root ejecutar shutdown para un apagado ordenado del
sistema.
• Cuando haya finalizado, volvemos a estar en el programa monitor, y aparecerá el prompt hd1a (o similar). Ahora ya
podemos cerrar la aplicación VirtualBox usando las opciones de menú adecuadas.
• Si por alguna causa debemos finalizar la ejecución de la máquina virtual MINIX (por ejemplo, el teclado no
responde, o la versión del núcleo que hemos creado es inestable), siempre debería ser posible finalizar la
ejecución de esa máquina virtual usando las opciones de menú del programa VirtualBox, o siendo más radical, con
un comando kill sobre el proceso VirtualBox.
o Todas estas opciones de finalización “a las bravas” probablemente dejarán el sistema de archivos de la
máquina MINIX en un estado inconsistente, lo cual podrá suponer en algunos casos que la imagen del
disco duro que estábamos usando se ha corrompido, y debemos reemplazarla por una correcta, es decir,
volviendo a descargarla del sitio web antes indicado. Esto implica que se HABRÁN PERDIDO TODAS LAS
MODIFICACIONES REALIZADAS.
o Es posible realizar copias de respaldo de la imagen de disco duro (el fichero minix2.0.0-corto.vdi), pero
tenga en cuenta que cada copia puede ocupar más de 30 MBytes. Si hace copias de respaldo, asegúrese
de que las deja en su stick de memoria (pendrive).

CAMBIO DEL SHELL

• Por comodidad se recomienda cambiar el shell (intérprete de comandos).


o Hay varias opciones para hacerlo, una de ellas es modificar el fichero /etc/passwd (ver página del
volumen 5 manual con el comando man 5 passwd ). Para la modificación usar el editor de textos vi.

18/02/2010 Página 4
2º ITI Gestión Laboratorio ASO MINIX

Recomendamos usar el shell ash ya que permite usar “retrieve” e “history”, pero para que funcione tiene que estar
desactivado el teclado numérico.

ADMINISTRACIÓN DE MINIX - CREACIÓN DE UN USUARIO

El objetivo de este ejercicio es el de dar de alta a un nuevo usuario. Los pasos que vamos a seguir son
idénticos a los que habría que realizar en UNIX para dar de alta a un usuario, si no se utilizaran las herramientas de
administración.

• Abrir una sesión MINIX entrando como administradores, es decir, usuario root.
• Vamos a modificar los ficheros /etc/passwd y /etc/group, por lo que lo primero es identificar, usando el comando
man, el significado de cada uno de los campos que componen una línea de estos ficheros. Los distintos campos se
separan mediante el caracter ":".
• Crear un nuevo usuario, añadiendo la línea correspondiente en los ficheros indicados en el punto anterior.
• Crear el directorio HOME de este nuevo usuario.
• Modificar el propietario y el grupo del directorio creado en el punto anterior, asignándosele al nuevo usuario creado
y a su grupo de pertenencia, respectivamente. Usar para esto el comando chown.

Con esto debiera estar activada la nueva cuenta de usuario. Comprobémoslo:

• Desde un nuevo terminal de la máquina MINIX (el cambio de terminal se hace con ALT-F1, ALT-F2….), hacer login.
• En las operaciones realizadas para crear la nueva cuenta de usuario no se le ha asignado clave. Asignársela en la
sesión abierta, y ver como se ha modificado la línea correspondiente al usuario en el fichero /etc/passwd. Cerrar
sesión y volver a entrar para comprobar que la asignación de clave de acceso ha sido efectiva

Vamos ahora a comprobar la función del fichero /etc/shadow:

• Usar el comando man para ver información acerca de ese fichero.


• Crear un nuevo usuario pero ahora usando el fichero /etc/passwd para guardar la clave codificada de este nuevo
usuario. Comprobar, al asignarle clave, como se modifican los ficheros /etc/passwd y /etc/passwd.

CREACIÓN DE PROGRAMAS

• Como es ya costumbre, escribir y compilar el programa HolaMundo en lenguaje C. El compilador de lenguaje C se


invoca con el comando cc.
• Escribir un programa en lenguaje C que cree un proceso hijo mediante la primitiva fork (). Compruebe que
funciona examinando la lista de procesos vivos ejecutando el comando ps desde otro terminal de la máquina
virtual.
o La versión de MINIX que estamos usando NO tiene servicios de red activados.

RECOMPILAR EL KERNEL

• Localizar los ficheros fuentes de MINIX en el directorio /usr/src/


o De ahora en adelante, cuando nos refiramos a cualquier operación relativa a estos ficheros fuente,
sólo indicaremos el subdirectorio o subdirectorios donde se encuentran los ficheros indicados,
suponiendo que nuestro punto de partida es /usr/src.
• Abrir y observar el contenido del fichero kernel/proc.c, prestando atención al código que implementa el
planificador (función pick_proc).
• Buscar en el directorio kernel el fichero que contiene el código de la tarea IDLE.
• La tarea TTY es la encargada de gestionar las operaciones de entrada/salida por consola (teclado y pantalla) y su
código se encuentra en el fichero kernel/tty.c Allí también se encuentran las líneas de código que muestran los

18/02/2010 Página 5
2º ITI Gestión Laboratorio ASO MINIX

primeros mensajes que aparecen en el momento del botado del Sistema Operativo. Modificar el código de este
fichero para que se añada un nuevo mensaje a los que aparecen al botar.
• Vaya al directorio /usr/src/tools
o Modificar adecuadamente el fichero tools/revision para que se le de el sufijo adecuado al nuevo kernel
que se va a instalar.
o Ejecute el comando make hdboot, con lo que se recompilará el nuevo kernel.
• Apagar MINIX con shutdown y cerrar máquina VirtualBox.
• Modificar la configuración de la máquina virtual para que se bote desde disco duro, no desde disquet.
• Arrancar la nueva máquina MINIX.

SELECCIÓN DEL NÚCLEO CON EL QUE QUEREMOS ARRANCAR

• Existen diferentes alternativas para arrancar MINIX. Una de ellas consiste en interactuar con el programa monitor
de la máquina MINIX (el responsable del menú que aparece al principio.... “Press ESC to enter the monitor.”).
• Por defecto, en el programa monitor de arranque que MINIX siempre pulsamos “=”, y la máquina virtual VirtualBox
busca el núcleo del cual botar según el orden especificado en la hoja de propiedades “Sistema” (ver las
transparencias de configuración de MINIX sobre VirtualBox). Desde luego, ésta es la opción más fácil.
• IMPORTANTE: Siempre podremos arrancar con un kernel que funciona, que se encuentra en la imagen de disquete
basico‐2.0.0.img. En caso de que algo vaya mal (el kernel que hayamos modificado no arranque), siempre
podemos seleccionar en la opción Sistema de las propiedades de la máquina virtual el dispositivo del que
queremos arrancar.

18/02/2010 Página 6

S-ar putea să vă placă și