Está en la página 1de 3

Teoría de Sistemas Operativos

ELO321
Primer Semestre 2020

Tarea 2

Comunicación de Procesos e Hilos vía Pipes


Teoría de Sistemas Operativos – ELO321

Departamento de Electrónica
Universidad Técnica Federico Santa María

1
Teoría de Sistemas Operativos
ELO321
Primer Semestre 2020

1. Objetivos

◦ Interiorizar al estudiante con la programación, creación y comunicación de procesos.


◦ Creación, comunicación utilizando pipes.

2. Herramientas a Utilizar

◦ Sistema Operativo Linux.


◦ Compilador gcc y javac.
◦ Lenguaje de Programación C y Java.
◦ Creación de procesos en C e hilos en JAVA , comunicación entre proceso en C y Java.

3. Evaluación

3.1. La tarea debe realizarse en grupos de 2 personas (puede ser individual).


3.2. Se evaluará:
Código Fuente.
Funcionamiento.
Documentación (realizada como comentarios en el código fuente).

4. Creación y Comunicación de Procesos e Hilos

4.1. Se solicita generar un proceso padre, en el lenguaje de programación C, que realice las
siguientes acciones:
◦ Generar un conjunto de números naturales comprendidos entre 2 y N, siendo N
parámetro de entrada al proceso padre, verificar el ingreso del parámetro y si no se
realiza mostrar una ayuda de la operación del programa.

◦ El Proceso padre deberá enviar a un proceso hijo los datos generados anteriormente
utilizando Pipes en C.

◦ Creará un proceso hijo que deberá:


▪ A partir de los datos recibidos vía pipe implementar el algoritmo de “Criba de
Eratóstenes” que permite hallar todos los números primos menores que un
número natural dado N.

▪ La lista de números primos resultante debe enviarse al proceso hijo también


utilizando pipes.

◦ El proceso padre deberá esperara que el proceso hijo termine.

2
Teoría de Sistemas Operativos
ELO321
Primer Semestre 2020

◦ Luego desplegar por consola el conjunto de números obtenidos como primos por
parte del proceso hijo que recibió.

◦ Toda comunicación entre el padre e hijo se debe realizar utilizando Pipes.

◦ Debe tomar las medidas necesarias para no generar procesos huérfanos ni zombis.

4.2. Utilizando Lenguaje de programación Java , generar un clase que realicen las siguientes
acciones:

◦ Creará dos hilos que se comunicarán entre ellos utilizando pipes en Java.
◦ El primer hilo generará un conjunto de números naturales comprendidos entre 2 y N,
siendo N parámetro de entrada de la clase principal, verificar el ingreso del
parámetro y si no se realiza mostrar una ayuda de la operación del programa.
◦ Luego el primer hilo enviará los datos al segundo hilo utilizando Pipes.
◦ El segundo hilo implementará el algoritmo de “Criba de Eratóstenes” que permite
hallar todos los números primos menores que un número natural dado N. La lista de
números primos encontrados los enviará vía pipe al primer hilo.
◦ El primer hilo mostrará por consola los números prime enviados por el segundo hilo.
◦ Se adjunta ejemplo de hilos y pipes en JAVA

5. Entrega y Pruebas de los Códigos

La entrega de los códigos se realizará a través de aula.usm.cl (nombre archivo


APELLIDO1_APELLIDO2.zip) y estos deben estar disponibles en el servidor
aragorn.elo.utfm.cl. Las pruebas para el correcto funcionamiento se realizarán en este mismo
servidor. Pruebe el correcto funcionamiento en el servidor aragorn antes de realizar a entrega.

Fecha de Entrega: 18 de Junio 2020. Se descontará 5 puntos por día de retraso.

También podría gustarte