Find Jobs
Hire Freelancers

Desarrollar software

$10-30 USD

Terminado
Publicado hace casi 9 años

$10-30 USD

Pagado a la entrega
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.
ID del proyecto: 7510845

Información sobre el proyecto

1 propuesta
Proyecto remoto
Activo hace 9 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
Adjudicado a:
Avatar del usuario
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 posee mecanismos de sincronizacion (mutex, barries y cond). en el uso de memoria compartida he usado la libreria shmat.h
$30 USD en 5 días
5,0 (3 comentarios)
1,8
1,8

Sobre este cliente

Bandera de COLOMBIA
Bogotá, Colombia
5,0
1
Forma de pago verificada
Miembro desde ene 7, 2014

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.