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

Ακυρώθηκε Αναρτήθηκε Πριν 5 χρόνια Πληρώθηκε κατά την παράδοση
Ακυρώθηκε Πληρώθηκε κατά την παράδοση

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.

Γλώσσα Προγραμματισμού C

Ταυτότητα Εργασίας: #17999250

Σχετικά με την εργασία

1 πρόταση Απομακρυσμένη εργασία Ενεργό Πριν 5 χρόνια

1 freelancer κάνει προσφορά κατά μέσο όρο $25 για αυτή τη δουλειά

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 σε 1 μέρα
(0 Αξιολογήσεις)
0.0