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 프로그래밍

프로젝트 ID: #17999250

프로젝트 소개

1건(제안서) 재택 근무형 프로젝트 서비스 이용 중: 5년 전

이 프로젝트의 입찰 현황은 다음과 같습니다. 입찰자: 1명, 평균 입찰가: $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