13.07.2015 Views

Enunciado - Escuela Superior de Informática (UCLM) - Universidad ...

Enunciado - Escuela Superior de Informática (UCLM) - Universidad ...

Enunciado - Escuela Superior de Informática (UCLM) - Universidad ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

PROGRAMACIÓN CONCURRENTE Y TIEMPO REALPRÁCTICA Nº 1GESTIÓN BÁSICA DE PROCESOS(CURSO 2011/2012)ESCUELA SUPERIOR DE INFORMÁTICAUNIVERSIDAD DE CASTILLA-LA MANCHAÍndiceÍndice........................................................................................................................................... 1Objetivos..................................................................................................................................... 2Objetivo general......................................................................................................................................2Objetivos específicos..............................................................................................................................2Especificación............................................................................................................................ 2Sugerencias................................................................................................................................ 3Bibliografía básica...................................................................................................................... 3Plazos <strong>de</strong> entrega.......................................................................................................................3Normas <strong>de</strong> presentación............................................................................................................4Presentación onLine................................................................................................................................4


PCTR - Práctica 1 (11/12)Gestión básica <strong>de</strong> procesosObjetivosObjetivo generalResolver un problema básico <strong>de</strong> gestión <strong>de</strong> procesos que sirva para que el alumnoconozca y maneje las primitivas POSIX para llevar a cabo dicha gestión.Objetivos específicosEl alumno <strong>de</strong>berá adquirir las habilida<strong>de</strong>s necesarias para la creación y espera <strong>de</strong>procesos así como el correcto tratamiento <strong>de</strong> las señales básicas relativas a la finalización <strong>de</strong>la aplicación.Implementar la solución planteada mediante las primitivas POSIX para la gestión <strong>de</strong>procesos, haciendo uso <strong>de</strong> la funcionalidad necesaria para resolver el problema <strong>de</strong>pendiente<strong>de</strong>l dominio planteado.EspecificaciónSuponiendo que la entrada <strong>de</strong>l programa principal es un fichero <strong>de</strong> texto, diseñe eimplemente una solución para llevar a cabo un procesamiento a nivel <strong>de</strong> línea <strong>de</strong> dichofichero. Por cada una <strong>de</strong> las líneas <strong>de</strong>l fichero, el proceso principal ha <strong>de</strong> crear dos procesos,<strong>de</strong> manera que el primero <strong>de</strong> ellos (procesador) muestre por la salida estándar el número <strong>de</strong>palabras <strong>de</strong> la línea y el segundo (contador) indique si hay coinci<strong>de</strong>ncias entre alguna <strong>de</strong> laspalabras <strong>de</strong> la línea y un patrón especificado por el proceso principal. A la hora <strong>de</strong> mostrarinformación por la salida estándar, todo proceso habrá <strong>de</strong> indicar su PID.La sintaxis <strong>de</strong>l programa ha <strong>de</strong> ser la siguiente:./p1 -f ruta_fichero -p patrónUna posible salida sería la siguiente:$ ./exec/p1 -f data/test.txt -p What17016: Patrón 'What' encontrado en línea '5'17015: La línea '4' tiene 5 palabras17019: La línea '6' tiene 15 palabras17014: Patrón 'What' encontrado en línea '4'17013: La línea '3' tiene 8 palabras17017: La línea '5' tiene 3 palabras17021: La línea '7' tiene 10 palabras17010: Patrón 'What' encontrado en línea '2'17011: La línea '2' tiene 6 palabras17009: La línea '1' tiene 4 palabras^CCtrl+c capturada.Finalizando...OK!- Página 2 -


PCTR - Práctica 1 (11/12)Gestión básica <strong>de</strong> procesosImplemente una solución al problema planteado utilizando las primitivas POSIX parala gestión básica <strong>de</strong> procesos. El programa ha <strong>de</strong> ser robusto frente a posibles errores, comopor ejemplo a la hora <strong>de</strong> abrir el archivo o <strong>de</strong> obtener la lista <strong>de</strong> argumentos pasada <strong>de</strong>s<strong>de</strong> lalínea <strong>de</strong> ór<strong>de</strong>nes.SugerenciasApóyese en las funciones estándar <strong>de</strong>l lenguaje C para la manipulación <strong>de</strong> archivos.Estudie la función strtok(), incluida en , para llevar a cabo el procesamiento anivel <strong>de</strong> línea.Bibliografía básica• [KERN91] Kernighan B. W., Ritchie D. M. - El lenguaje <strong>de</strong> programación C - Ed. Prentice Hall 1991.• [ROCK04] Rochkind, M.J. - Advanced Unix Programming (2 nd Edition) - Ed. Addison-Wesley 2004.• [ROBB97] Robbins, K.A., Robbins, S – UNIX Programación Práctica – Ed. Prentice Hall 1997.• [UNIX] Páginas <strong>de</strong>l manual electrónico <strong>de</strong> UNIX.Plazos <strong>de</strong> entregaEsta práctica <strong>de</strong>berá entregarse como máximo el día 7 <strong>de</strong> Marzo. No se tendrán encuenta las prácticas entregadas fuera <strong>de</strong> plazo. No se admitirán prácticas entregadas poremail. La entrega <strong>de</strong> la práctica tendrá que realizarse en formato electrónico.●La entrega será mediante una tarea en el espacio virtual <strong>de</strong> la asignatura en CampusVirtual. Si algún alumno no está registrado en dicha plataforma, <strong>de</strong>berá informar alprofesor <strong>de</strong> prácticas correspondiente para que le añada al curso. El ficherocomprimido subido al sistema <strong>de</strong>berá cumplir la especificación que se indica en lasección Normas <strong>de</strong> Presentación.- Página 3 -


PCTR - Práctica 1 (11/12)Gestión básica <strong>de</strong> procesosNormas <strong>de</strong> presentaciónEl seguimiento <strong>de</strong> las normas <strong>de</strong> presentación <strong>de</strong> la práctica es obligatorio,especialmente la parte relativa a la compilación automática mediante make <strong>de</strong> todos losejecutables necesarios para la resolución <strong>de</strong> la misma. Obviamente, las rutas <strong>de</strong>l ficheromakefile <strong>de</strong>berán ser relativas para permitir su compilación en diferentes computadores sinnecesidad <strong>de</strong> realizar ningún cambio. En este curso únicamente será posible entregar lapráctica mediante Campus Virtual, es <strong>de</strong>cir, no hay que realizar ninguna impresión <strong>de</strong> lamisma.Presentación onLineÚnicamente se subirá un fichero comprimido con tar y gzip cuyo nombre coincidirácon el dni <strong>de</strong>l estudiante (ejemplo: 5987654.tar.gz). Al <strong>de</strong>scomprimir el fichero, se <strong>de</strong>beráobtener la siguiente estructura <strong>de</strong> directorios:/inclu<strong>de</strong> Contendrá los ficheros <strong>de</strong> cabecera .h/src Contendrá los ficheros fuente .c/obj Contendrá los ficheros objeto (se <strong>de</strong>berán crear mediante make)./exec Contendrá los ejectuables (se <strong>de</strong>berán crear mediante make)./data Contendrá los ficheros para ejecutar las pruebas./doc Contendrá un fichero .pdf con la memoria <strong>de</strong> la práctica./ El directorio raiz contendrá únicamente dos ficheros; un archivomakefile que <strong>de</strong>berá permitir compilar todos los programasrelacionados con la práctica mediante la llamada directa a make yun fichero ascii (author.txt) que contendrá nombre y apellidos <strong>de</strong>lautor.La memoria <strong>de</strong> la práctica ha <strong>de</strong> incluir una discusión <strong>de</strong> la solución planteada,haciendo especial hincapié en aquellas partes <strong>de</strong>l código fuente que consi<strong>de</strong>re más relevante.Así mismo, la memoria ha <strong>de</strong> incluir todo el código fuente y una sección en la que seindique brevemente cómo compilar y ejecutar.- Página 4 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!