Sistemas Operativos. Tema 2

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Sistemas Operativos. Tema 2"

Transcripción

1 SOP2.20 Sistemas Operativos Tema 2 Interfaces del sistema Operativo. Llamadas al sistema Para gestión de procesos Relacionadas con señales Para gestión de ficheros Para gestión de directorios Para protección Para gestión de tiempo

2 SOP2.21 Punto 6. Llamadas al sistema (SYSTEM CALLS) Acceso al SOP a través de una interrupción software. ejemplo: open() es una unción de librería de C que genera una interrupción soft. read() en realidad no 'toca' para nada el disco. Consiste en read (... ) { paso de parámetros trap devolución de parámetros } Las funciones del SOP trabajan sobre las dos abstracciones: proceso y fichero Proceso: - Manejo de procesos y memoria - Señales Fichero: - Manipulación de ficheros - Directorios - Protección de ficheros Tiempo

3 SOP2.22 Llamadas al sistema para gestión de procesos: fork, wait, exec, exit, brk, getpid pid = fork () pid del proceso hijo o 0 crea un proceso con copia de la imagen en memoria del padre Genera un proceso hijo que hereda del padre el core image: 1. UID y GID reales y efectivos 2. Descriptores de ficheros. Todos los ficheros que tiene abiertos el padre también los tiene el hijo. 3. Gestión de señales. Igualmente a los descriptores 4. Directorio de trabajo 5. Máscara de protección 6. Contador de programa Diferencias entre hijo y padre: 1. PID. Es un proceso diferente 2. PPID. Tiene un padre distinto 3. Se anulan posibles alarmas pendientes Importante: Las variables son copias, no son compartidas. fork devuelve en pid: 0 en el proceso hijo. -1 caso de no haberse podido crear al hijo. Identificador del hijo en el proceso padre ejemplo: while (TRUE) { // bucle infinito leer_comando(comando,parametros); // lee del terminal if (fork()!= 0) { // crea proceso hijo wait(&status); // código que sigue ejecutando el padre } else { execve(comando,parametros,0) // código que sigue ejecutando el hijo } }

4 SOP2.23 pid del hijo que ejecuta exit El proceso padre espera al hijo la ejecuta el proceso hijo cuando finaliza su ejecución pid = wait ( &status ); exit ( status ); estado del hijo estado de finalización estado de finalización 16 bits Valor de status: -1 => El padre no tiene ningún hijo 0 => El hijo ha terminado normalmente n => Terminación anormal. n => número de señal que ha matado al hijo

5 SOP2.24 Posibilidades: 1º.- Padre ejecuta wait y después el hijo ejecuta exit. Padre => espera a que termine el hijo antes de continuar. Hijo => ejecuta exit. Padre => mata a su hijo. 2º.- Hijo ejecuta exit y después el padre ejecuta wait Hijo => finaliza la ejecución pero no es destruido. En este estado al hijo se le denomina ZOMBIE Padre => ejecuta wait y destruye al hijo. Padre Padre Hijo_1 Hijo_1 Hijo_2 Hijo_3 Hijo_N Figura (a) Figura (b) En fig a si el padre ejecuta wait, no se puede saber a qué hijo está esperando, de forma que esperará a que termine alguno En fig b si el padre ejecuta wait y el Hijo_1 ejecuta exit, el proceso Hijo_N se queda huérfano, con lo que su padre pasaría a ser el proceso INIT. Es importante que un nodo tenga padre, de otra manera, no será destruido. INIT deberá efectuar un bucle infinito con la sentencia wait, para que todos los hijos que tenga y adopte, pueda destruirlos, cuando finalicen su ejecución. Existe, en este punto, una diferencia importante entre UNIX y MINIX: - En fig b, si Hijo_1 ejecuta exit, automáticamente se queda ZOMBIE. - En MINIX, INIT no adopta a Hijo_N hasta que Hijo_1 no es destruido - En UNIX, INIT adopta a Hijo_N cuando Hijo_1 se queda ZOMBIE.

6 SOP2.25

7 SOP2.26 cambia la imagen del proceso que la invoca s = execve ( nombre, argv, envp ); -1 caso de error fichero a ejecutar puntero a vector de variables de entorno puntero a vector de argumentos Todos los atributos permanecen salvo dos: - Tratamiento de la señales capturadas, es decir, si se había ejecutado signal(sig,f) para asociar la ejecución de la función f a la señal sig, ahora tomará la función por defecto SIB_DFL. - Si el fichero ejecutable tiene un bit SETUID activo, el UID efectivo del proceso se asigna al owner UID del fichero. establece nueva dirección de terminación del segmento de datos tam = brk ( dirección ) tamaño del segmento de datos pid = getpid ( ) dirección final del segmento de datos identificador proporciona el identificador de un proceso

8 SOP2.27 Llamadas al sistema relacionadas con señales: signal, kill, alarm, pause - Si un proceso recibe una señal que no estaba esperando, se mata al proceso - Cuando la señal es esperada, se trata en segundo nivel de interrupción - Después de recibir una señal hay que reactivar la captura para que siga siendo efectiva habilita al proceso para el tratamiento de señales funcant = signal ( señal, func ) señal anterior nombre de la señal a capturar tratamiento (SIG_DFL, SIG_IGN,... ) envía una señal a un proceso (SIGKILL no puede capturarse ni ignorarse) s = kill ( pid, señal ) -1 caso de error pid destinatario señal enviada residual = alarm ( segundos ) tiempo restante envía SIGALRM (cancela anterior) suspende al ejecutor hasta la siguiente señal s = pause () -1 caso de error

9 SOP2.28 Llamadas al sistema para gestión de ficheros: read, write, lseek, stat, fstat, dup, pipe, ioctl creat, mknod, open, close, crea un fichero y lo deja abierto para escritura fd = creat ( nombre, modo ) descriptor fichero creado código octal de permisos crea un fichero especial o un directorio (sólo superusuario) fd = mknod ( nombre, modo, direccion ) descriptor fichero especial creado tipo (car. ó bloq.) permisos 0x1111 número secundario número principal abre un fichero fd = open ( nombre, acceso ) descriptor fichero a abrir ( 0 lectura ) ( 1 escritura ) ( 2 lect./escrit. ) cierra un fichero s = close ( fd ) descriptor de fichero

10 SOP2.29 lee de un fichero n = read ( fd, buffer, nbytes ) cantidad leida buffer destino descriptor de fichero cantidad a leer escribe en un fichero n = write ( fd, buffer, nbytes ) cantidad escrita buffer origen descriptor de fichero cantidad a escribir posicionamiento del puntero de un fichero pos = lseek ( fd, posición, referencia ) posición absoluta en el fichero descriptor de fichero posición relativa a la referencia base para posicionar (principio, final, actual)

11 SOP2.30 s = stat ( nombre, &buffer ) obtiene el estado de un fichero Puntero a destino s = fstat ( fd, &buffer ) descriptor del fichero El contenido de buffer es: struct stat { short st_dev; // dispositivo dende reside el nodo-i unsigned short st_ino; // número del nodo-i unsigned short st_mode; // códigos de protección (modo) short st_nlink; // número de enlaces short st_uid; // identificador del propietario short st_gid; // identificador del grupo short st_rdev; // número ppal/sec en ficheros especiales long st_size; // tamaño del fichero long st_atime; // idéntico a st_mtime long st_mtime; // instante de la última modificación long st_ctime; // idéntico a st_mtime }; Estructura de datos utilizada por STAT y FSTAT para devolver información. Existen tres campos relacionados con tiempo por razones de compatibilidad con UNIX.

12 SOP2.31 duplica el descriptor de un fichero fd = dup ( fd1 ) nuevo descriptor del mismo fichero descriptor original del fichero Redireccionar_salida (s) char *s; { int fd; fd = creat (s,0666); close (STD_OUTPUT); dup (fd); close (fd); } Redireccionar_entrada (e) char *e; { int fd; fd = open (e, RD_ONLY); close (STD_INPUT); dup (fd); close (fd); }

13 SOP2.32 crea un pipe s = pipe ( &fd[0] ) fd[0] descriptor para lectura fd[1] descriptor para escritura Ejemplo: Esqueleto de programa para disponer dos procesos en cadena. # define STD_INPUT 0 // descriptor de fichero entrada estandar # define STD_OUTPUT 1 // descriptor de fichero salida estandar cadena(proceso1, proceso2) char *proceso1, *proceso2; { int fd[2]; } pipe(&fd[0]); if (fork()!= 0) { close(fd[0]); close(std_output); dup(fd[1]); close(fd[1]); execl(proceso1,proceso2,0); } else { close(fd[1]); close(std_input); dup(fd[0]); close(fd[0]); execl(proceso2, proceso2,0) } // punteros a nombres de programa // el proceso 1 no ha de leer del tubo // preparación de la nueva salida estandar // salida estandar vinculada a fd[1] // ya no se necesita más el tubo // el proceso 2 no escribe en el tubo // preparación de la nueva entrada estandar // entrada estandar vinculada a fd[0] // ya no se necesita más el tubo

14 SOP2.33 operaciones particulares en ficheros especiales s = iotcl ( fd, petición, &argp ) descriptor de fichero especial función a realizar puntero a registro de bits de estado

15 SOP2.34 Llamadas al sistema para gestión de directorios: link, unlink, mount, umount, sync, chdir, chroot asocia un nodo-i existente a un nuevo nombre s = link ( nombre, enlace ) nombre del fichero nombre del enlace /usr/ast correo juegos prueba /usr/jim bin memo f.c 38 prog1 /usr/ast correo juegos prueba 70 nota /usr/jim bin memo f.c 38 prog1 (a) (a) Dos directorios antes de enlazar /usr/jim/memo al directorio de ast. (b) Los mismos directorios después del enlace anula la asociación de nombre con el nodo-i (b) s = unlink ( nombre ) nombre del fichero que se borra monta un sistema de ficheros en otro s = mount ( especial, nombre, rwindic ) nombre de fichero especial de bloques directorio de montaje

16 SOP2.35 desmonta un sistema de ficheros s = unmount ( especial ) nombre de fichero especial de bloques copia modificaciones de caché a disco (ejecutada por 'update') s = sync () cambia el directorio de trabajo s = chdir ( nombre ) nuevo directorio de trabajo cambia el directorio raiz (sólo superusuario) s = chroot ( nombre ) nuevo directorio raiz

17 SOP2.36 Llamadas al sistema para protección: chmod, getuid, getgid, setuid, setgid, chown, umask, access cambia la protección de un fichero s = chmod ( nombre, modo ) fichero usuario grupo otros obtiene el usuario efectivo s = getuid () obtiene el grupo efectivo s = getgid () asigna valor al uid del proceso llamador (sólo superusuario) s = setuid ( uid ) asigna valor al gid del proceso llamador (sólo superusuario) s = setuid ( uid ) nuevo valor del uid nuevo valor del gid cambia el usuario y grupo de un fichero s = chown ( nombre, propietario, grupo ) fichero nuevo propietario nuevo grupo inhibe permiso (los hijos heredan la máscara) anterior = umask ( máscara ) permisos a inhibir

18 SOP2.37 comprueba si uid real tiene permiso s = access ( nombre, modo ) fichero lectura 2 escritura 1 ejecución 0 comprueba accesibilidad

19 SOP2.38 Llamadas al sistema para gestión de tiempo: time, stime, utime, times obtiene el tiempo desde en seg. segundos = time ( &segundos ) ajusta la hora. (sólo superusuario) s = stime ( tp ) actualiza el valor de st_mtime en el nodo_i de un fichero s = utime ( fichero, instante ) tiempo de procesador consumido por un proceso y por el sistema en su nombre y el total acumulado de los hijos s = times ( buffer )

Introducción y Gestión de Procesos

Introducción y Gestión de Procesos Introducción y Gestión de Procesos Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Llamadas al sistema Concepto Constituye el juego de instrucciones del sistema operativo

Más detalles

Tema 4: Gestión de Procesos

Tema 4: Gestión de Procesos Tema 4: Gestión de Procesos SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La Mancha Marzo

Más detalles

LINUX fork() execv() wait() exit() kill signal pipe creat close open read write fstat Chmod getuid, setuid, getgid setgid

LINUX fork() execv() wait() exit() kill signal pipe creat close open read write fstat Chmod getuid, setuid, getgid setgid LINUX El sistema operativo Linux nace en la Universidad de Helsinki, en Finlandia de las manos de Linux Trovalds que contaba con la ayuda de muchos colaboradores expertos en Unix. Este sistema operativo

Más detalles

Funciones POSIX (I): Introducción

Funciones POSIX (I): Introducción Funciones POSIX I Funciones POSIX I Llamadas al Llamadas al Sistema Sistema Gestión Básica Gestión Básica de Procesos de Procesos Procesos Procesos fork fork Señales Señales getpid getpid Memoria Memoria

Más detalles

Procesos en UNIX. LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale

Procesos en UNIX. LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale Un proceso en Unix es un programa en ejecución que tiene los siguientes atributos: Área de código, Área de datos, Área de stack,

Más detalles

Llamadas al sistema (3), Estructura de SO. Dr. Alonso Ramírez Manzanares 31-Ago-2010

Llamadas al sistema (3), Estructura de SO. Dr. Alonso Ramírez Manzanares 31-Ago-2010 Llamadas al sistema (3), Estructura de SO Dr. Alonso Ramírez Manzanares 31-Ago-2010 Llamadas al SO de administración de directorios. La instrucción mount, por ejemplo para montar una unidad de disco mount(

Más detalles

Redirecciones y Tuberías

Redirecciones y Tuberías Redirecciones y Tuberías Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Redirecciones Redirección de la entrada y la salida estándar Unix/Linux definen

Más detalles

Práctica 1: Intérprete de mandatos. Sistemas Operativos Área de Arquitectura y Tecnología de Computadores

Práctica 1: Intérprete de mandatos. Sistemas Operativos Área de Arquitectura y Tecnología de Computadores Práctica 1: Intérprete de mandatos Introducción Desarrollo de un intérprete de mandatos (minishell) en UNIX/Linux en lenguaje C. Debe permitir: Ejecución de mandatos simples ls, cp, mv, rm, etc. Ejecución

Más detalles

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I.

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I. Sistemas Operativos Clase # 9 Tipos de llamadas al Sistema Viernes, 3 de Mayo de 2002 Agenda Sorpresa! no hay prueba. Tipos de llamadas al sistema. Iván Bernal, Ph.D. Escuela Politécnica Nacional email:

Más detalles

Llamadas al sistema (2) Dr. Alonso Ramírez Manzanares 1-Sep-2009

Llamadas al sistema (2) Dr. Alonso Ramírez Manzanares 1-Sep-2009 Llamadas al sistema (2) Dr. Alonso Ramírez Manzanares 1-Sep-2009 Ejemplo de un shell mínimo Un ejemplo en el comando $cp arch1 arch2 que usa en su interior main(argc, argv,envp) Ejemplo de manejo de procesos

Más detalles

Examen Final de SO Grau

Examen Final de SO Grau Preguntas cortas 1. (0,5 puntos) Asumiendo que ninguna llamada devuelve error, representa las entradas nuevas de la TFA que aparecerán tras la ejecución del siguiente código: fork(); mknod( pipe, S_IFIFO

Más detalles

Introducción y Gestión de Procesos

Introducción y Gestión de Procesos Introducción y Gestión de Procesos Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Llamadas al sistema Concepto Constituye el juego de instrucciones del sistema operativo

Más detalles

Sistemas Operativos sesión 12: tuberías

Sistemas Operativos sesión 12: tuberías Sistemas Operativos sesión : tuberías Grado en Ingeniería Informática Universidad Carlos III de Madrid Agenda Linux Comunicación con tuberías Ejercicios Agenda Linux Comunicación con tuberías Ejercicios

Más detalles

Sistemas Operativos Tema 1

Sistemas Operativos Tema 1 Sistemas Operativos Tema 1 - Definición de sistema operativo - Arquitecturas de los Sistemas Operativos. - Presentación de MINIX - Introducción al IBM PC - Conceptos básicos de Sistemas Operativos - Procesos

Más detalles

Ficheros y Directorios

Ficheros y Directorios Ficheros y Directorios Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Archivos Archivos UNIX Abstracción de datos que representa un espacio de almacenamiento,

Más detalles

Un ejemplo: UNIX PROCESOS UNIX

Un ejemplo: UNIX PROCESOS UNIX PROCESOS UNIX Un ejemplo: UNIX Cada proceso sólo puede tener un flujo: el concepto proceso engloba todo Dos llamadas implicadas en la creación de procesos crear proceso cargar programa La relación de procesos

Más detalles

Llamadas al Sistema. Laboratorio de Arquitectura de Ordenadores

Llamadas al Sistema. Laboratorio de Arquitectura de Ordenadores Llamadas al Sistema Laboratorio de Arquitectura de Ordenadores Índice Introducción Procesos Señales Sistema de ficheros Bibliografía 2 Introducción Llamadas al Sistema: Un API compuesto por una serie de

Más detalles

Boletín 3- Archivos. Departamento de Lenguajes y Sistemas Informáticos

Boletín 3- Archivos. Departamento de Lenguajes y Sistemas Informáticos Boletín 3- Archivos Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción al acceso a Archivos 1. Acceso a archivos en alto nivel 2. Acceso a archivos en bajo nivel 2. El acceso a los

Más detalles

Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos

Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos Boletín 4- Procesos Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción (Procesos) 2. Identificadores de usuarios y procesos 3. La llamada fork() 4. Las llamadas wait() y exit() 5.

Más detalles

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS Caso 1: 1.- Necesitamos un cd o Dvd para grabar alguna de las versiones de livecd de Linux. 2.- Liga de una

Más detalles

Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos

Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos Boletín 4- Procesos Departamento de Lenguajes y Sistemas Indice 1. Introducción n (Procesos) 2. Identificadores de usuarios y procesos 3. La llamada fork() 4. Las llamadas wait() y exit() 5. La llamada

Más detalles

Biblioteca de sistema

Biblioteca de sistema * Para la realización del presente examen se aconseja un tiempo de 2 horas. Teoría 1. Explique en detalle cómo se pasa una llamada al sistema operativo. El sistema operativo se activa cuando debe responder

Más detalles

Usando el Sistema Operativo

Usando el Sistema Operativo Sistemas Operativos Pontificia Universidad Javeriana Enero de 2010 Los sistemas operativos Los sistemas operativos Perspectivas del Computador Concepto general El sistema operativo es parte del software

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas

Más detalles

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo) Procesos y Threads Procesos y Threads Procesos Procesos Threads Threads Concurrencia Concurrencia Ventajas Ventajas Modelos Modelos Información Información adicional () adicional () Preparado Preparado

Más detalles

MC Hilda Castillo Zacatelco PROCESOS

MC Hilda Castillo Zacatelco PROCESOS MC Hilda Castillo Zacatelco hildacz@gmail.com PROCESOS Definición y atributos Un proceso es la instancia de un programa en ejecución. Desde el punto de vista del SO, un proceso es la entidad más pequeña

Más detalles

Prácticas de Sistemas Operativos

Prácticas de Sistemas Operativos Prácticas de Sistemas Operativos Toñi Reina, David Ruiz, Juan Antonio Álvarez, Antonio Tallón, Javier Gutiérrez, Pablo Neira, Paco Silveira, Sergio Segura y José Ángel Bernal Boletín 4: Procesos Curso

Más detalles

Procesos Definición y Estados

Procesos Definición y Estados Procesos Definición y Estados Profesorado de Informática CeRP del Suroeste, Uruguay Contenidos Qué es un proceso Estructuras de datos para gestionar procesos API para trabajar con procesos Hilos (threads).

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema

Más detalles

Sistemas Operativos I Manual de prácticas

Sistemas Operativos I Manual de prácticas Sistemas Operativos I Manual de prácticas Grupo de Sistemas Operativos (DSIC/DISCA) Práctica 3: Procesos POSIX ANTES DE EMPEZAR...... 2 PRÁCTICA 3: PROCESOS POSIX... 2 CREACIÓN DE PROCESOS MEDIANTE FORK...

Más detalles

Sistemas Operativos Grado Ingeniera Informática UDC. Enero 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h

Sistemas Operativos Grado Ingeniera Informática UDC. Enero 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h Sistemas Operativos Grado Ingeniera Informática UDC. Enero 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h Parte Sistema Ficheros (Sen deben contestar correctamente

Más detalles

Procesos y Señales. Laboratorio de Arquitectura de Ordenadores

Procesos y Señales. Laboratorio de Arquitectura de Ordenadores Procesos y Señales Laboratorio de Arquitectura de Ordenadores Índice Introducción Procesos Señales Bibliografía Marzo 2006 Dep.Ing.Telemática (UC3M) 2 Introducción Proceso: unidad mínima expedida por el

Más detalles

Prácticas de Sistemas operativos

Prácticas de Sistemas operativos Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Segunda Semana: Procesos, Procesos Padre y Procesos Hijo, familia exec() 1 Entregas

Más detalles

PRÁCTICAS DE SS.OO. Universidad de Murcia. I.I./I.T.I. Sistemas/I.T.I. Gestión

PRÁCTICAS DE SS.OO. Universidad de Murcia. I.I./I.T.I. Sistemas/I.T.I. Gestión Universidad de Murcia Facultad de Informática Departamento de Ingeniería y Tecnología de Computadores Área de Arquitectura y Tecnología de Computadores PRÁCTICAS DE SS.OO. I.I./I.T.I. Sistemas/I.T.I. Gestión

Más detalles

Segundo control de teoría

Segundo control de teoría JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO 1: Preguntas cortas ( puntos) 1) En un sistema de ficheros basado en inodos a) Explica qué relación hay entre

Más detalles

Taller de Sistemas Operativos. Procesos 2012

Taller de Sistemas Operativos. Procesos 2012 Taller de Sistemas Operativos Procesos 2012 Agenda Introducción PCB (task_struct) Agrupaciones de procesos Estado de un proceso Cambio de proceso (task switch) Creación y destrucción de un proceso Threads

Más detalles

Segundo control de teoría Q1

Segundo control de teoría Q1 Segundo control de teoría --Q JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO : Preguntas cortas ( puntos) ) En un sistema de ficheros basado en inodos a) Explica

Más detalles

PRÁCTICAS SISTEMAS OPERATIVOS 2 Enxeñería Técnica en Informática de Xestión Curso

PRÁCTICAS SISTEMAS OPERATIVOS 2 Enxeñería Técnica en Informática de Xestión Curso PRÁCTICAS SISTEMAS OPERATIVOS 2 Enxeñería Técnica en Informática de Xestión Curso 2011-2012 Se deben desarrollar los siguientes ejecutables, codificados en lenguaje C, haciendo uso de las llamadas al sistema

Más detalles

Sistemas operativos: una visión aplicada. Capítulo 5 Comunicación y sincronización de procesos

Sistemas operativos: una visión aplicada. Capítulo 5 Comunicación y sincronización de procesos Sistemas operativos: una visión aplicada Capítulo 5 Comunicación y sincronización de procesos Sistema multiprogramado con un una CPU Proceso A Proceso B Proceso C Tiempo Sistemas operativos: una visión

Más detalles

1. Sistema Operativo Unix

1. Sistema Operativo Unix 1. Sistema Operativo Unix 1.1 Introducción al S.O. Unix y su entorno 1.2 Subsistema de Archivos 1.3 Subsistema de Procesos 1.4 Políticas de Gestión de Memoria Dpto. Lenguajes y Sistemas Informáticos. Universidad

Más detalles

Prácticas de Sistemas operativos

Prácticas de Sistemas operativos Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Tercera Semana: Comunicación entre procesos con Tuberías 1 Entregas 2 Introducción

Más detalles

Arquitectura de Sistemas

Arquitectura de Sistemas Índice Arquitectura de Sistemas Introducción a los sistemas operativos 1. Abstracciones 2. Llamadas al sistema Gustavo Romero López Actualizado: 11 de mayo de 2018 Arquitectura y Tecnología de Computadores

Más detalles

Introducción a los sistemas operativos

Introducción a los sistemas operativos Introducción a los sistemas operativos Gustavo Romero Arquitectura y Tecnología de Computadores 21 de octubre de 2010 Gustavo Romero Introducción a los sistemas operativos (1/23) Índice Abstracciones Llamadas

Más detalles

Concurrencia en UNIX / LINUX. Introducción: Procesos e Hilos POSIX

Concurrencia en UNIX / LINUX. Introducción: Procesos e Hilos POSIX Concurrencia en UNIX / LINUX Introducción: Procesos e Hilos POSIX El estándar POSIX POSIX: Interfaz de sistemas operativos portables. Basado en UNIX A pesar de que UNIX es ya de por sí estándar, había

Más detalles

Entrada y Salida de Archivos

Entrada y Salida de Archivos Entrada y Salida de Archivos E/S Básica de Archivo El servicio básico es sin buffering, a diferencias de la E/S estándar (stdio.h), dado que las primeras generan llamadas al sistema (read y write). Son

Más detalles

Examen Final de Teoría. Grupo de teoría:

Examen Final de Teoría. Grupo de teoría: Preguntas Cortas (2 puntos) 1. Respecto a la optimización de gestión de memoria CoW, explica brevemente: a. Qué soporte hardware utiliza el sistema para poder implementarla? b. Qué permisos aplica el sistema

Más detalles

Programación de sistemas El sistema de archivo de UNIX

Programación de sistemas El sistema de archivo de UNIX Programación de sistemas El sistema de archivo de UNIX Prof: Sergio Bemposta Dpto: DACA E.Politecnica sergio.bemposta@uem.es Indice Concepto de archivo El i-nodo Tablas de control de archivos Los directorios

Más detalles

Nombre alumno: Ventajas: Inconvenientes:

Nombre alumno: Ventajas: Inconvenientes: Preguntas cortas (justifica todas las respuestas) (2 puntos) 1. Define qué es la buffer cache, qué tipo de información encontramos y cuál es su objetivo 2. Explica qué ventajas e inconvenientes tendría

Más detalles

Ejercicios sobre tuberías

Ejercicios sobre tuberías Boletín 3. Ejercicios sobre tuberías July 14, 016 1. Indica de manera justificada si las siguientes afirmaciones sobre la utilización de tuberías como mecanismo de sincronización entre dos procesos son

Más detalles

Concepto de proceso. (c) 2006 Alexis Quesada / Francisco J. Santana 2

Concepto de proceso. (c) 2006 Alexis Quesada / Francisco J. Santana 2 Tema 3 : procesos Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Francisco J. Santana 1 Concepto de proceso Un programa

Más detalles

Contenidos de la presentación

Contenidos de la presentación ISO Tema 3 Introducción a los Sistemas Operativos, 2016-2017 Pablo González Nalda Depto. de Lenguajes y Sistemas Informáticos 15 de febrero de 2017 Modificado el 12 de marzo de 2018 de la presentación

Más detalles

Introducción a Sistemas Operativos: Ficheros

Introducción a Sistemas Operativos: Ficheros Introducción a Sistemas Operativos: Ficheros Clips Fr ancisco J Ballesteros 1. Entrada/Salida Es importante saber cómo utilizar ficheros. En UNIX, es aún más importante dado que gran parte de los recursos,

Más detalles

Archivos y Directorios

Archivos y Directorios Archivos y Directorios Atributos de un archivo, estructura del sistema de archivos, enlaces simbólicos y operaciones sobre el directorio 1 Funciones: stat, fstat y lstat #include int stat(const

Más detalles

Nombre alumno: Ventajas: La ventaja es que desaparecería la fragmentación interna ya que podríamos ajustar los bloques al tamaño que necesitemos.

Nombre alumno: Ventajas: La ventaja es que desaparecería la fragmentación interna ya que podríamos ajustar los bloques al tamaño que necesitemos. Preguntas cortas (justifica todas las respuestas) (2 puntos) 1. Define qué es la buffer cache, qué tipo de información encontramos y cuál es su objetivo La buffer cache es una cache de bloques de disco.

Más detalles

TEMA 7. Programación en UNIX. Contenido

TEMA 7. Programación en UNIX. Contenido TEMA 7 Contenido Programación en UNIX 7.1. Introducción 7.2. Gestión de Errores 7.3. Gestión de Ficheros Regulares 7.3.1. Apertura de un fichero: open() 7.3.2. Lectura de datos de un fichero: read() 7.3.3.

Más detalles

Apellidos: Nombre: DNI: Parte Sistema Ficheros (Se deben contestar correctamente todas las cuestiones de cada pregunta para puntuar la misma).

Apellidos: Nombre: DNI: Parte Sistema Ficheros (Se deben contestar correctamente todas las cuestiones de cada pregunta para puntuar la misma). Apellidos: Nombre: DNI: Sistemas Operativos Grado Ingeniera Informática UDC. Julio 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h Parte Sistema Ficheros (Se

Más detalles

SOLUCIONES A ALGUNOS DE LOS PROBLEMAS SOBRE SISTEMAS DE FICHEROS

SOLUCIONES A ALGUNOS DE LOS PROBLEMAS SOBRE SISTEMAS DE FICHEROS SOLUCIONES A ALGUNOS DE LOS PROBLEMAS SOBRE SISTEMAS DE FICHEROS 1. Asig. Contigua: 20 + 1 (directorio) Asig. Encaden.: 20 + n (anteriores) + 1 (directorio) Asign. Indexada: 20 + 1 (directorio) + 1 (indice)

Más detalles

MANEJO DEL SISTEMA DE ARCHIVOS

MANEJO DEL SISTEMA DE ARCHIVOS OBJETIVO: INTRODUCCIÓN: Existen varios tipos de archivos: PRACTICA #7 MANEJO DEL SISTEMA DE ARCHIVOS 1.- Archivos ordinarios. Son los más comunes, son los que almacenan datos, es decir, puede ser un programa,

Más detalles

SISTEMAS OPERATIVOS II Tercer curso Ingeniería Informática. Curso

SISTEMAS OPERATIVOS II Tercer curso Ingeniería Informática. Curso SISTEMAS OPERATIVOS II Tercer curso Ingeniería Informática. Curso 2008-2009 Práctica 2: Procesos en UNIX. Ejecución en esgundo plano, credenciales, prioridad, redirección. Continuar la codificación de

Más detalles

Tema 2. Administración de procesos

Tema 2. Administración de procesos Sistemas Operativos Tema 2. Administración de procesos Objetivo: El alumno identificará los tipos de procesos y sus estados. Describirá las diferentes técnicas de comunicación y sincronización de procesos

Más detalles

Apartado Puntuación. No Presentado

Apartado Puntuación. No Presentado Apartado 1 2 3 4 5 6 7 Puntuación No Presentado EXAMEN DE SISTEMAS OPERATIVOS (Grado en Ing. Informática), Julio 2015. APELLIDOS Y NOMBRE:....................................................... Justificar

Más detalles

TEMA 7. Programación en UNIX. Contenido

TEMA 7. Programación en UNIX. Contenido TEMA 7 Contenido Programación en UNIX 7.1. Introducción 7.2. Gestión de Errores 7.3. Gestión de Ficheros Regulares 7.3.1. Apertura de un fichero: open() 7.3.2. Lectura de datos de un fichero: read() 7.3.3.

Más detalles

SISTEMAS OPERATIVOS: INTRODUCCIÓN Y CONCEPTOS BÁSICOS. Servicios del Sistema Operativo

SISTEMAS OPERATIVOS: INTRODUCCIÓN Y CONCEPTOS BÁSICOS. Servicios del Sistema Operativo SISTEMAS OPERATIVOS: INTRODUCCIÓN Y CONCEPTOS BÁSICOS Servicios del Sistema Operativo ADVERTENCIA 2 Este material es un simple guión de la clase: no son los apuntes de la asignatura. El conocimiento exclusivo

Más detalles

Programación de Sistemas. Programación de Sistemas con Ansi C sobre UNIX. Gestión de errores. Gestión de errores. Ficheros regulares

Programación de Sistemas. Programación de Sistemas con Ansi C sobre UNIX. Gestión de errores. Gestión de errores. Ficheros regulares Programación de Sistemas con Ansi C sobre UNIX Pedro Merino Gómez Jesus Martínez Cruz Dpto. Lenguajes y Ciencias de la Computación Universidad de Málaga Programación de Sistemas Llamadas al sistema Gestión

Más detalles

PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS

PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS v1.3.0 Rodrigo García Carmona Antes de empezar la práctica, copia los ficheros que se encuentran en la carpeta SOS-Practica_1-Materiales al directorio

Más detalles

Sistemas Operativos. Curso 2016 Sistema de Archivos

Sistemas Operativos. Curso 2016 Sistema de Archivos Sistemas Operativos Curso 2016 Sistema de Archivos Agenda Interfaz. Archivos. Directorios. Seguridad en archivos. Implementación. Definiciones. Sistema de archivos virtual. Estructura de los directorios.

Más detalles

1 USUARIOS PROCESOS - FICHEROS Usuarios Procesos Ficheros 4 2 ACCIONES Y PERMISOS 10

1 USUARIOS PROCESOS - FICHEROS Usuarios Procesos Ficheros 4 2 ACCIONES Y PERMISOS 10 Permisos en Linux En este documento pretendo describir la funcionalidad del sistema de permisos de Linux, a un nivel básico claro, no queremos enfrentarnos a un sistema tan complejo como PAM de momento.

Más detalles

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria

Más detalles

Segundo control de teoría

Segundo control de teoría JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO 1: Preguntas cortas (2 puntos) 1) Qué es el superbloque de un sistema de ficheros? qué tipo de información podemos

Más detalles

Formatos para prácticas de laboratorio

Formatos para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA IC 2003-1 5314 Sistemas Operativos PRÁCTICA No. 6 LABORATORIO DE NOMBRE DE LA PRÁCTICA Comunicación entre procesos Tuberías DURACIÓN (HORA)

Más detalles

Tema 3: Sistemas de Archivos

Tema 3: Sistemas de Archivos Tema 3: Sistemas de Archivos SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La Mancha Febrero

Más detalles

Tema 3: Ficheros. Enrique Soriano. 3 de marzo de Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC

Tema 3: Ficheros. Enrique Soriano. 3 de marzo de Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC Tema 3: Ficheros Enrique Soriano Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC 3 de marzo de 2010 (cc) 2010 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo

Más detalles

Sistema Operativo Linux

Sistema Operativo Linux Sistema Operativo Linux Contenidos Administración de usuarios Creación, modificación, eliminación Atributos de las contraseñas Administración de permisos en archivos y directorios Mecanismos de autenticación

Más detalles

Sistemas Operativos Práctica 3

Sistemas Operativos Práctica 3 Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que

Más detalles

FACULTAD DE INFORMATICA SISTEMAS OPERATIVOS 3º de Informática.

FACULTAD DE INFORMATICA SISTEMAS OPERATIVOS 3º de Informática. FACULTAD DE INFORMATICA SISTEMAS OPERATIVOS 3º de Informática. PROBLEMAS SOBRE SISTEMAS DE FICHEROS 1. Calcular el número de accesos a disco necesarios para leer 20 bloques lógicos consecutivos (no necesariamente

Más detalles

ATRIBUTOS DE LOS FICHEROS EN LINUX

ATRIBUTOS DE LOS FICHEROS EN LINUX PRÁCTICA 2 ATRIBUTOS DE LOS FICHEROS EN LINUX Objetivos Noción de inodo. Enlaces simbólicos y no simbólicos. Descripción de los atributos de un fichero. Permisos de un fichero. 1. Noción de inodo A cada

Más detalles

Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide:

Sea el siguiente programa de nombre c0p1 para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide: Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): 1 /* c0p1 origen destino 2 * Copia "origen" sobre "destino" byte a byte, 3 * haciendo

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Procesos e Hilos en C

Procesos e Hilos en C Procesos e Hilos en C 6 de febrero de 2012 En esta sesión vamos a escribir programas en lenguaje C que utilicen hilos y procesos para comparar el rendimiento del sistema ante la gestión de unos y otros.

Más detalles

Universidad de Las (C) Palmas ULPGC de Gran Canaria

Universidad de Las (C) Palmas ULPGC de Gran Canaria Llamadas al Sistema s. candela Universidad de Las (C) Palmas ULPGC de Gran Canaria 1 26.1 Introducción La interfase entre los programas de usuario y el sistema operativo se define mediante un conjunto

Más detalles

Cominicación entre Procesos: SEÑALES

Cominicación entre Procesos: SEÑALES Cominicación entre Procesos: SEÑALES LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale Enero marzo 2012 Interrupciones Las interrupciones pueden ser: de hardware: señales electrónicas

Más detalles

Prácticas de Sistemas operativos

Prácticas de Sistemas operativos Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Quinta semana: señales 1 Cronograma semanal 2 Entregas 3 Introducción 4 Envío de

Más detalles

SISTEMA DE FICHEROS EN UNIX

SISTEMA DE FICHEROS EN UNIX SISTEMA DE FICHEROS EN UNIX SISTEMA DE FICHEROS EN UNIX CONTENIDOS: - El subsistema de ficheros en la arquitectura general de Unix. - El buffer caché. - Estructura del buffer caché. - Funcionamiento del

Más detalles

Componentes de un S.O.

Componentes de un S.O. Componentes de un S.O. En Particular Minix está dividido en módulos 1) MicroKernel 2) Tareas E/S 3) Procesos Servidores 4) Procesos de Usuarios Son módulos independientes Para arquitectura FLYNN - SISD

Más detalles

El tiempo de búsqueda es de 3 + 0,04 x ms, siendo x el número de cilindros a recorrer.

El tiempo de búsqueda es de 3 + 0,04 x ms, siendo x el número de cilindros a recorrer. 1 SISTEMA DE FICHEROS Problema 1.1 La cola de acceso a un disco tiene las siguientes peticiones (solamente indicaremos el cilindro afectado). 10, 200, 75, 32, 450, 123. El tiempo de búsqueda es de 3 +

Más detalles

3.4 Administración de archivos en Linux Sistema de Archivos Virtual VFS El sistema de archivos VFS Super Block inodo dentry file

3.4 Administración de archivos en Linux Sistema de Archivos Virtual VFS El sistema de archivos VFS Super Block inodo dentry file 3.4 Administración de archivos en Linux Comenzaremos la explicación del sistema de archivos de Linux, exponiendo la idea de lo que se denomina Sistema de Archivos Virtual o simplemente VFS (Virtual File

Más detalles

Llamadas al sistema de ficheros

Llamadas al sistema de ficheros Universidad Carlos III de Madrid Departamento de Informática Área de Arquitectura y Tecnología de Computadores Grado en Ingeniera Informática SISTEMAS OPERATIVOS Práctica 3. Llamadas al sistema de ficheros

Más detalles

SISTEMAS OPERATIVOS PROCESOS. Pedro de Miguel Anasagast

SISTEMAS OPERATIVOS PROCESOS. Pedro de Miguel Anasagast SISTEMAS OPERATIVOS PROCESOS Pedro de Miguel Anasagast ÍNDICE Conceptos generales de procesos Multitarea Servidores y demonios Servicios UNIX de gestión de procesos Señales y temporizadores Servicios UNIX

Más detalles

Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro

Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro Es una instancia de un programa en ejecución (corriendo). A los procesos frecuentemente se les refiere como tareas. El contexto

Más detalles

Comparación Windows - Linux: El Sistema de Archivos en Linux organiza los ficheros en carpetas con una estructura jerárquica similar a Windows.

Comparación Windows - Linux: El Sistema de Archivos en Linux organiza los ficheros en carpetas con una estructura jerárquica similar a Windows. Comparación Windows - Linux: El Sistema de Archivos en Linux organiza los ficheros en carpetas con una estructura jerárquica similar a Windows. Windows muestra cada partición en una UNIDAD nombrada con

Más detalles

Teoría. Procesos. Escuela Politécnica Superior Universidad Autónoma de Madrid 1

Teoría. Procesos. Escuela Politécnica Superior Universidad Autónoma de Madrid 1 Grupos Realización Entrega/Evaluación Lunes 22 de Febrero, 1, 8, 15 de Marzo 22 de Marzo Martes 23 de Febrero, 2, 9 y 16 de Marzo 23 de Marzo Miércoles 24 de Febrero, 3, 10 y 17 de Marzo 24 de Marzo Viernes

Más detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /

Más detalles

Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid

Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Manejo de Señales Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Señales Concepto Evento que interrumpe la ejecución normal de un proceso La acción por defecto suele

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Clases 04 y 05: Repaso de programación de sistemas basados en UNIX

Clases 04 y 05: Repaso de programación de sistemas basados en UNIX Clases 04 y 05: Repaso de programación de sistemas basados en UNIX Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof.

Más detalles