Em Andamento

MONITORS ( PRODUCER CONSUMER PROBLEM)

**Part One**

The purpose of this assignment is to construct a “monitor “ that will manage a multi-element storage buffer for multiple consumer and producer threads. You must design and build the monitor mechanism to ensure mutual exclusion and to include condition variables. To accomplish this, your monitor should be able to provide the monitor signal() and wait() functions for the application threads. You will need to implement these functions using both your own constructed semaphores and spinlocks, _or_ you can use the semaphore functions provided by your operating system. Your implementation of the monitor and monitor functions should take the general approach, and NOT restrict signal operations to be the last operation of the monitor procedure. You are to construct the monitor to include the APPEND and TAKE functions.

The consumer-producer solution should permit multiple producer threads and multiple consumer threads to execute concurrently. You should include a descriptive document of your solution, a test methodology, and a log demonstrating that the solution works properly.

**Part Two**

The second part of this project is to re-construct the monitor functionality (completed in Part One) using the pthread_mutex_lock and pthread_mutex_unlock, pthread_cond_signal and pthread_cond_wait functions available in the pthread library (obviously those functions and features should not be used in part 1). Show and explain the results of the Part Two implementation. Include a discussion of comparison between the two different methods of implementation and any differences in results or performance.

## Deliverables

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

2) a complete documentation of the project and of course as requested in the project, a discussion of comparison between the two different methods of implementation and any differences in results or performance.

## Platform

UNIX

Habilidades: Programação C, Chrome OS, Engenharia, Linux, Mac OS, Microsoft, MySQL, PHP, Arquitetura de software, Teste de Software, UNIX, Área de trabalho do Windows

Ver mais: implement monitors producer consumer problem, working permit, the assignment problem, solution to assignment problem, solution of assignment problem, semaphore programming, programming methodology, problem solution assignment, problem assignment, problem approach, part problem, operating system programming, no problem part 1, in need of a producer, element 14, Descriptive Programming, c code for assignment problem, assignment problem solution, assignment problem in or, approach problem, application of assignment problem, explain producer consumer problem, need producer, Signal and system, Pthread

Acerca do Empregador:
( 2 comentários ) United States

ID do Projeto: #3010335

Premiar a:

balajigvw

See private message.

$0.12 USD em 5 dias
(3 Avaliações)
1.5

2 freelancers estão ofertando em média $6 para este trabalho

anandrathivw

See private message.

$12.75 USD in 5 dias
(2 Comentários)
0.0