Aguardando garantia

Desenvolva um software sendo possível inserir 5 processos com o tempo que será utilizado em um recurso x. Um semáforo deve ser implementado para a utilização desse recurso, utilizando as funções up and down para organização.

Publicado em 13 de Maio de 2019 dias na TI e Programação

Sobre este projeto

Aberto

Desenvolva um software sendo possível inserir 5 processos com o tempo que será utilizado em um recurso x. Um semáforo deve ser implementado para a utilização desse recurso, utilizando as funções up and down para organização.
Deve haver:
• Um loop infinito ou threads;
• Impressão ou demonstração em tempo real de qual processo
que está utilizando o recurso e quais estão tentando utilizar.


• Impressão dos processos adormecidos;

1o Passo
• Crie a estrutura/classe para armazenar os processos
• Preencha os dados de 5 processos
• Crie um loop infinito
• Dentro do loop imprima uma única vez os dados de cada processo
• Finalize o loop

2o Passo
• Dentro do loop imprima uma 4 vezes os dados de cada processo
• Finalize o loop

3o Passo
• Criar 2 funções/métodos para o Down e Up
• Colocar um print dentro do Down
• Passar o índice por parâmetro para o Down realizar um print
• Dentro do Down checar se o processo que esta solicitando não esta em execução.
• Executar o loop até que os todos os processos tenham solicitado o recurso.

4o Passo
• Dentro de Down inserir uma condição para checar se o semáforo é zero ou um.
• Criar um(a) método/função para imprimir os processos e seus dados.

5 o Passo
• Dentro de Down inserir uma condição para checar se o semáforo é zero ou um – tratar quando 1 – Alocar o recurso.

5o Passo
• Criar uma variável para armazenar o índice do processo em execução
• Inserir no(a) método/função a impressão do processo em execução.

6o Passo
• Dentro do loop inserir um decremento no tempo restante de processamento do processo em execução (Utilizar a variável criada no passo anterior).
• Quando o valor for = 0, executar up.
• Inserir dentro do método up um print qualquer.



7o Passo
• Dentro de UP trocar o status do processo recebido por parâmetro para finalizado.
• Incrementar a variável semáforo.
• Dentro de Down inserir uma tratativa para impedir que processos finalizados solicitem recurso novamente.



8o Passo
• Tratar no loop a variável de processo de execução quando não há processo em execução.
• Implementar o controle de j (P1P5).
• Implementar uma função para checar a quantidade total
de tempo restante (Acumulador).


• Quando acumulador ==0  fim loop.
• Dentro de down tratar .tempo=0
• Dentro de up desalocar o recurso e limpar p_exec.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias