PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU FACULTAD DE CIENCIAS E INGENIERIA INGENIERIA INFORMATICA INF232 SISTEMAS OPERATIVOS. Laboratorio Preliminar 2

PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU FACULTAD DE CIENCIAS E INGENIERIA INGENIERIA INFORMATICA INF232   SISTEMAS  OPERATIVOS Laboratorio Preliminar 2                 Creando un disquete virtual para  MINIX 3.1.2 (máquina virtual)   a.   En Ubuntu ubíquese en el directorio ~/.VirtualBox/VDI b.   Ahora procederemos a crear un disquete virtual, escriba en la línea de comandos $ dd if=/dev/zero   of=fd0­vminix.img count=2880 c.   Ejecute la aplicación Virtual Box, teniendo marcado en la izquierda:  Minix 3.1.2a­LabMP y en la parte  derecha haga click en la opción Disquet, que se encuentra en la pestaña que está activa por defecto (Detalles).  Aparecerá una ventana como la siguiente: En esta ventana elija Montar disquete y Archivos de Imagen. Para ubicar el archivo creado anteriormente  ayudese del Administrador de discos Virtuales de disquete a montar. d.  Inicie la máquina virtual de Minix. e.  Antes de usar el disquete primero tiene que crearle el sistema de archivo (con el comando mkfs) y luego  montarlo en algún directorio. Importante: Para este y los siguientes laboratorios usted no tiene que volver a crear máquina virtual  alguna ni crear un disco virtual en donde se tenga que instalar Minix. Nosotros le proporcionaremos  una imagen de cada uno. Esta máquina virtual está definida como “inmutable” es decir que mientras la  máquina virtual no se apague, sus datos permanecerán pero si es apagada el estado de la máquina  vuelve a ser como el que estaba en un inicio. Debe distinguir que no se ha dicho reiniciar, usted puede  reiniciar la máquina virtual y no perderá los datos, sólo en caso de que la apague, es que los datos se  perderán.   INF232 –  Lab. S.O. Preliminar 2 1 ENTORNO MINIX 3.1.2 (máquina virtual) Proceso Un proceso es un programa en ejecución. Cada proceso posee un número identificador llamado pid. 1. El comando ps muestra en pantalla el estado de los procesos activos. Inicie una segunda sesión e ingrese  como usuario genérico (login:  alulab  y  password:  alulab) y ejecute el comando  ps  como se muestra  abajo:        $              2. ps –a PID 110 132 135 TTY CO C1 C1 TIME 0:00 0:00 0:00 CMD –sh –sh ps –a     La primera columna indica el identificador del proceso (pid), la segunda columna especifica la terminal  virtual donde se ha ejecutado el comando.    Una lista de comandos puede ejecutarse en una sola línea si se les separa por punto y coma. Por ejemplo  si se desea aclarar pantalla y luego de 2 segundos hacer un listado de los archivos  del directorio de  trabajo, escriba:        $ clr; sleep 2; ls –l o puede agrupar con paréntesis de acuerdo a su conveniencia. Por ejemplo: $ ls ­a|(clr; wc –l)>data;echo archivos en directorio actual >> data;cat data  En algunas ocasiones el comando es muy extenso y se desea escribir en dos líneas. En estos casos se  coloca   el  backslash    (también   conocido   como  slash  invertido)   al   final   de   la   primera   línea     y   a  continuación   se   presiona   la   tecla  enter  luego   se   continua   en   la   segunda   línea.   El   objetivo   del  backslash es que el shell no interprete el enter que hay a continuación. Al inicio de la segunda línea,  después de presionar enter, no aparece el prompt primario ($), sino el prompt secundario (>).   3. Un   proceso   se   encuentra   ejecutándose   en  primer   plano  (foreground)   si   interactúa   con   el   usuario  recibiendo las entradas del teclado y enviando las salidas a la pantalla (mientras no se redirijan). En  cambio un proceso se ejecuta en segundo plano (background) si no hace uso de la consola, dejándola  libre para ejecutar algún otro comando. Lanzar un proceso en  background  es útil cuando éste puede  tomar   mucho   tiempo   en   ejecutarse.   En     símbolo   “&”   al   final   de   un   comando   indica   que   estos   se  ejecutarán en segundo plano.  En este caso ejecutaremos el comando, que a continuación se muestra, en la consola (ALT+F1). La  ejecución se llevará a cabo en background, esto se notará inmediatamente porque el prompt quedará libre  y a continuación  se podrá  ejecutar  el  comando  ps, para  monitorear  la ejecución  en  backgroud. Por  último, puede ver la salida, que a propósito se ha enviado a la segunda terminal virtual, con ALT+F2 . $ (find / ­name ‘*.[ch]’ 2>/dev/null | \  > while read file;do cat $file > /dev/ttyc1 2>/dev/null;done)& $ ps En la consola se mostrará la salida del comando ps, pero si desea ver la salida de los procesos que están  en background ingrese a la segunda terminal (ALT+F2). INF232 –  Lab. S.O. Preliminar 2 2 Manejo del editor de textos vim Lo primero que hay que aprender de vim (muy importante) es que tiene varios modos: • Al ingresar en vim a editar un fichero, estamos en el modo comando o normal, en el que podremos  introducir  ordenes   (o   comandos)  para   realizar   operaciones   (borrar   linea,   deshacer,   etc...).  IMPORTANTE:   En   este   modo   no   podemos   escribir   en   el   archivo.   Las   teclas   que   pulsemos  probablemente   estarán   asociadas   a   una   operación   determinada.   Muchos   de   estos   comandos   (no  todos) comenzarán por dos puntos “:”.  • Para escribir texto en el fichero tendremos que entrar en el  modo inserción o edición, que es tan  fácil como pulsar la tecla insert (o i). Sabrás que has entrado en este modo porque abajo aparecerá el  texto  ­­ INSERTAR ­­. Ahora todo lo que tecleemos se estará escribiendo en el fichero de texto.  Para volver al modo comando sólo hay que pulsar la tecla ESC (Escape).  Operaciones básicas del editor Una   vez   tengamos   nuestro   texto   escrito,   necesitaremos   saber   como   realizar   algunas   operaciones   como  guardar fichero, salir del editor, etc... Como hemos dicho antes, para realizar operaciones que no son de escribir en el fichero, necesitamos entrar en  el modo normal (pulsando ESC si estamos en el modo edición) y a continuación los atajos que queramos: Secuencia Significado ¡Mnemotécnica! :q :q! :wq! Salir del editor sin guardar quit Salir del editor sin guardar ni pedir confirmación quit ya! Salir del editor guardando sin pedir confirmación write & quit ya! :w f2.txt Guardar en un fichero llamado f2.txt y seguir write en f2.txt :e f1.txt Cierra el fichero actual y abre f1.txt edit f1.txt . Operaciones básicas para texto En vim como en cualquier editor, necesitaremos manipular rápidamente texto, y algo que enseguida se echa  en falta en VIM, son las famosas opciones Cortar, Copiar y Pegar. Con los cursores nos desplazamos por el contenido del fichero hasta llegar al inicio de la zona que queremos  copiar. Pulsamos  ESC  (si estamos en el modo edición) y la tecla  V  para entrar en el  modo visual  y nos  desplazamos hacia el final de la zona que queramos copiar. Se verá que se remarca en otro color la zona  seleccionada. Una vez tengamos la zona a copiar seleccionada, sólo tenemos que pulsar C (para cortar) o Y (para copiar).  Nos aparecerá abajo un mensaje X lineas copiadas. Ahora sólo tenemos que desplazarnos a donde queramos pegar ese fragmento y pulsar (como siempre, en el   modo normal, no en el modo edición) la tecla P (pegar). Veamos más operaciones de texto: Secuencia Significado ¡Mnemotécnica! dd u CTRL+R guu delete undo redo lowercase Suprimir línea actual al buffer (p para pegar) Deshacer el último cambio en el fichero Rehacer el último cambio en el fichero Convertir a minusculas la línea actual INF232 –  Lab. S.O. Preliminar 2 3 gUU :num gg G ga Convertir a mayúsculas la línea actual UPPERCASE Posicionarse en la línea num del fichero Posicionarse al principio del fichero Posicionarse al final del fichero Muestra código ASCII, hex y octal del caracter actual . Operaciones de búsqueda y sustitución Otra función que solemos echar de menos enseguida es la de buscar algún texto, reemplazar, etc. En vim no  puede faltar esa opción, con sus respectivas mejoras y añadidos: Para buscar un texto, escribimos  (en modo normal, pulsando antes  ESC  si estamos en modo edición) la  secuencia  /palabra. Veremos que se resalta la palabra encontrada (o nos avisa de que no existe). Entonces  podemos seguir buscando la próxima coincidencia pulsando n o buscarla hacia detrás pulsando N. Para sustituir un texto debemos escribir la secuencia :%s/texto1/texto2/g, donde texto1 es el texto a buscar y  texto2 el texto que será reemplazado. Si incluimos la g final (global), sustituirá todas las coincidencias que  encuentre, sino sólo la primera que encuentre. . Preferencias Hay ciertas opciones que denominamos preferencias porque son detalles que podemos fijar permanentemente  (o no) como por ejemplo que queremos mostrar el numerado de línea (como en los ejemplos de imagen), el  resaltado de sintaxis, etc... Ello lo podemos hacer mediante comandos desde el modo normal o en el fichero ~/.vimrc (sin el símbolo :),  donde se guardan las preferencias del usuario. Comando :set ts=3 :set sw=3 :set number/nonumber :set backup/nobackup :set directory=dir :syntax on/off :set cindent :set mouse=a/mouse= :set paste/nopaste . Significado Fija los tabulados a 3 espacios Fija los indentados a 3 espacios Activa/desactiva el numerado en los archivos Activa/desactiva la copia de seguridad automática Fija la carpeta donde se harán las copias Activa/desactiva el resaltado de sintaxis Activa indentado automático Activa/desactiva el uso del ratón Activa/desactiva el modo pegar texto literalmente Ejecución y comandos externos Es posible que mientras estamos editando un fichero, necesitemos ejecutar un comando (por ejemplo, un ls   para ver los archivos), esto se puede hacer escribiendo en el modo comando :!orden en nuestro ejemplo: :!ls. También se puede hacer una pausa en la edición escribiendo :shell para realizar alguna operación y cuando la  terminemos,   escribir  exit  y   volver   al   editor.   Incluso   los   comandos  :make  y  :cc  se   pueden   utilizar   para  ahorrarnos el estar saliendo del editor para hacer makes o ver el último error que nos mostró. Puede consultar cualquier manual en Internet para mayor detalle. INF232 –  Lab. S.O. Preliminar 2 4 4. En su directorio home cree el directorio disk y monte el sistema de archivos de su disquete virtual sobre  él. 5. Permanezca en el directorio home y haciendo uso del editor pico escriba el programa mostrado abajo y  grábelo con el nombre de crea_dir.c (es importante el .c). Recuerde que existen diferencias en el uso de  mayúsculas y minúsculas.   #include  #include  #include  #include  #include  #include  #define  MAX_PATH  255 #define   MAX_LINECOMM  255 void main(int n,char *arg[])  {     char path[MAX_PATH],comm[MAX_LINECOMM];         if(n d_name);                       stat(buf,&status);        mode_dir = status.st_mode;        switch (mode_dir & S_IFMT) {                   case S_IFREG: printf("regular \t\t %s \n",ptr­>d_name);break;                case S_IFDIR: printf("directory \t\t %s \n",ptr­>d_name);break;                case S_IFCHR: printf("carac. \t\t %s \n",ptr­>d_name);break;                case S_IFBLK: printf("bloque \t\t %s \n",ptr­>d_name);break;                case S_IFIFO: printf("fifo \t\t %s \n",ptr­>d_name);break;        }           }    } /* fin del if */ } /*fin del main */ 10. Compílelo  y ejecútelo  con diferentes rutas como argumento.  11. Guarde la salida a un archivo con nombre salida2 y cópielo al directorio preliminar en su disquete. 12. Desmonte conrrectamente el disquete y apague la máquina virtual. 13. El disquete virtual comprímalo con formato  zip. Esto lo puede hacer desde el  Navegador de archivos,  haciendo  click  derecho   sobre   el   archivo   correspondiente   y   eligiendo   la   opción  Crear   archivador.  Coloque por nombre, su código de alumno, por ejemplo: 20000543.zip y súbalo a intranet en la carpeta  Buzón que se encuentra en la sección de Documentos de INF232­Laboratorio de Sistemas Operativos  Prof. Alejandro Bello INF232 –  Lab. S.O. Preliminar 2 6

3 downloads 96 Views 643KB Size

Story Transcript

PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU FACULTAD DE CIENCIAS E INGENIERIA INGENIERIA INFORMATICA INF232   SISTEMAS  OPERATIVOS Laboratorio Preliminar 2 

      

        Creando un disquete virtual para  MINIX 3.1.2 (máquina virtual)   a.   En Ubuntu ubíquese en el directorio ~/.VirtualBox/VDI b.   Ahora procederemos a crear un disquete virtual, escriba en la línea de comandos $ dd if=/dev/zero   of=fd0­vminix.img count=2880

c.   Ejecute la aplicación Virtual Box, teniendo marcado en la izquierda:  Minix 3.1.2a­LabMP y en la parte  derecha haga click en la opción Disquet, que se encuentra en la pestaña que está activa por defecto (Detalles).  Aparecerá una ventana como la siguiente:

En esta ventana elija Montar disquete y Archivos de Imagen. Para ubicar el archivo creado anteriormente  ayudese del Administrador de discos Virtuales de disquete a montar. d.  Inicie la máquina virtual de Minix. e.  Antes de usar el disquete primero tiene que crearle el sistema de archivo (con el comando mkfs) y luego  montarlo en algún directorio.

Importante: Para este y los siguientes laboratorios usted no tiene que volver a crear máquina virtual 

alguna ni crear un disco virtual en donde se tenga que instalar Minix. Nosotros le proporcionaremos  una imagen de cada uno. Esta máquina virtual está definida como “inmutable” es decir que mientras la  máquina virtual no se apague, sus datos permanecerán pero si es apagada el estado de la máquina  vuelve a ser como el que estaba en un inicio. Debe distinguir que no se ha dicho reiniciar, usted puede  reiniciar la máquina virtual y no perderá los datos, sólo en caso de que la apague, es que los datos se  perderán.  

INF232 –  Lab. S.O.

Preliminar 2

1

ENTORNO MINIX 3.1.2 (máquina virtual) Proceso Un proceso es un programa en ejecución. Cada proceso posee un número identificador llamado pid. 1.

El comando ps muestra en pantalla el estado de los procesos activos. Inicie una segunda sesión e ingrese  como usuario genérico (login:  alulab  y  password:  alulab) y ejecute el comando  ps  como se muestra  abajo:        $             

2.

ps –a PID 110 132 135

TTY CO C1 C1

TIME 0:00 0:00 0:00

CMD –sh –sh ps –a    

La primera columna indica el identificador del proceso (pid), la segunda columna especifica la terminal  virtual donde se ha ejecutado el comando.    Una lista de comandos puede ejecutarse en una sola línea si se les separa por punto y coma. Por ejemplo  si se desea aclarar pantalla y luego de 2 segundos hacer un listado de los archivos  del directorio de  trabajo, escriba:        $ clr; sleep 2; ls –l

o puede agrupar con paréntesis de acuerdo a su conveniencia. Por ejemplo: $ ls ­a|(clr; wc –l)>data;echo archivos en directorio actual >> data;cat data 

En algunas ocasiones el comando es muy extenso y se desea escribir en dos líneas. En estos casos se  coloca   el  backslash    (también   conocido   como  slash  invertido)   al   final   de   la   primera   línea     y   a  continuación   se   presiona   la   tecla  enter  luego   se   continua   en   la   segunda   línea.   El   objetivo   del  backslash es que el shell no interprete el enter que hay a continuación. Al inicio de la segunda línea,  después de presionar enter, no aparece el prompt primario ($), sino el prompt secundario (>).   3.

Un   proceso   se   encuentra   ejecutándose   en  primer   plano  (foreground)   si   interactúa   con   el   usuario  recibiendo las entradas del teclado y enviando las salidas a la pantalla (mientras no se redirijan). En  cambio un proceso se ejecuta en segundo plano (background) si no hace uso de la consola, dejándola  libre para ejecutar algún otro comando. Lanzar un proceso en  background  es útil cuando éste puede  tomar   mucho   tiempo   en   ejecutarse.   En     símbolo   “&”   al   final   de   un   comando   indica   que   estos   se  ejecutarán en segundo plano.  En este caso ejecutaremos el comando, que a continuación se muestra, en la consola (ALT+F1). La  ejecución se llevará a cabo en background, esto se notará inmediatamente porque el prompt quedará libre  y a continuación  se podrá  ejecutar  el  comando  ps, para  monitorear  la ejecución  en  backgroud. Por  último, puede ver la salida, que a propósito se ha enviado a la segunda terminal virtual, con ALT+F2 . $ (find / ­name ‘*.[ch]’ 2>/dev/null | \  > while read file;do cat $file > /dev/ttyc1 2>/dev/null;done)& $ ps

En la consola se mostrará la salida del comando ps, pero si desea ver la salida de los procesos que están  en background ingrese a la segunda terminal (ALT+F2).

INF232 –  Lab. S.O.

Preliminar 2

2

Manejo del editor de textos vim Lo primero que hay que aprender de vim (muy importante) es que tiene varios modos: •

Al ingresar en vim a editar un fichero, estamos en el modo comando o normal, en el que podremos  introducir  ordenes   (o   comandos)  para   realizar   operaciones   (borrar   linea,   deshacer,   etc...).  IMPORTANTE:   En   este   modo   no   podemos   escribir   en   el   archivo.   Las   teclas   que   pulsemos  probablemente   estarán   asociadas   a   una   operación   determinada.   Muchos   de   estos   comandos   (no  todos) comenzarán por dos puntos “:”. 



Para escribir texto en el fichero tendremos que entrar en el  modo inserción o edición, que es tan  fácil como pulsar la tecla insert (o i). Sabrás que has entrado en este modo porque abajo aparecerá el  texto  ­­ INSERTAR ­­. Ahora todo lo que tecleemos se estará escribiendo en el fichero de texto.  Para volver al modo comando sólo hay que pulsar la tecla ESC (Escape). 

Operaciones básicas del editor Una   vez   tengamos   nuestro   texto   escrito,   necesitaremos   saber   como   realizar   algunas   operaciones   como  guardar fichero, salir del editor, etc... Como hemos dicho antes, para realizar operaciones que no son de escribir en el fichero, necesitamos entrar en  el modo normal (pulsando ESC si estamos en el modo edición) y a continuación los atajos que queramos: Secuencia

Significado

¡Mnemotécnica!

:q :q! :wq!

Salir del editor sin guardar quit Salir del editor sin guardar ni pedir confirmación quit ya! Salir del editor guardando sin pedir confirmación write & quit ya!

:w f2.txt

Guardar en un fichero llamado f2.txt y seguir

write en f2.txt

:e f1.txt

Cierra el fichero actual y abre f1.txt

edit f1.txt

.

Operaciones básicas para texto

En vim como en cualquier editor, necesitaremos manipular rápidamente texto, y algo que enseguida se echa  en falta en VIM, son las famosas opciones Cortar, Copiar y Pegar. Con los cursores nos desplazamos por el contenido del fichero hasta llegar al inicio de la zona que queremos  copiar. Pulsamos  ESC  (si estamos en el modo edición) y la tecla  V  para entrar en el  modo visual  y nos  desplazamos hacia el final de la zona que queramos copiar. Se verá que se remarca en otro color la zona  seleccionada. Una vez tengamos la zona a copiar seleccionada, sólo tenemos que pulsar C (para cortar) o Y (para copiar).  Nos aparecerá abajo un mensaje X lineas copiadas. Ahora sólo tenemos que desplazarnos a donde queramos pegar ese fragmento y pulsar (como siempre, en el   modo normal, no en el modo edición) la tecla P (pegar). Veamos más operaciones de texto: Secuencia Significado

¡Mnemotécnica!

dd u CTRL+R guu

delete undo redo lowercase

Suprimir línea actual al buffer (p para pegar) Deshacer el último cambio en el fichero Rehacer el último cambio en el fichero Convertir a minusculas la línea actual

INF232 –  Lab. S.O.

Preliminar 2

3

gUU :num gg G ga

Convertir a mayúsculas la línea actual UPPERCASE Posicionarse en la línea num del fichero Posicionarse al principio del fichero Posicionarse al final del fichero Muestra código ASCII, hex y octal del caracter actual

.

Operaciones de búsqueda y sustitución

Otra función que solemos echar de menos enseguida es la de buscar algún texto, reemplazar, etc. En vim no  puede faltar esa opción, con sus respectivas mejoras y añadidos: Para buscar un texto, escribimos  (en modo normal, pulsando antes  ESC  si estamos en modo edición) la  secuencia  /palabra. Veremos que se resalta la palabra encontrada (o nos avisa de que no existe). Entonces  podemos seguir buscando la próxima coincidencia pulsando n o buscarla hacia detrás pulsando N. Para sustituir un texto debemos escribir la secuencia :%s/texto1/texto2/g, donde texto1 es el texto a buscar y  texto2 el texto que será reemplazado. Si incluimos la g final (global), sustituirá todas las coincidencias que  encuentre, sino sólo la primera que encuentre.

.

Preferencias

Hay ciertas opciones que denominamos preferencias porque son detalles que podemos fijar permanentemente  (o no) como por ejemplo que queremos mostrar el numerado de línea (como en los ejemplos de imagen), el  resaltado de sintaxis, etc... Ello lo podemos hacer mediante comandos desde el modo normal o en el fichero ~/.vimrc (sin el símbolo :),  donde se guardan las preferencias del usuario. Comando :set ts=3 :set sw=3 :set number/nonumber :set backup/nobackup :set directory=dir :syntax on/off :set cindent :set mouse=a/mouse= :set paste/nopaste

.

Significado Fija los tabulados a 3 espacios Fija los indentados a 3 espacios Activa/desactiva el numerado en los archivos Activa/desactiva la copia de seguridad automática Fija la carpeta donde se harán las copias Activa/desactiva el resaltado de sintaxis Activa indentado automático Activa/desactiva el uso del ratón Activa/desactiva el modo pegar texto literalmente

Ejecución y comandos externos

Es posible que mientras estamos editando un fichero, necesitemos ejecutar un comando (por ejemplo, un ls   para ver los archivos), esto se puede hacer escribiendo en el modo comando :!orden en nuestro ejemplo: :!ls. También se puede hacer una pausa en la edición escribiendo :shell para realizar alguna operación y cuando la  terminemos,   escribir  exit  y   volver   al   editor.   Incluso   los   comandos  :make  y  :cc  se   pueden   utilizar   para  ahorrarnos el estar saliendo del editor para hacer makes o ver el último error que nos mostró. Puede consultar cualquier manual en Internet para mayor detalle.

INF232 –  Lab. S.O.

Preliminar 2

4

4.

En su directorio home cree el directorio disk y monte el sistema de archivos de su disquete virtual sobre  él.

5.

Permanezca en el directorio home y haciendo uso del editor pico escriba el programa mostrado abajo y  grábelo con el nombre de crea_dir.c (es importante el .c). Recuerde que existen diferencias en el uso de  mayúsculas y minúsculas.   #include  #include  #include  #include  #include  #include  #define  MAX_PATH  255 #define   MAX_LINECOMM  255 void main(int n,char *arg[])  {     char path[MAX_PATH],comm[MAX_LINECOMM];

    

   if(n d_name);                       stat(buf,&status);        mode_dir = status.st_mode;        switch (mode_dir & S_IFMT) {                   case S_IFREG: printf("regular \t\t %s \n",ptr­>d_name);break;                case S_IFDIR: printf("directory \t\t %s \n",ptr­>d_name);break;                case S_IFCHR: printf("carac. \t\t %s \n",ptr­>d_name);break;                case S_IFBLK: printf("bloque \t\t %s \n",ptr­>d_name);break;                case S_IFIFO: printf("fifo \t\t %s \n",ptr­>d_name);break;        }           }    } /* fin del if */ } /*fin del main */

10. Compílelo  y ejecútelo  con diferentes rutas como argumento.  11. Guarde la salida a un archivo con nombre salida2 y cópielo al directorio preliminar en su disquete. 12. Desmonte conrrectamente el disquete y apague la máquina virtual. 13. El disquete virtual comprímalo con formato  zip. Esto lo puede hacer desde el  Navegador de archivos,  haciendo  click  derecho   sobre   el   archivo   correspondiente   y   eligiendo   la   opción  Crear   archivador.  Coloque por nombre, su código de alumno, por ejemplo: 20000543.zip y súbalo a intranet en la carpeta  Buzón que se encuentra en la sección de Documentos de INF232­Laboratorio de Sistemas Operativos 

Prof. Alejandro Bello

INF232 –  Lab. S.O.

Preliminar 2

6

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.