Prioridades de Execução Prof.Fernando Branquinho Prioridades de Execução Para implementar o recurso de prioridades de execução, podemos realizar uma mudança no comportamento do escalonador, fazendo com que este utilize tempos diferentes para a execução de cada programa. Exemplo: Vamos imaginar os seguintes programas com suas respectivas prioridades de execução: Programa A - Prioridade 1 Programa B - Prioridade 2 Podemos definir um esquema de prioridades que determina que o programa B seja executado 2 vezes a mais que o programa A. Sendo assim, podemos considerar que o número da prioridade, está diretamente relacionado com o número de interrupções que o escalonador necessita para transferir a execução para o próximo programa. Neste caso, a sequência de execução seria a seguinte: De acordo com a distribuição acima, o programa B passa a utilizar 66,66% da CPU, enquanto o programa A fica com somente 33,33%. Neste tipo de prioridade, podemos perceber que em nenhum momento foi mencionada, a dificuldade de execução de cada programa. Podemos concluir então, que o uso da CPU não depende de quanto "pesada" é a aplicação, mas sim de quanto tempo o S.O. reserva para sua execução em multitarefa. Exercícios 1) De acordo com a arquitetura, do sistema multitarefa preemptiva apresentado em aula, preencha a seguinte tabela, revelando a sequência de execução do processador. INT Registrador IP Antes do Depois do Escalonador Escalonador Variáveis do Escalonador SHELL 100 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Observações: • • • • • As interrupções ocorrerão a cada 20ms Cada instrução do programa, é executada em 5ms Após a interrupção 2, deve ocorrer a carga do programa Word a partir do endereço 200 Após a interrupção 6, deve ocorrer a carga do programa Excel, a partir do endereço 300 Após a interrupção 12, a prioridade do Word é alterada de 1 para 2. 2) Considere os seguintes programas e suas respectivas prioridades de execução: Programa A B C D Prioridade 4 2 1 1 a) Descreva abaixo qual a sequência de execução dos programas de acordo com o apresentado em aula: b) Calcule a taxa (%) de utilização da CPU para cada programa. 3) Considere os seguintes programas e suas respectivas prioridades de execução: Programa A B C D Prioridade 7 5 2 1 a) Descreva abaixo qual a sequência de execução dos programas. b) Calcule a taxa (%) de utilização da CPU para cada programa. 4) Considere as seguintes taxas de utilização da CPU: Programa A B C D % da CPU 40 20 20 20 a) Determine a prioridade de execução de cada programa, de forma a garantir o menor tempo de ciclo do escalonador de processos. b) Considerando que cada interrupção ocorre a cada 10ms, qual foi o tempo de ciclo do escalonador obtido ? 5) Considere as seguintes taxas de utilização da CPU: Programa A B C D E F % da CPU 15 20 30 15 10 10 a) Determine a prioridade de execução de cada programa, de forma a garantir o menor tempo de ciclo do escalonador de processos. b) Considerando que cada interrupção ocorre a cada 10ms, qual foi o tempo de ciclo do escalonador obtido ? 6) Para que serve o escalonador de processos ? 7) Qual a parte de um S.O. que permite a solicitação de execução de outros programas pelo usuário? 8) Para que servem os vetores de interrupção ? 9) Qual o resumo do que faz o escalonador de processos para mudar o fluxo de execução para o próximo programa a ser executado? 10) Considerando o esquema de Multitarefa apresentado em aula, qual dos programas abaixo utiliza uma maior porcentagem de CPU : • • Um Editor de Texto Um Renderizador de Imagens 11) De acordo com a tabela abaixo, defina as prioridades e porcentagem de utilização da CPU por cada programa programa: INT Registrador IP Antes do Depois do Escalonador Escalonador 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 105 205 210 215 220 225 305 310 315 110 230 235 240 245 250 320 325 330 Programa SHELL Variáveis do Escalonador SHELL WORD EXCEL 100 105 200 300 200 205 210 215 220 300 305 310 105 225 230 235 240 245 315 320 325 110 Prioridade 205 210 215 220 225 305 310 315 110 230 235 240 245 250 320 325 330 % CPU WORD EXCEL Final do documento Fernando J.C. Branquinho http://www.branqs.com.br/universidade