Вы находитесь на странице: 1из 3

Projeto Prtico ED1 Ciclo de Vida de um Processo Instrues: - o projeto deve ser realizado por dois alunos; - o projeto

o ser apresentado no dia 01/10; - Tem o valor de 2,0 pontos na mdia final; - Dever ser entregue at o dia 01/10 at s 15h via AVA Este dever ser utilizado no dia para apresentao; Descrio: O escalonamento de processos , sem dvida alguma, uma das tarefas mais importantes desempenhadas por qualquer sistema operacional de computadores (tempo compartilhado). A poltica e o algoritmo empregados nas tarefas do escalonador (qual processo ser executado) e dispatcher (fatias de tempo no processador) definem a qualidade e aplicabilidade em funo do cenrio computacional de cada tipo de SO. Quando um ou mais processos esto prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado primeiro. A parte do sistema operacional responsvel por essa deciso chamada escalonador e o algoritmo usado para tal chamado de algoritmo de escalonamento. Mas o que um processo? Processo um programa em execuo e representado por um registro, denominado tabela de processo ou PCB, composto por um nmero identificador do processo e o tempo que ele despende para ser executado. Vale lembrar que um processo fica em execuo durante a sua fatia tempo de processador, que igual para todos os processos. Por exemplo, cada processo poder utilizar a CPU por no mximo 10 unidades de tempo por vez. Resumindo, o escalonador de processos escolhe um processo que est apto a executar e o deixa rodar pelo tempo de fatia. De acordo com a figura abaixo, existem trs estados possveis para um processo: pronto, execuo e espera. Para representar esses estados so utilizadas vrias FILAS de controle, onde cada uma tem a sua finalidade especfica.

Fila de Prontos: programas prontos para serem executados, apenas aguardando a sua vez. Deve ser definida a poltica de escolha do processo: tipo FIFO circular com prioridade e contm os PCBs dos processos prontos. Fila de Espera: programas que iniciaram a execuo, mas no terminaram ficando bloqueados por um tempo (sugesto: sortear a possibilidade de bloqueio (se ele estiver executando vai para espera) e desbloqueio de processo (ao ser desbloqueado o programa dever ir para a fila de Pronto). Aqui a fila do tipo FIFO e contm os PCB dos processos bloqueados; Vale ressaltar que pode haver vrios tipos de filas, pois cada dispositivo/recurso uma fila (fila para HD, fila para teclado, fila para mouse, etc.). O sistema deve prever a existncia de vrios recursos que sero solicitados pelos processos em execuo e que feita a requisio no estaro mais livres para uso. Eles s podero ser reutilizados por outros processos aps a liberao deste. A liberao do recurso requisitado acontece dinamicamente (a deciso sua defina uma politica de requisio/liberao de recursos); Execuo: possui apenas o programa que est sendo executado, completada a execuo do programa este finalizado, caso contrrio, ele dever ir para a fila de Espera, pois necessita de recursos que no esto disponveis (sugesto: sortear a necessidade de recurso, caso precise e se o recurso no estiver disponvel, o processo ficar bloqueado indo para a fila de Espera). Se o tempo necessrio para finalizar o processo for maior que o tempo de CPU este dever voltar para a fila de Pronto e aguardar uma nova execuo. Independente da situao dever ser selecionado um novo processo que esteja pronto para ser executado. Quando o processo sair para Bloqueado ou voltar para Pronto, o mesmo deve ser executado apenas durante o tempo restante (tempo total do processo o tempo de CPU j executado). Portanto, escreva um programa que seja capaz de executar a simulao e que permita: Incluir novos processos na Fila de Prontos (automaticamente ou pelo usurio); Retirar um processo da Fila de Prontos e colocar para Execuo; Retirar um processo da Execuo e colocar em Espera (ver politica de requisio/liberao de recursos); Retirar um processo da Espera e colocar em Pronto; Apresentar a quantidade de processos que foram executados por completo, ou seja, finalizados; Mostrar a quantidade de processos que foram bloqueados e qual o tempo mdio de bloqueio envolvendo todos os bloqueados;

Relatar a quantidade de processos que ficaram entre os estados de Execuo e Pronto, ou seja, quando o tempo de execuo dele foi maior que o tempo de CPU e no esteve em estado de bloqueado. Listar o tempo total de execuo de cada processo. Vale lembrar que temos que contar o tempo de espera tambm. Quando finalizar o processo de simulao, os elementos que se encontram nas filas devem ser concludos.

Вам также может понравиться