Find Jobs
Hire Freelancers

Semaphores

$10-30 USD

En curso
Publicado hace más de 7 años

$10-30 USD

Pagado a la entrega
CSCE 5640, Fall 2016 Project #1 Due: 11-9-2016 For this project you may be working in groups of two. Each member of your group must sign up on the corresponding project sheet in order to receive a grade. Your task is to implement a semaphore-based solution to the problem stated below. Consider a system with N blocks of storage, each of which holds one unit of information (e.g. an integer, character, or employee record). Initially, these blocks are empty and are linked onto a list called freelist. Three threads communicate using shared memory in the following manner: Shared Variables: freelist, list-1, list-2: block (where block is some data type to hold items) Thread-1 var b: pointer to type block; while (1) { b:= unlink(freelist); produce_information_in_block(b); link(b, list1); } Thread-2 var x,y: pointer to type block; while (1) { x:=unlink(list-1); y:=unlink(freelist); use_block_x_to_produce info_in_y(x, y); link(x, freelist); link(y, list-2); } Thread-3 var c: pointer to type block; while(1) { c:=unlink(list-2); consume_information_in_block(c); link(c, freelist); } Using the POSIX library, rewrite the code for the threads, using semaphores to implement the necessary mutual exclusion and synchronization. The solution must be deadlock-free and concurrency should not be unnecessarily restricted.
ID del proyecto: 12010191

Información sobre el proyecto

Proyecto remoto
Activo hace 7 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

Sobre este cliente

Bandera de UNITED STATES
hyderabad, United States
5,0
15
Forma de pago verificada
Miembro desde dic 8, 2015

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.