Gerente de execução postergada de processos
Trabalho Prático de Sistemas Operacionais 02/2003 Prof. Alba Título: Gerente de execução postergada de processos Especificação: O presente trabalho consiste da implementação de um gerente de execução postergada de processos. O mecanismo a ser implementado possui função similar ao comando at existente no Unix. Vamos ter no mínimo 2 processos: processo de p escalonamento de ex OF3 processos. 1) Processo de escal shell. .1) Sintaxe: executa_postergado xecução de Será executado via parâmetro obrigatório, a ser fornecido no formato hh:mm. Especifica o delay de execução em relação à hora corrente. arâmetro obrigatório, a ser fornecido como um inteiro n. Especifica o número de vezes que o comando será executado. : nome do arquivo executável a ser executado postergado 1. 2) Comportamento: Se não houver parâmetro inválido, é atribuído um número de 18:00 2) executa_postergado 1 1 teste Admitindo que são 1 5:00, executa o programa teste às 16:30 2) Processo de execução de processos: Roda em background. . 1) Sintaxe: Não possui 2. 2) Comportamento: É acordado cada vez que for necessário executar um processo escalonado para execução postergada. Verifica a estrutura de dados compartilhada à procura do processo a executar.
Se o número de vezes for 1, retira o processo da estrutura. Senão, decrementa o numero de vezes de 1. Recupera o nome do arquivo executável e cria um processo para executá-lo. 2. 3) Exemplo: 1) Às 16:00 temos a seguinte configuração na estrutura de dados: ob arq_exec ddmm vezes incr 5 ello_world 16:00 3 7 teste 1 6:30 O processo de execução de processos executa o processo hello_world e atualiza a estrutura compartilhada: job arq_exec 5 helio world 17:00 2 O processo de execução de processos volta para dormir até as 16:30 ou até que chegue um processo que deve ser executado antes.
Processos Adicionais: processo escalonado para execução postergada: executado wa Shell com a seguinte sintaxe: remove_postergado . Faz a retirada do job identificado por id_job da estrutura de dados de processos postergados. ) Processo que lista a estrutura que contem os processos postergados: lista_postergados. Lista todos os jobs escalonados para execução postergada no formato apresentado no exemplo de processo de execução de processos. ) Shutdown_postergado: Este processo é utilizado para desativar o servidor de execução postergada. Se houver processos anda não executados, o processo avisa ao usuário que os mesmos não serão executados e imprime uma estatistica de cada processo que foi efetivamente executado no período de tividade do servidor, contendo nome do processo, tempo de submissão, tempo de inicio de execução, tempo de término de execuçao.
Os fontes de todos os processos que compõem este gerente devem ser entregues, bem como uma especificação detalhada da implementação: estruturas de dados e mecanismos de comunicação interprocessos utilizados. IMPORTANTE: A estrutura de dados que representa os processos escalonados para execução postergada não pode ser escrita em arquivo. Devem ser utilizados os mecanismos IPC Unix. BOA SORTE 3