Documente Academic
Documente Profesional
Documente Cultură
OPERATIVOS
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
DESCARGA DE FICHEROS
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.
• 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 .
• 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).
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.
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.
• 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
CREACIÓN DE PROGRAMAS
RECOMPILAR EL KERNEL
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.
• 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