Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Gerência do Processador Adão de Melo Neto 2 Introdução Sistemas Multiprogramáveis: – Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. – POLÍTICA DE ESCALONAMENTO São um critérios que determinar qual processo em estado de pronto será escolhido para fazer uso do processador PROCESSO apenas um processo em execução 3 Critérios de Escalonamento Utilização do ProcessadorUtilização do Processador – Quando o valor é de 30% (sistema com carga baixa) – Quando o valor é de 90% (sistema bastante carregado) ThroughputThroughput – Número de processos executados em determinado intervalo de tempo Tempo de Processador/CPUTempo de Processador/CPU – Tempo que um processo leva no estado de execução durante seu processamento – As políticas de escalonamento não influenciam este tempo Tempo de esperaTempo de espera – Tempo que um processo fica no estado de pronto aguardando ser executado Tempo de TurnaroundTempo de Turnaround – Tempo que leva desde a criação até seu término Tempo de RespostaTempo de Resposta – Tempo decorrido desde a requisição ao sistema até o instante que a resposta é exibida Busca-se maximizar Busca-se minimizar Não depende da política de escalonamento 4 Critérios de Escalonamento As características do sistema operacional (As características do sistema operacional (sistemas de tempo sistemas de tempo compartilhado ou sistemas de tempo realcompartilhado ou sistemas de tempo real)) irão determinar quais os principais aspectos na implementação de uma irão determinar quais os principais aspectos na implementação de uma política de escalonamentopolítica de escalonamento SISTEMA DE TEMPO COMPARTILHADO 5 Objetivos de uma Política de Escalonamento - Manter processador ocupado a maior parte do tempo- Manter processador ocupado a maior parte do tempo - Balancear o uso da CPU entre os processos- Balancear o uso da CPU entre os processos - Privilegiar aplicações críticas- Privilegiar aplicações críticas - Maximizar o throuput do sistema.- Maximizar o throuput do sistema. - Minimizar o tempo de resposta- Minimizar o tempo de resposta 6 Escalonamentos Preemptivos Não-Preemptivos PREEMPÇÃO Capacidade do sistema operacional interromper um processo e substituí-lo por um outro ESCALONAMENTO PREEMPTIVOSESCALONAMENTO PREEMPTIVOS ((o sistema operacional pode o sistema operacional pode interromper interromper um processo e passá-lo para o estado de um processo e passá-lo para o estado de pronto, a fim de alocar outro processo na pronto, a fim de alocar outro processo na CPU)CPU) ESCALONAMENTOS NÃO-ESCALONAMENTOS NÃO- PREEMPTIVOSPREEMPTIVOS ((nenhum evento pode nenhum evento pode ocasionar ocasionar a perda do uso do processador)a perda do uso do processador) preempção Escalonamento 7 Estados de um processo Estado de Execução Quando está sendo executado pela CPU Quando apenas aguarda oportunidade para ser executado Estado de Espera (bloqueado) Quando aguarda algum evento externo ou algum recurso para prosseguir seu processamento Após criação do processo o mesmo vai para lista de processos em estado de pronto EXEMPLO Aguardando o término de operação de E/S Aguardando data/hora para continuar operação 8 Mudança de Estados de um Processo (A) PRONTO (A) PRONTO EXECUÇÃO EXECUÇÃO ( ( escalonamentoescalonamento: depende da : depende da política de escalonamento do política de escalonamento do Sistema Operacional)Sistema Operacional) (B) EXECUÇÃO (B) EXECUÇÃO ESPERA ESPERA ((gerada por eventos do gerada por eventos do processo:processo: operações de E/S)operações de E/S) (gerada por eventos externos(gerada por eventos externos: : Sistema operacional suspende Sistema operacional suspende por um período de tempo a por um período de tempo a execução do processo)execução do processo) (D) EXECUÇÃO (D) EXECUÇÃO PRONTO PRONTO ((preempçãopreempção: um exemplo é o: um exemplo é o término da fatia de tempo que término da fatia de tempo que processo possui para sua processo possui para sua execução)execução) (C) ESPERA (C) ESPERA PRONTO PRONTO (operação solicitada é atendida ou recurso esperado é concedido(operação solicitada é atendida ou recurso esperado é concedido 9 Vantagens da PreempçãoVantagens da Preempção •Priorizar a execução de processos Priorizar a execução de processos como no caso de como no caso de aplicações de tempo real aplicações de tempo real onde o fator de tempo é crítico.onde o fator de tempo é crítico. •Implementar políticas de escalonamento que compartilhem Implementar políticas de escalonamento que compartilhem o processador de maneira mais uniformeo processador de maneira mais uniforme preempção 10 Troca de Estados de um ProcessoTroca de Estados de um Processo Quando um processo é criado ele Quando um processo é criado ele entra no final da fila de estados de entra no final da fila de estados de prontopronto Saída do estado de execução: Saída do estado de execução: – termino do processamentotermino do processamento ou ou – ida para ida para o o estado esperaestado espera Espera Espera ExecuçãoExecução: os processos entram : os processos entram no final da fila no final da fila de pronto.de pronto. 11 TIPOS DE ESCALONAMENTOSTIPOS DE ESCALONAMENTOS NOME PREEMPÇÃO FIFO Não (sistema monoprogramado) SJF Não (sistema monoprogramado) Cooperativo Sim (controlada pelo processo) Circular (Round Robin Schedule) Sim (preempção por tempo) Prioridades Sim (preempção por prioridades) Circular por prioridades Sim (preempção por tempo e prioridades) Múltiplas filas Sim 12 ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO)ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO) Não-preemptivoNão-preemptivo EscalonamentoEscalonamento: quando o processo alcança início da fila : quando o processo alcança início da fila de estados de pronto.de estados de pronto. F I 13 ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO)ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO) Dependem do posicionamento dos processos A , B e CDependem do posicionamento dos processos A , B e C na fila de na fila de estado de pronto.estado de pronto. Tempo de ProcessadorTempo de Processador – A (10), B (4) e C (3)A (10), B (4) e C (3) Tempo Médio de Espera (0 + 10 + 14 )/3 = 8 u.t C B A Tempo Médio de Turnaround (10 + 14 + 17 )/3 = 10,33 u.t Tempo de esperaTempo de espera Tempo que um processo fica no estado de pronto aguardando ser executado Tempo de TurnaroundTempo de Turnaround Tempo que leva desde a criação até seu término 14 ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO)ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO) VantagensVantagens – SimplesSimples DesvantagensDesvantagens – Não dá para prever quando um processo terá sua execução Não dá para prever quando um processo terá sua execução iniciadainiciada – Processos Processos ligados à CPU ligados à CPU (CPU-bound) têm vantagem em (CPU-bound) têm vantagem em relação aos processos relação aos processos ligados à entrada/saída ligados à entrada/saída (I/O-bound).(I/O-bound). 15 ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF)ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF) Não-preemptivoNão-preemptivo EscalonamentoEscalonamento:seleciona o processo em estado de pronto :seleciona o processo em estado de pronto que tiver o que tiver o menor tempo de processador menor tempo de processador ainda por executar.ainda por executar. Tempo de processador:Tempo de processador: estimado com base em análises estimado com base em análises estatísticas de execuções passadas.estatísticas de execuções passadas. A (10)B (4)C (3) A (10) B (4) C (3) Ordem na Fila (exemplo) Ordem do Escalonamento 16 ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF)ESCALONAMENTOSHORSTEST-JOB-FIRST (SJF) Tempo de ProcessadorTempo de Processador – A (10), B (4) e C (3)A (10), B (4) e C (3) Tempo Médio de Espera (7 + 3 + 0 )/3 = 3,3 u.t Tempo Médio de Turnaround (17 + 7 + 3 )/3 = 9 u.t Tempo de esperaTempo de espera Tempo que um processo fica no estado de pronto aguardando ser executado Tempo de TurnaroundTempo de Turnaround Tempo que leva desde a criação até seu término 17 ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF)ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF) VantagemVantagem – Redução doRedução do tempo médio de turnaround tempo médio de turnaround dos processos.dos processos. DesvantagensDesvantagens – Impossibilidade de se estimar o Impossibilidade de se estimar o tempo de processador tempo de processador para para processos interativos processos interativos (entrada de dados é uma ação (entrada de dados é uma ação imprevisível).imprevisível). – Possibilidade de Possibilidade de starvationstarvation quando existem muitos processos quando existem muitos processos do tipo CPU-Bound.do tipo CPU-Bound. Tempo de TurnaroundTempo de Turnaround Tempo que leva desde a criação até seu término Tempo de processadorTempo de processador Tempo que um processo leva no estado de execução durante seu processamento StarvationStarvation: : um processo nunca alcança o estado de execuçãoum processo nunca alcança o estado de execução 18 ESCALONAMENTO COOPERATIVOESCALONAMENTO COOPERATIVO Escalonamento preemptivo (preempção controlada pelo processo)Escalonamento preemptivo (preempção controlada pelo processo) EscalonamentoEscalonamento: um : um processo em execução processo em execução pode voluntariamente pode voluntariamente liberar o processador retornando à fila de pronto, possibilitando liberar o processador retornando à fila de pronto, possibilitando que outro processo possa ser escalonado.que outro processo possa ser escalonado. MecanismoMecanismo – Os Os processosprocessos quando quando entram na fila de pronto entram na fila de pronto enviam mensagens a outros enviam mensagens a outros processos. O processos. O processo em execução processo em execução verifica periodicamente sua verifica periodicamente sua fila de fila de mensagensmensagens para determinar se existem outros processos na para determinar se existem outros processos na fila de prontofila de pronto.. F I Preempção controlada pelo processo 19 ESCALONAMENTO COOPERATIVOESCALONAMENTO COOPERATIVO VantagensVantagens – Aumenta o grau de multiprogramação.Aumenta o grau de multiprogramação. DesvantagensDesvantagens – Caso um processo não verifique a fila de mensagens, os Caso um processo não verifique a fila de mensagens, os demais não terão chance de serem executados.demais não terão chance de serem executados. 20 ESCALONAMENTO CIRCULAR (Round Robin Schedule)ESCALONAMENTO CIRCULAR (Round Robin Schedule) Escalonamento preemptivo (preempção por tempo)Escalonamento preemptivo (preempção por tempo) Projetado para sistemas de tempo compartilhado.Projetado para sistemas de tempo compartilhado. É semelhante ao FIFO com preempção por tempo.É semelhante ao FIFO com preempção por tempo. Existe um tempo limite para o uso do processados (Existe um tempo limite para o uso do processados (time-slicetime-slice). No ). No fim deste tempo, o sistema operacional interrompe o processo, fim deste tempo, o sistema operacional interrompe o processo, salva seu contexto e o direciona salva seu contexto e o direciona ao final da fila de prontoao final da fila de pronto.. F I Preempção por tempo 21 ESCALONAMENTO CIRCULAR (Round Robin Schedule)ESCALONAMENTO CIRCULAR (Round Robin Schedule) Time Slice = 2 ut Tempo Médio de Espera (0 + 2 + 4 )/3 = 2,0 u.t Tempo Médio de Turnaround (17 + 10 + 11 )/3 = 12,6 u.t Tempo de esperaTempo de espera Tempo que um processo fica no estado de pronto aguardando ser executado Tempo de TurnaroundTempo de Turnaround Tempo que leva desde a criação até seu término 22 ESCALONAMENTO CIRCULAR (Round Robin Schedule)ESCALONAMENTO CIRCULAR (Round Robin Schedule) VantagensVantagens – Não permitir que um processo monopolize a CPU (redução do Não permitir que um processo monopolize a CPU (redução do tempo de espera). tempo de espera). – Muito adequado para Muito adequado para sistemas interativossistemas interativos DesvantagensDesvantagens – Processos CPU-bound são mais beneficiados no uso do Processos CPU-bound são mais beneficiados no uso do processador do que os I/O-bound, pois tendem a utilizar por processador do que os I/O-bound, pois tendem a utilizar por completo a fatia de tempo.completo a fatia de tempo. 23 ESCALONAMENTO POR PRIORIDADESESCALONAMENTO POR PRIORIDADES Escalonamento Preemptivo (preempção por prioridade)Escalonamento Preemptivo (preempção por prioridade) Existe filas com prioridades definidas. Os processos em estado de pronto Existe filas com prioridades definidas. Os processos em estado de pronto estarão na fila correspondente à sua própria prioridade estarão na fila correspondente à sua própria prioridade (os processos (os processos possuem uma prioridade)possuem uma prioridade).. Preempção por prioridadePreempção por prioridade: : – Implementada por Implementada por interrupçãointerrupção gerada em determinados intervalos de tempo Caso gerada em determinados intervalos de tempo Caso haja um processo na fila de pronto com prioridade maior de que o processo em haja um processo na fila de pronto com prioridade maior de que o processo em execução, o sistema operacional realiza a preempção.execução, o sistema operacional realiza a preempção. – O processo com maior prioridade em estado de pronto é escolhido para execução O processo com maior prioridade em estado de pronto é escolhido para execução (escalonado).(escalonado). 24 ESCALONAMENTO POR PRIORIDADESESCALONAMENTO POR PRIORIDADES Prioridade de ExecuçãoPrioridade de Execuçãocaracterística do característica do Contexto de Software Contexto de Software do do ProcessoProcesso – Prioridade EstáticaPrioridade Estática (a (a prioridade do processo prioridade do processo não é alterada durante a existência do processo)não é alterada durante a existência do processo) – Prioridade DinâmicaPrioridade Dinâmica (a (a prioridade do processo prioridade do processo pode ser alterada de acordo com critérios do pode ser alterada de acordo com critérios do sistema operacional)sistema operacional) 25 ESCALONAMENTO POR PRIORIDADESESCALONAMENTO POR PRIORIDADES Tempo Médio de Espera (3 + 13 + 0 )/3 = 5,3 u.t Tempo Médio de Turnaround (13 + 17 + 3 )/3 = 11 u.t 26 VantagensVantagens – Permite diferenciar processos de acordo com sua importância.Permite diferenciar processos de acordo com sua importância. – Útil em Útil em sistemas de tempo realsistemas de tempo real DesvantagensDesvantagens – StarvationStarvation • Processos com baixa prioridade Processos com baixa prioridade podem ficar indefinidamente na podem ficar indefinidamente na fila de prontofila de pronto • Solução:Solução: incremento gradual da prioridade de processos que ficam incremento gradual da prioridade de processos que ficam muito tempo na fila de prontomuito tempo na fila de pronto ESCALONAMENTO POR PRIORIDADESESCALONAMENTO POR PRIORIDADES 27 ESCALONAMENTO CIRCULAR POR PRIORIDADESESCALONAMENTO CIRCULAR POR PRIORIDADES Escalonamento Preemptivo (por prioridade ou por fatia de tempo)Escalonamento Preemptivo (por prioridade ou por fatia de tempo) Corresponde ao Corresponde ao Escalonamento por prioridade Escalonamento por prioridade onde a preempção onde a preempção ocorre por ocorre por prioridadeprioridade ou por ou por término da fatia de tempotérmino da fatia de tempo 28 ESCALONAMENTO PORMÚLTIPLAS FILASESCALONAMENTO POR MÚLTIPLAS FILAS Existem várias filas de processos em estado de pronto com uma prioridade Existem várias filas de processos em estado de pronto com uma prioridade específica.específica. As filas estão associadas aos tipos de processos (ex: sistema, iterativos, As filas estão associadas aos tipos de processos (ex: sistema, iterativos, batch). Os processos em estado de pronto estarão na fila correspondente ao batch). Os processos em estado de pronto estarão na fila correspondente ao tipo de processo que ele representa tipo de processo que ele representa (o (o processo não possui prioridadeprocesso não possui prioridade, , ficando esta característica associada a filaficando esta característica associada a fila)) Cada fila possui um mecanismo próprio de tipo de escalonamento.Cada fila possui um mecanismo próprio de tipo de escalonamento. Sistema Operacional só pode escalonar processo de uma fila caso todas as Sistema Operacional só pode escalonar processo de uma fila caso todas as outras filas de maior prioridade estejam vaziasoutras filas de maior prioridade estejam vazias Escalonamento Escalonamento por prioridadepor prioridade Escalonamento CircularEscalonamento Circular Escalonamento CircularEscalonamento Circular 29 VantagensVantagens – Diversos mecanismos de escalonamento em um mesmo Diversos mecanismos de escalonamento em um mesmo sistema operacionalsistema operacional DesvantagensDesvantagens – Um processo não pode ser redirecionado para uma outra fila Um processo não pode ser redirecionado para uma outra fila mais adequada (caso altere seu comportamento no decorrer do mais adequada (caso altere seu comportamento no decorrer do tempo)tempo) ESCALONAMENTO POR MÚLTIPLAS FILASESCALONAMENTO POR MÚLTIPLAS FILAS 30 POLÍTICAS DE ESCALONAMENTO POLÍTICAS DE ESCALONAMENTO EM EM SISTEMAS SISTEMAS DE DE TEMPO COMPARTILHADOTEMPO COMPARTILHADO 31 Os sistemas de tempo real caracterizam-se pelo Os sistemas de tempo real caracterizam-se pelo processamento interativo (exigem tempo de espera processamento interativo (exigem tempo de espera pequeno)pequeno) A MAIORIA DOS SISTEMAS OPERACIONAIS DE TEMPO A MAIORIA DOS SISTEMAS OPERACIONAIS DE TEMPO COMPARTILHADO UTILIZAM O COMPARTILHADO UTILIZAM O ESCALONAMENTOESCALONAMENTO CIRCULARCIRCULAR COM PRIORIDADESCOM PRIORIDADES DINÂMICASDINÂMICAS 32 POLÍTICAS DE ESCALONAMENTO POLÍTICAS DE ESCALONAMENTO EM EM SISTEMAS SISTEMAS DE DE TEMPO REALTEMPO REAL 33 POLÍTICAS DE ESCALONAMENTO EM POLÍTICAS DE ESCALONAMENTO EM SISTEMAS DE TEMPO REALSISTEMAS DE TEMPO REAL O O escalonamento por prioridadeescalonamento por prioridade é é o mais adequado o mais adequado desde que desde que a cada processo é associado a cada processo é associado uma uma prioridadeprioridade em função da em função da importância do processo importância do processo dentro da aplicaçãodentro da aplicação Exercício 01Exercício 01 35 Exercício 01Exercício 01 P1 P2 P3 P4 P1 P2 P3 P4 P1 P3 P4 P1 P4 P4 Estados de um Processo Exercício 37 Mudança de Estados de um Processo Escalonamento Vamos supor que temos a seguinte situação: – Processos na fila estado de pronto: • J-> I-> H->G->F->E->D->C – Processo B em execução – Processos na fila do estado de espera: • A Indique como ficarão as filas e o processo em execução de acordo com os eventos discriminados Escalonamento Escalonamento Escalonamento Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40
Compartilhar