Sobre este proyecto
it-programming / web-development
Abierto
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.
Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Cambio mediano
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)
Roles necesarios Programador
Plazo de Entrega: No definido
Habilidades necesarias