Sobre este projeto
it-programming / web-development
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 (P1P5).
• 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