22
ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19 26 de Septiembre de 2018 PRÁCTICA 1 Toma de contacto con MINIX

PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

Embed Size (px)

Citation preview

Page 1: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

26 de Septiembre de 2018

PRÁCTICA 1

Toma de contacto con MINIX

Page 2: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 1

ÍNDICE

1 OBJETIVOS ................................................................................................................................................... 2

2 BREVE DESCRIPCIÓN DEL EMULADOR QEMU ARRANCANDO MINIX3 ........................................ 2 2.1 Descripción del entorno de prácticas ....................................................................................................... 2 2.2 Arranque de la máquina virtual QEMU con MINIX3 ............................................................................. 3 2.3 Intercambio de archivos con fichero imagen de disquete ...................................................................... 12

3 MODIFICACIÓN DEL CÓDIGO FUENTE DEL NÚCLEO DE MINIX ....................................................14

4 RESUMEN DE CONOCIMIENTOS.............................................................................................................17

5 PARA SABER MÁS ......................................................................................................................................17

6 ANEXOS........................................................................................................................................................18 6.1 Manual del editor “elvis” ...................................................................................................................... 18 6.2 Manual del editor “mined” .................................................................................................................... 19

Page 3: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 2

1 OBJETIVOS

Los principales objetivos de esta práctica son:

• Familiarizarse con el equipamiento de prácticas: 19 PC’s más un servidor

• Familiarizarse con los aspectos básicos del emulador QEMU

• Recompilar MINIX introduciendo un cambio muy simple en el código fuente del núcleo

2 BREVE DESCRIPCIÓN DEL EMULADOR QEMU ARRANCANDO MINIX3

El emulador QEMU permite simular una máquina virtual tipo PC con arquitectura IA32 (x86) y ejecutar código 8086 directamente sobre la CPU del computador. Sobre esta máquina virtual se pueden arrancar diversos sistemas operativos como: Linux, MINIX, Microsoft Windows, etc. En este sentido, es similar a otros entornos como VMware Workstations.

Una forma de arrancar un sistema operativo, sea MINIX, sobre una máquina virtual QEMU es utilizar una imagen de disco –un fichero preparado especialmente como si de un disco de arranque se tratase- de tal forma que si algo va mal, los errores quedan circunscritos al contenido de dicho fichero sin afectar al resto del sistema.

2.1 Descripción del entorno de prácticas

El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20 GHz con cuatro núcleos, 8GB de memoria principal y 122GB de disco duro. Los nombres de estos equipos son lab4401-1 a lab4401-19 y sus direcciones de red van, respectivamente, desde 138.100.155.158 a 138.100.155.176.

Cada grupo de alumnos tendrá un login y una password con la que podrán entrar en cualquiera de los equipos si bien, para un mejor desarrollo de las prácticas, a cada grupo se le asignará un puesto fijo donde realizará todas las prácticas previstas.

Lo primero de todo, preguntar al profesor los datos de su cuenta y anotarlos a continuación:

Nombre de usuario: ________________

Contraseña: ________________

Puesto de prácticas: ________________

Como cada usuario tendrá su directorio personal ($HOME) en la máquina en la que entre, podría guardar ahí toda la información de las prácticas. Sin embargo, estas máquinas se utilizan por otras asignaturas y podrían reinstalarse las imágenes de todo el sistema con lo que se perdería toda la información nueva que se hubiese escrito en el disco. Por lo tanto, NO SE GARANTIZA LA DURABILIDAD DE LA INFORMACIÓN.

Ocasionalmente, si el puesto de prácticas asignado a un grupo fallase y hubiese otro disponible, no habría problema ninguno en que el grupo se mudase de puesto. Sin embargo, al ser PC’s que no tienen un sistema de archivos compartido, no se tendría acceso a la información que hubiese en el PC que estuviese dando problemas.

Page 4: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 3

Si se desea tener garantía de no perder información, se ofrecen dos alternativas:

• Guardarse la información en un pendrive personal u otros servicios de alojamiento personal en la nube

• Guardarse la información en un servidor del departamento de nombre lógico “servidor” y dirección de red 138.100.155.7

En el servidor, como ya veremos, puede entrarse con el mismo login y password que en el resto de PC’s y aquí sí se garantiza la estabilidad de la información.

2.2 Arranque de la máquina virtual QEMU con MINIX3

Encender el puesto de trabajo y seleccionar la opción “Iniciar Debian GNU/Linux 8”. Aparecerá una ventana de captura de datos como la siguiente:

Introducir el login y password anotados anteriormente

Nos aparecerá una ventana como la siguiente:

Page 5: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 4

Ahora vamos a explorar un poco el entorno. Para ello abrir el gestor de archivos haciendo click en el segundo icono de la izquierda que figura en la barra inferior tal y como se muestra en la figura siguiente:

Nos aparecerá una ventana de nuestro directorio de trabajo actual ($HOME) con un aspecto como el de la figura siguiente donde hemos entrado como si fuésemos el usuario sisope04:

Page 6: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 5

Podemos comprobar que nuestro directorio de trabajo personal, en este caso, sería /home/alumnosSisope/sisope04. Moverse al directorio anterior haciendo click en la flecha que nos mueve hacia arriba para comprobar cuántos usuarios hay en el grupo “alumnosSisope”. Nos aparecerá lo siguiente:

Page 7: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 6

Si nos movemos por esta ventana, podremos comprobar que hay 80 usuarios denominados sisope01 a sisope80 más dos usuarios especiales: sisope00 y sisope99.

Hacer click en la carpeta sisope00 y nos aparecerá lo siguiente:

Esta carpeta tiene derechos de lectura para todos los grupos de prácticas y es donde se dejará toda la información que se considere conveniente para el desarrollo de las prácticas. Está el archivo Minix-qemu.img que es una imagen de disco con MINIX para poder arrancar sobre el emulador QEMU, así como el archivo disquete.img que es una imagen de disquete vacío y del que hablaremos más adelante. También hay otras imágenes de disquete que contienen archivos para la realización del resto de prácticas.

Seleccionar el archivo Minix-qemu.img y copiarlo en nuestro escritorio (para ello, al arrastrarlo al escritorio, presionar la tecla de “control” antes de soltar para que se haga una copia y no un enlace al fichero original). Ver ejemplo en la figura de la página siguiente.

Esta misma información, siempre más actualizada, estará en el servidor. Vamos ahora a acceder al servidor y traernos desde dicho servidor el archivo disquete.img. En vez de trabajar con un entorno de ventanas, ahora vamos a movernos desde un terminal en modo línea de comando. De hecho, las prácticas se desarrollarán de este modo.

Page 8: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 7

Arrancar un terminal para trabajar en modo comando, para ello, seguir las indicaciones de la figura siguiente:

Page 9: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 8

Nos aparecerá una ventana para trabajar en modo línea de comando como la siguiente:

Teclear “cd Desktop” para ubicarnos en el directorio donde tenemos la imagen de MINIX. Comprobarlo tecleando “ls”.

Ahora vamos a conectarnos al servidor mediante el servicio “sftp” de transferencia de archivos. Para ello teclear “sftp servidor”. Fijarse en el ejemplo de la figura de la página siguiente.

Si nos apareciese un mensaje del estilo “Are you sure you want to continue connecting (yes/no)?” indicar yes.

Suministrar la misma password que utilizamos en el PC del laboratorio.

Teclear “pwd” para comprobar que estamos en nuestro directorio ($HOME) del servidor.

Movernos al directorio padre tecleando “cd ..”

Movernos al directorio sisope00 tecleando “cd sisope00”.

Listar el contenido del directorio “ls” para ver que tenemos lo mismo que en nuestro PC del laboratorio.

Page 10: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 9

Finalmente, para traernos el archivo disquete.img utilizaremos el comando “get” del servicio sftp. Teclear “get disquete.img”.

Nos salimos del servidor con el comando “exit” y si ahora hacemos un “ls” veremos que ya tenemos el fichero en nuestro PC, además de que lo estamos viendo en nuestro escritorio.

Si quisiésemos llevar información desde nuestro PC del laboratorio al servidor, sería muy parecido a lo que acabamos de hacer pero utilizando el comando “put” en lugar de “get”.

Ahora ya podemos arrancar una máquina virtual QEMU con una imagen de disco con MINIX. Para ello, teclear “qemu –fda disquete.img Minix-qemu.img”. Al principio del arranque, durante unos pocos segundos, tendremos una ventana con un aspecto como el siguiente:

Page 11: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 10

Las opciones que figuran al final nos permiten seleccionar la imagen del núcleo de MINIX que deseamos arrancar. En nuestro caso, en tanto en cuanto no modifiquemos el núcleo, sólo tenemos una imagen, la original, que es la que arrancará sin necesidad de indicar nada. Finalmente, acaba quedando una ventana con el aspecto siguiente:

Entrar como el usuario root. No pedirá palabra clave. Una vez dentro del sistema, podrá comprobarse que estamos en un sistema tipo UNIX

tecleando comandos como: pwd, para ver el directorio en el que se está; ls, para ver el contenido del directorio; who, para saber quién está en el sistema; cd, para moverse por la jerarquía de directorios; ps, para ver qué procesos están ejecutándose, etc.

Page 12: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 11

Ubicados en el directorio de entrada, /root, vamos a crear un fichero de texto que denominaremos nombres y cuyo contenido serán dos líneas, cada una de ellas con el nombre y apellidos de uno de los miembros del grupo (si se trata de una única persona, repetir el nombre en la segunda línea). Para crear el fichero, puede utilizarse un editor tipo “vi” llamado “elvis” [teclear “elvis nombres”] o un editor tipo Windows denominado “mined” [teclear “mined nombres”. Consultar los anexos para ver una breve descripción de ambos editores.

Comprobar que se ha creado el fichero correctamente. Para ello, mostrarlo por pantalla con el comando: cat nombres.

Ahora vamos a salir del sistema y comprobar que no hemos perdido los cambios que hemos realizado. Para ello, teclear el comando halt. Nos aparecerá un “prompt” nuevo indicando “d0p0s0>” que hace referencia al monitor sobre el que se ejecuta MINIX. Teclear el comando off para dar por terminada la sesión QEMU.

Si nos fijamos en el escritorio, seguimos teniendo el fichero Minix-qemu.img que contendrá la imagen de disco original con la que habíamos arrancado, pero modificada por las acciones que acabamos de realizar. En concreto, esta imagen tendrá el fichero nombres que acabamos de crear. Cuando estemos trabajando en las prácticas, si queremos llevarnos el trabajo realizado, debemos copiarnos esta imagen en una memoria USB, ya que cuando nos salgamos del puesto de trabajo esta imagen podría borrarse. Desde luego, otra opción es guardarlo en nuestro directorio del servidor. Si en otra sesión posterior queremos seguir trabajando a partir de donde lo habíamos dejado y se hubiese borrado la imagen, antes de arrancar QEMU, debemos copiar la imagen de la sesión anterior en el escritorio.

Este proceso queda reflejado gráficamente en la figura siguiente:

Page 13: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 12

2.3 Intercambio de archivos con fichero imagen de disquete

Si queremos trabajar en casa con un PC y no tenemos QEMU instalado, la imagen Minix-qemu.img que nos hemos podido traer del laboratorio no nos es de gran utilidad. Para permitir, al menos, poder editar los ficheros sobre los que estemos trabajando, lo ideal es podérselos llevar y traer en un formato compatible con Windows dado que la gran mayoría de los alumnos que tiene ordenador dispone de dicho sistema operativo.

Lamentablemente, la versión de MINIX que utilizamos reconoce la disquetera como medio para el intercambio de archivos con el exterior, pero no el USB. Como hoy en día la mayoría de los portátiles ya no llevan disquetera, vamos a utilizar un fichero configurado como una imagen de disquete vacío. Esta imagen puede manipularse en Windows con una utilidad de drive virtual de disquete como la que puede obtenerse en la página web de la asignatura, aunque, en general, ni siquiera necesitaremos esta utilidad.

El archivo disquete.img es, precisamente, una imagen de disquete vacío que nos permitirá llevarnos ficheros específicos a casa en vez de toda la imagen de disco MINIX.

Para poder manipular esta imagen de disquete desde MINIX, utilizaremos el comando mtools –como veremos más adelante- que permitirá leer ficheros Windows desde el disquete así como grabar ficheros de MINIX al disquete en formato Windows.

Al salir de MINIX-QEMU, como veremos más adelante, podremos montar el fichero disquete.img y copiar los ficheros que queramos en una memoria USB para podérnoslos llevar con nosotros, tal y como se muestra en la figura siguiente:

Posteriormente, podremos traer los ficheros modificados en la memoria USB y transferirlos a la imagen de disquete para tenerlos accesibles cuando arranquemos MINIX-QEMU.

Si nuestro PC tiene Linux, basta con llevarse el fichero con la imagen de disquete “disquete.img” y montarla, para poder editar los ficheros que contenga.

Ahora vamos a probar todo esto que acabamos de contar.

Page 14: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 13

Comprobar que tenemos en el escritorio los ficheros Minix-qemu.img y disquete.img. Abrir un terminal y situarse en el escritorio tecleando: cd Desktop. Arrancar QEMU con el comando:

qemu -fda disquete.img Minix-qemu.img

Entrar al sistema MINIX. El comando mtools permite realizar operaciones sobre un disquete formateado con

DOS o Windows en formato FAT. Para ver los comandos disponibles, teclear: mtools. Para comprobar que el disquete está vacío, teclear: mtools dir a: Para grabar en el disquete el fichero nombres, teclear: mtools copy nombres a: Para comprobar que ahora tenemos el fichero en el disquete, teclear: mtools dir a: Para comprobar que el contenido del fichero grabado en el disquete es el correcto,

teclear: mtools type a:nombres Salir del sistema (halt + off) Ahora, desde Linux, podremos ver el contenido de la imagen de disquete

“disquete.img” montándolo previamente con el comando:

sudo mount disquete.img /mnt -t msdos -o loop,umask=000

Vamos a comprobar que efectivamente tenemos montado el disquete.img en el directorio /mnt. Para ello teclear: “mount”. Este comando muestra todos los dispositivos montados, al final nos debe aparecer el que acabamos de montar.

Desde el terminal podemos situarnos en /mnt y ver que tenemos el fichero nombres con el contenido correcto. También podemos abrir la carpeta /mnt desde el entorno gráfico si nos es más cómodo.

Editar el fichero /mnt/nombres (usando el “vi” o un editor gráfico como “kwrite”) y escribir una tercera línea con el nombre la asignatura.

Igual que modificamos un fichero existente en el disquete.img (nombres), podemos incorporar otro archivo. Teclear “cp /etc/hosts /mnt/hosts”.

Ahora intentaremos ver que accedemos a los cambios realizados en el disquete.img desde MINIX. Para ello, antes de arrancar MINIX debemos desmontar el fichero imagen de disquete tecleando:

sudo umount /mnt

Volver a teclear mount para comprobar que tenemos el dispositivo desmontado.

Arrancar MINIX y comprobar (comando mtools) que tenemos accesibles los cambios hechos en LINUX en el entorno MINIX sobre QEMU.

El fichero disquete.img o cualquiera de los ficheros que contenga el mismo, podremos copiárnoslo a una memoria USB si queremos llevárnoslo a nuestro PC de casa.

Page 15: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 14

Para desmontar una memoria USB, acceder al “Gestor de archivos” y marcar el indicador de expulsión que aparece a la derecha del nombre del dispositivo tal y como se muestra a continuación:

Si nos llevamos el fichero disquete.img y lo modificamos, recordar que luego podremos incorporarlo a nuestro entorno MINIX con el comando: mtools copy a:nombres nombres

3 MODIFICACIÓN DEL CÓDIGO FUENTE DEL NÚCLEO DE MINIX

Lo primero que necesitamos para recompilar MINIX son los ficheros fuente del sistema. Dichos ficheros fuente se encuentran bajo el directorio /usr/src. En particular, los ficheros correspondientes al núcleo (kernel), se encuentran en el directorio /usr/src/kernel.

El cambio que queremos introducir en el proceso de recompilación es añadir un mensaje que aparecerá en el arranque del sistema MINIX. El mensaje incluirá el nombre de los alumnos en mayúsculas para que sea fácil de identificar en el arranque. El mensaje a escribir será: “KERNEL DE NMAT1-NOMBRE1, NMAT2-NOMBRE2”.

Para realizar esta parte de la práctica, hacer lo siguiente:

Arrancar QEMU con la imagen MINIX, da igual que sea la original o la modificada en la parte anterior. Fijarse bien en algún mensaje que se muestre antes de pedir al

Page 16: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 15

usuario su “login” de entrada al sistema, ya que este mensaje puede servir para localizar el punto del código donde hay que escribir el nuevo mensaje.

Entrar al sistema como “root” y situarse en el directorio que contiene el código fuente del kernel “/usr/src/kernel”.

Ejecutar el comando “ls” para ver el contenido del directorio y anotar las extensiones de todos los ficheros que se vean y explicar qué tipo de ficheros son (basta con indicar los que se reconozcan).

Editar el fichero main.c para incluir el nuevo mensaje. La sentencia que se utiliza para mostrar los mensajes del kernel es kprintf.

Indicar en qué función se ha localizado la sentencia kprintf que escribe el mensaje identificado en el arranque y que nos ha servido de guía:

Escribir a continuación la sentencia incluida en el código para mostrar el nuevo mensaje que debe aparecer durante el arranque del sistema:

Una vez modificado el fichero fuente, tenemos que dar la orden de compilación. Para ello, situarse en el directorio /usr/src/tools. En este directorio existe un fichero llamado Makefile que contiene las reglas para compilar, construir nuevas imágenes del sistema, etc. Gracias al contenido de este fichero, no hay que preocuparse de qué ficheros hay que recompilar y en qué orden, ni de dónde deben quedar los ficheros generados, ya que toda esta información está previamente especificada en forma de reglas. Teclear: make install [Nota: La primera vez tarda bastante]

Indicar qué saludo (prompt) muestra MINIX tras la recompilación:

Si la compilación ha ido bien, el prompt del sistema será “#”, en caso contrario será “*”.

Page 17: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 16

Las imágenes del núcleo, tanto la original como la que acabamos de generar, se guardan en el directorio /boot/image. Listar “ls -l /boot/image” el contenido de dicho directorio para comprobar que tenemos dos imágenes. Recordar que cuando arrancamos MINIX, la opción 1 del menú de arranque coge la imagen original y la opción 3 la última imagen generada.

Si la recompilación ha ido bien, salir del sistema y reiniciar con la nueva imagen tecleando los comandos:

o halt // Para detener el sistema MINIX o main // Para arrancar el sistema MINIX desde el monitor

En principio no hace falta teclear ninguna opción en el menú de arranque ya que por defecto se toma la opción 3 que es la que arranca la imagen recién modificada, pero es mejor indicar la opción deseada. Si todo se ha hecho bien, deberá verse el mensaje introducido antes de la petición de login. En caso contrario, arrancar con la imagen original –opción 1 del menú de arranque del monitor- y repetir todo el proceso.

Page 18: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 17

4 RESUMEN DE CONOCIMIENTOS

Cuestiones relativas a QEMU

• Para arrancar una sesión QEMU: qemu -fda disquete.img Minix-qemu.img.

• En el menú de arranque: la opción 1 carga la imagen original y la opción 3 carga la última imagen generada.

• Comandos útiles del monitor de máquina virtual (prompt “d0p0s0>”): o main // Para arrancar MINIX o off // Para terminar la sesión QEMU

• Si nos desaparece el cursor, probar a teclear <Ctrl><Alt>

Algunos comandos básicos de MINIX

• cat Muestra el contenido de un fichero

• cd Cambio de directorio

• elvis Editor tipo vi para realizar cambios en los ficheros fuente

• halt Para detener el sistema MINIX

• ls Listado de ficheros existentes en un directorio

• make Para construir una imagen nueva del sistema según las reglas de un fichero Makefile

• mined Editor tipo Windows para realizar cambios en los ficheros fuente

• ps Para ver qué procesos están ejecutándose

• pwd Directorio actual

• sftp Servicio de transferencia de archivos

• who Para saber quién está en el sistema

Algunas opciones del comando mtools para trabajar con el disquete

• mtools // Comandos mtools disponibles

• mtools dir a: // Contenido del disquete

• mtools type a:<fichero> // Muestra contenido fichero de disquete

• mtools copy <fichero> a: // Copiar de MINIX a disquete

• mtools copy a:<fichero> <fichero> // Copiar de disquete a MINIX

5 PARA SABER MÁS

• http://www.minix3.org/ Página oficial de MINIX 3

• http://wiki.qemu.org/Index.html Página oficial de QEMU

• Página oficial de la asignatura para instalar QEMU y MINIX 3 sobre Windows

Page 19: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 18

6 ANEXOS

6.1 Manual del editor “elvis”

Para crear un archivo nuevo (sea nombres) con elvis teclear: elvis nombres Posteriormente podremos modificarle abriéndole de la misma forma: elvis nombres Algunos comandos útiles: i Pasar a modo inserción o Pasa a modo inserción abriendo una línea nueva debajo de la actual a Pasa a modo inserción añadiendo a la derecha de la letra actual <Esc> Salir del modo inserción k Mover cursor hacia arriba j Mover cursor hacia abajo l Mover cursor hacia la derecha h Mover cursor hacia la izquierda r Reemplaza un caracter R Reemplaza caracteres hasta pulsar <Esc> d< > Borra un caracter. < > significa espacio dw Borra una palabra dd Borra una línea 3dd Borra tres líneas . Repite la acción anterior u Deshace la acción anterior /cadena Buscar la cadena de caracteres indicada n Repetir la búsqueda anterior Y Copia una línea al buffer 3Y Copia tres líneas al buffer p Pega el contenido del buffer :numero Situarse en la línea indicada por numero :q! Salir sin salvar :w Guardar los cambios realizados hasta el momento ZZ Salir salvando

Page 20: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 19

6.2 Manual del editor “mined”

Command: mined - MINIX editor Syntax: mined [file] Flags: (none) Examples: mined /user/ast/book.3 # Edit an existing file mined # Call editor to create a new file ls -l | mined # Use mined as a pager to inspect listing Mined is a simple screen editor. At any instant, a window of 24 lines is visible on the screen. The current position in the file is shown by the cursor. Ordinary characters typed in are inserted at the cursor. Control characters and keys on the numeric keypad (at the right-hand side of the keyboard) are used to move the cursor and perform other functions. Commands exist to move forward and backward a word, and delete words either in front of the cursor or behind it. A word in this context is a sequence of characters delimited on both ends by white space (space, tab, line feed, start of file, or end of file). The commands for deleting characters and words also work on line feeds, making it possible to join two consecutive lines by deleting the line feed between them. The editor maintains one save buffer (not displayed). Commands are present to move text from the file to the buffer, from the buffer to the file, and to write the buffer onto a new file. If the edited text cannot be written out due to a full disk, it may still be possible to copy the whole text to the save buffer and then write it to a different file on a different disk with CTRL-Q. It may also be possible to escape from the editor with CTRL-S and remove some files. Some of the commands prompt for arguments (file names, search patterns, etc.). All commands that might result in loss of the file being edited prompt to ask for confirmation. A key (command or ordinary character) can be repeated n times by typing ESC n key where ESC is the 'escape' key. Forward and backward searching requires a regular expression as the search pattern. Regular expressions follow the same rules as in the UNIX editor, ed. These rules can be stated as: Any displayable character matches itself. . (period) matches any character except line feed. ^ (circumflex) matches the start of the line. $ (dollar sign) matches the end of the line. \c matches the character c (including period, circumflex, etc). [string] matches any of the characters in the string. [^string] matches any of the characters except those in the string.

Page 21: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 20

[x-y] matches any characters between x and y (e.g., [a-z]). Pattern* matches any number of occurrences of pattern. Some examples of regular expressions are: The boy matches the string 'The boy' ^$ matches any empty line. ^.$ matches any line containing exactly 1 character ^A.*\.$ matches any line starting with an A, ending with a period. ^[A-Z]*$ matches any line containing only capital letters (or empty). [A-Z0-9] matches any line containing either a capital letter or a digit. .*X$ matches any line ending in 'X' A.*B matches any line containing an 'A' and then a 'B' Control characters cannot be entered into a file simply by typing them because all of them are editor commands. To enter a control character, depress the ALT key, and then while holding it down, hit the ESC key. Release both ALT and ESC and type the control character. Control characters are displayed in reverse video. The mined commands are as follows. CURSOR MOTION arrows Move the cursor in the indicated direction CTRL-A Move cursor to start of current line CTRL-Z Move cursor to end of current line CTRL-^ Move cursor to top of screen CTRL-_ Move cursor to end of screen CTRL-F Move cursor forward to start of next word CTRL-B Move cursor backward to start of previous word SCREEN MOTION Home key Move to first character of the file End key Move to last character of the file PgUp key Scroll window up 23 lines (closer to start of the file) PgDn key Scroll window down 23 lines (closer to end of the file) CTRL-U Scroll window up 1 line CTRL-D Scroll window down 1 line MODIFYING TEXT Del key Delete the character under the cursor Backspace Delete the character to left of the cursor CTRL-N Delete the next word CTRL-P Delete the previous word CTRL-T Delete tail of line (all characters from cursor to end of line) CTRL-O Open up the line (insert line feed and back up) CTRL-G Get and insert a file at the cursor position

Page 22: PRÁCTICA 1 - etsisi.upm.es · 2.2 Arranque de la máquina virtual QEMU con MINIX3 ... El laboratorio de prácticas cuenta con 19 equipos con procesador Intel Core i5-4460 a 3,20

ETSISI-UPM Sistemas Operativos [SW y SI] Curso 18/19

Página - 21

BUFFER OPERATIONS CTRL-@ Set mark at current position for use with CTRL-C and CTRL-K CTRL-C Copy the text between the mark and the cursor into the buffer CTRL-K Delete text between mark and cursor; also copy it to the buffer CTRL-Y Yank contents of the buffer out and insert it at the cursor CTRL-Q Write the contents of the buffer onto a file MISCELLANEOUS numeric + Search forward (prompts for regular expression) numeric - Search backward (prompts for regular expression) numeric 5 Display the file status CTRL-] Go to specific line CTRL-R Global replace pattern with string (from cursor to end) CTRL-L Line replace pattern with string CTRL-W Write the edited file back to the disk CTRL-X Exit the editor CTRL-S Fork off a shell (use CTRL-D to get back to the editor) CTRL-\ Abort whatever the editor was doing and wait for command CTRL-E Erase screen and redraw it CTRL-V Visit (edit) a new file Author Mined was designed by Andy Tanenbaum and written by Michiel Huisjes.