Sistema de Gerenciamento de Filas na linguagem de programação C

Cancelado Publicado hace 5 años Pagado a la entrega
Cancelado 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.

Programación en C

Nº del proyecto: #17999250

Sobre el proyecto

1 propuesta Proyecto remoto Activo hace 5 años

1 freelancer está ofertando el promedio de $25 para este trabajo

akashsevana

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

$25 USD en 1 día
(0 comentarios)
0.0