GERÊNCIA DE RECURSOS: GERÊNCIA DO PROCESSADOR Curso: Tecnólogo em Redes de Computadores Disciplina: Sistemas Operacionais Profª: Cristiane Machado de Vargas GERÊNCIA DO PROCESSADOR 1 • Introdução 2 • Política de escalonamento 3 • Critérios de Escalonamento 4 • Escalonamento Não-Preemptivos e preemptivos 5 • Escalonamento FIFO First-In-First-Out 6 • Escalonamento SJF Shortest-Job-First 7 • Escalonamento Cooperativo 8 • Escalonamento Circular GERÊNCIA DO PROCESSADOR 9 10 11 • Escalonamento por Prioridades • Escalonamento Circular com Prioridades • Escalonamento por Múltiplas Filas 12 • Escalonamento por Múltiplas Filas com Realimentação 13 • Política de Escalonamento em Sistemas de Tempo Compartilhado 14 • Política de Escalonamento em Sistemas de Tempo Real GERÊNCIA DO PROCESSADOR Uma das atividades mais importantes em um sistemas operacional multiprogramável. • Devem ser estabelecidos critérios para determinar qual processo fará uso do processador. • Os critérios utilizados para selecionar o processo, compõem a chamada política de escalonamento. • 2- POLÍTICA DE ESCALONAMENTO Cada SO possui sua política de escalonamento adequada ao seu propósito a ás suas características. 2- POLÍTICA DE ESCALONAMENTO Funções Básicas: Manter o processador ocupado a maior parte do tempo. Balancear o uso da CPU entre processos. Privilegiar a execução de aplicações críticas. Maximizar o throughput do sistema Oferecer tempos de resposta razoáveis para usuários interativos. 2- POLÍTICA DE ESCALONAMENTO Escalonador (scheduler) É a rotina do SO que tem como principal função implementar os critérios da política de escalonamento. É fundamental em um sistema multiprogramável, pois todo o compartilhamento do processador é dependente dessa rotina 2- POLÍTICA DE ESCALONAMENTO Dispatcher Rotina importante na gerência do processador. Responsável pela troca de contexto dos processos após o escalonador determinar qual processo deve fazer uso do processador. Latência do Dispatcher é o período de tempo gasto na substituição de um processo em execução por outro. 2- POLÍTICA DE ESCALONAMENTO Ambientes que implementam apenas processos: O escalonamento é realizado com base nos processos prontos para execução. PROCESSO: unidade de alocação de recursos Sistemas que implementam threads: O escalonamento é realizado considerando os threads no estado de pronto, independente do processo. THREADS: unidade de escalonamento 3- CRITÉRIOS DE ESCALONAMENTO Utilização do • È desejável que o processador permaneça ocupado a maior processador parte do seu tempo Throughput • Representa o número de processos executados em um determinado intervalo de tempo • É o tempo que um processo leva Tempo de no estado de execução durante Processador / Tempo de UCP seu processamento 3- CRITÉRIOS DE ESCALONAMENTO Tempo de Espera • É o tempo total que um processo permanece na fila de pronto durante seu processamento • É o tempo que um processo leva Tempo de desde a sua criação até ao seu Turnaround término Tempo de Resposta • É o tempo decorrido entre uma requisição ao sistema e o instante em que a resposta é exibida 4- ESCALONAMENTO NÃO-PREEMPTIVOS E PREEMPTIVOS Preempção Atividade em que o sistema operacional interrompe um processo em execução e substitui por um outro Sistemas Operacionais que implementam escalonamento com preempção (atualmente, a maioria) São mais complexos Possibilitam políticas de escalonamento mais flexíveis Possibilitam a implementação dos diversos critérios de escalonamento 4- ESCALONAMENTO NÃO-PREEMPTIVOS E PREEMPTIVOS Escalonamentos Não-Preemptivos e Preemptivos Preempção -> Possibilidade de o sistema operacional interromper um processo em execução e substituir por um outro. Não-Preemptivos -> nenhum evento externo pode ocasionar a perda do uso do processador, sendo que o processo somente sai do estado de execução caso termine seu processamento ou execute instruções do próprio código que ocasionem uma mudança para o estado de espera. Preemptivo -> é usado na maioria dos sistemas operacionais atuais. É caracterizado pela possibilidade do S.O. interromper um processo em execução e passá-lo para o estado de pronto, com o objetivo de alocar outro processo na CPU. 8.5 Escalonamento First in First-Out (FIFO) Definição: É o processo que chegar primeiro ao estado de pronto para a execução. Maike Vieira / Renan Bendo 8.6 O que define essa política de escalonamento? Escalonamento Shortest-Job-First, define-se na execução do processo que leva-rá menos tempo de execução. 8.7 Escalonamento Cooperativo: O escalonamento cooperativo é uma implementação que busca aumentar o grau de multiprogramação em politicas de escalonamento que não possuam mecanismos de preempção, como o FIFO e o SJF não preemptivo. O processo em execução pode voluntariamente liberar o processador e retornar a fila de pronto, liberando assim o CPU para outro processo, e com isso otimizando a distribuição dos processos no processador. 8.8 Escalonamento Circular É do tipo preemptivo (semelhante ao FIFO) , neste escalonamento o uso da CPU é dividido em fatias de tempo, e é especialmente projetado para sistemas de tempo compartilhado, sua vantagem é não permitir que o processo monopolize a UCP,e seu problema é que a CPUbound é beneficiada no uso da CPU, pois usa por completo a fatia de tempo. 8.9 O escalonamento por prioridades é um escalonamento do tipo preemptivo realizado com base em um valor a cada processo, chamado prioridade de execução.Neste escalonamento um processo em execução não pode sofrer preempção por tempo. 8.10 Neste tipo de escalonamento, um processo permanece no estado de execução até que termine seu processamento, voluntariamente passe para o estado de espera ou sofra uma preempção por tempo ou prioridade. 8.11 Escalonamento por Múltiplas Filas: Como o nome já fiz são filas de processos no estado de Pronto, cada fila diferenciada por prioridades específicas. Nesse mecanismo, o processo não possui prioridade, e sim ficando a associação para cada fila. Um exemplo desse escalonamento pode ser representado dividindos em três grupos: sistema, interativo e lote. onde cada um desses grupos se tornaram uma fila de processos.. colocando em prioriade as Filas de processos de Sistema, em seguida Filas de processos interativos e por ultimo Filas de processos em Lote. uma desvantagem deste escalonamento é que, no caso de um processo alterar seu estado no decorrer do tempo, o processo não poderá ser redirecionado para outra fila mais adequada. 8.12 ESCALONAMENTO POR MÚLTIPLAS FILAS COM REALIMENTAÇÃO O que define essa política de escalonamento? Permite que os processos sejam redirencionados entre as diversas filas, fazendo com que o sistema operacional inplemente um mecanismo de ajuste dinâmico denominado mecanismo adaptativo. Os processos não são previamente associados as filas de pronto, e sim, direcionados pelo sistema para as filas existentes com base no seu comportamento. 8.13 Política de escalonamento em sistemas de tempo compartilhado: Caracterizam-se pelo processamento interativo, onde usuários interagem com as aplicações exigindo tempo de respostas baixos. a maioria dos sistemas operacionais de tempo compartilhado utilizam escalonamento circular com prioridades dinâmicas.