Desarrollar software

已完成 已发布的 Apr 18, 2015 货到付款
已完成 货到付款

Se deberá desarrollar una aplicación multiproceso. La aplicación constará de un programa

servidor que creará 5 procesos hijo. Estos procesos compartirán una zona de memoria

compartida en la que almacenarán sus PID en orden de creación (una forma cómoda de

hacer esto es que lo haga el proceso padre del resto, es decir, el proceso inicial). Los PID

se utilizarán para el envío de la señal SIGUSR1 entre los procesos con el objetivo de que

los procesos se intercambien el "turno de activación". Sólo uno de los procesos podrá

tener el turno en cada momento. Inicialmente el turno pertenecerá al primer hijo y,

posteriormente, lo pasará a otro proceso hijo. El proceso que reciba el turno deberá

esperar un tiempo aleatorio entre 1 y 10 segundos antes de pasarlo a otro proceso hijo. El

siguiente proceso se elegirá de forma aleatoria. El envío de la señal se protegerá con un

semáforo. Este proceso se repetirá un máximo de 100 veces (el contador también puede

almacenarse en memoria compartida).

Además se creará otro programa que enviará un número entre 1 y 5 (los procesos hijos)

al otro programa. Si se acierta con el hijo que tiene el turno se mostrará “acierto” por

pantalla y nada en caso contrario. Para que no se realice el envío en medio de un cambio

de turno se sincronizará el envío con el semáforo que protege el envío de señales en el

otro proceso. El envío del número y la correspondiente respuesta se realizarán por

cualquiera de los métodos vistos a lo largo de la asignatura.

También será necesario crear una versión multihilo del primer programa. En este caso, el

programa deberá crear hilos de ejecución en lugar de procesos. Este programa también

deberá recibir los números del segundo programa y responder de la misma forma.

C 编程 线性编程 软件构架

项目ID: #7510845

关于项目

1个方案 远程项目 活跃的Apr 25, 2015

授予:

jgrateron

Tengo varios años programando en lenguaje c, usando multiprocesos fork() o pthreads de ejecuciòn, tambien he usado la libreria semaphore.h para la sincronizaciòn de procesos y tambien la libreria pthread.h que tambien 更多

$30 USD 在5天内
(3条评论)
1.8