Sistema de Gerenciamento de Filas na linguagem de programação C
$10-30 USD
Pagado a la entrega
Numa repartição, os cidadãos são atendidos por ordem de prioridade. Existem 3 prioridades: 0 (a mais alta), 1 (média) e 2 (a mais baixa).
Dentro da prioridade, o atendimento obedece à política FIFO. A princípio, um cidadão na fila de prioridade 1 será atendido apenas quando a fila de prioridade 0 estiver vazia; um cidadão na fila de prioridade 2 será atendido apenas quando as fila de prioridade 1 e 0 estiverem vazias. Dessa forma, cidadãos nas filas 1 e 2 poderiam ficar esperando indefinidamente para serem atendidos, sofrendo, assim, de starvation. Para evitar isso, o sistema de gerência das filas aplica um algoritmo de envelhecimento (aging): a cada 3 cidadãos da fila 0 atendidos em sequência, o cidadão que está a mais tempo na fila 1 passa para a fila 0; a cada 3 cidadãos da fila 1 atendidos em sequência, incluindo aqueles que foram "promovidos", o cidadão que está a mais tempo na fila 2 passa para a fila 1.
Objetivo do trabalho
O objetivo deste trabalho é implementar um programa na linguagem C que faça o gerenciamento das filas conforme descrito acima. As filas deverão ser implementadas na forma de uma multilista conforme a figura em anexo.
Neste exercício, você primeiro precisa criar uma lista vinculada e verificar se está funcionando.
Então você faz um simulador, que é um pthread. Em seguida, você insere elementos e chama o método de suspensão. Então você imprime a lista.
Em seguida, crie a janela pthread com a função remove e insira a função, que deve ter o bloqueio e o desbloqueio.
Finalmente, crie pthread aging, que move os nós nas listas.
Tudo sempre respeitando o que está na descrição do exercício.
Nº del proyecto: #17999250
Sobre el proyecto
1 freelancer está ofertando el promedio de $25 para este trabajo
Hi, I'm an experienced software developer, I have experience in C programming. I can help you with the task, Request you to initiate a chat. Regards, Akash