Ar qu it e t u r a de Sist e m a s Ope r a cion a is Fa bia n o Ut iya m a Ca pít u lo 8 Ge r ê n cia do Pr oce ssa dor 8/1 I n t r odu çã o • Com o surgimento dos sistemas multiprogramáveis, nos quais múltiplos processos poderiam permanecer na memória principal compartilhando o uso da UCP – a gerência do processador tornou-se uma das atividades mais importantes em um sistema operacional 8/2 I n t r odu çã o • A partir do momento em que diversos processos podem estar no estado de pronto, critérios devem ser estabelecidos para determinar qual processo será escolhido para fazer uso do processador • Os critérios utilizados para esta seleção compõem a chamada polít ica de escalonam ent o 8/3 Esca lon a m e n t o Estado de Execução lo ca Es na me n to Estado de Espera Estado de Pronto 8/4 Fu n çõe s Bá sica s • A política de escalonamento de um sistema operacional tem diversas funções básicas – Manter o processador ocupado a maior parte do tempo – Balancear o uso da UCP entre processos – Privilegiar a execução de aplicações críticas – Maximizar o throughput do sistema (produtividade) – Oferecer tempos de resposta razoáveis para usuário interativos 8/5 Fu n çõe s Bá sica s • A rotina do sistema operacional que tem como principal função implementar os critérios da política de escalonamento é denominada escalonador (sheduler) • Outra rotina importante na gerência do processador é conhecida como dispatcher, responsável pela troca de contexto dos processos após o escalonador determinar qual processo deve fazer o uso do processador 8/6 Cr it é r ios de Esca lon a m e n t o • Política de escalonamento – Utilização do processador • O processador deve permanecer a maior parte do tempo ocupado – Throughput • O número de processos executados em um determinado intervalo de tempo. Quanto maior o throughput, maior o número de tarefas executadas em função do tempo 8/7 Cr it é r ios de Esca lon a m e n t o – Tempo de processador / Tempo de UCP • É o tempo que um processo leva no estado de execução durante seu processamento – Tempo de espera • É o tempo total que um processo permanece na fila de pronto durante seu processamento, aguardando para ser executado 8/8 Cr it é r ios de Esca lon a m e n t o – Tempo de Turnaround • É o tempo que um processo leva desde a sua criação até seu término – Tempo de Resposta • É o tempo decorrido entre uma requisição ao sistema ou à aplicação e o instante em que a resposta é exibida 8/9 Esca lon a m e n t os • As políticas de escalonamento podem ser classificadas segundo a possibilidade de o sistema operacional interromper um processo em execução e substituí-lo por um outro, atividade esta conhecida como preempção 8/10 Esca lon a m e n t os • Não-Preemptivos – Processamento batch – Neste tipo de escalonamentoo, quando um processo está em execução nenhum evento externo pode ocasionar a perda do uso do processador – O processo sai do estado de execução caso: • Termine seu processamento • Execute instruções do próprio código que ocasionem uma mudança para o estado de espera 8/11 Esca lon a m e n t os • Preemptivos – O sistema operacional pode interromper um processo em execução e passá-lo para o estado de pronto, com o objetivo de alocar outro processo na UCP 8/12 Esca lon a m e n t o FI FO • O processo que chegar primeiro ao estado de pronto é o selecionado para execução 8/13 Esca lon a m e n t o FI FO Fila dos processos no estado de Pronto Estado de Criação UCP Estado de Término Estado de Espera 8/14 Esca lon a m e n t o FI FO Processo A Processo B Processo C 10 14 17 u.t. Processo A Processo Tempo de processador (u.t.) A 10 B 4 C 3 Processo B Processo C 4 7 17 u.t. 8/15 Esca lon a m e n t o SJF • O algoritmo de escalonamento seleciona o processo que tiver o menor tempo de processador ainda por executar 8/16 Esca lon a m e n t o SJF Processo A Processo B Processo C 3 7 17 u.t. 8/17 Esca lon a m e n t o Coope r a t ivo • É uma implementação que busca aumentar o grau de multiprogramação em políticas de escalonamento que não possuem mecanismos de preempção • Neste caso, um processo em execução pode voluntariamente liberar o processador 8/18 Esca lon a m e n t o cir cu la r • É um escalonamento do tipo preemptivo • É semelhante ao FIFO, porém quando um processo passa para o estado de execução existe um tempo-limite para o uso contínuo do processador denominado fatia de tempo (time-slice) ou quantum 8/19 Esca lon a m e n t o cir cu la r Fila dos processos no estado de Pronto Estado de Criação UCP Estado de Término Preempção por tempo Estado de Espera 8/20 Esca lon a m e n t o cir cu la r Processo A Processo B Processo C 2 4 6 8 10 11 17 u.t. 8/21 Esca lon a m e n t o cir cu la r vir t u a l • Neste esquema, processos que saem do estado de espera vão para uma fila de pronto auxiliar • Os processos da fila auxiliar possuem preferência no escalonamento em relação à fila de pronto • O escalonador só seleciona processos na fila de pronto quando a fila auxiliar estiver vazia 8/22 Esca lon a m e n t o cir cu la r vir t u a l Fila dos processos no estado de Pronto Estado de Criação UCP Estado de Término Preempção por tempo Fila auxiliar Estado de Espera 8/23 Esca lon a m e n t o por pr ior ida de s • É um escalonamento do tipo preemptivo realizado com base em um valor associado a cada processo denominado prioridade de execução • O processo com maior prioridade no estado de pronto é sempre o escolhido para execução, e processos com valores iguais são escalonados seguindo o critério de FIFO 8/24 Esca lon a m e n t o por pr ior ida de s Filas dos processos no estado de Pronto Prioridade P1 Prioridade P2 Estado de Criação UCP Estado de Término Prioridade Pn Preempção por prioridade Estado de Espera 8/25 Esca lon a m e n t o por pr ior ida de s Processo A Processo B Processo C 3 13 17 Processo Tempo de processador (u.t.) Prioridade A 10 2 B 4 1 C 3 3 u.t. 8/26 Esca lon a m e n t o cir cu la r com pr ior ida de s • Implementa o conceito de fatia de tempo e de prioridade de execução associada a cada processo 8/27 Esca lon a m e n t o cir cu la r com pr ior ida de s Fila dos processos no estado de Pronto Prioridade P1 Prioridade P2 Estado de Criação UCP Estado de Término Prioridade Pn Preempção por tempo ou prioridade Estado de Espera 8/28 Esca lon a m e n t o por m ú lt ipla s fila s com r e a lim e n t a çã o • É semelhante ao escalonamentoo por múltiplas filas, porém os processos podem trocar de filas durante seu processamento 8/29 Fila 1 (FIFO Adaptado) Preempção por tempo Menor fa atia de temp po Maiorr Prioridad de Esca lon a m e n t o por m ú lt ipla s fila s com r e a lim e n t a çã o Fila 2 (FIFO Adaptado) Preempção por tempo Fila 3 (FIFO Adaptado) UCP Fila n (Circular) Maior fatia de tempo Menor Prioridade Preempção por tempo Preempção por tempo 8/30 Polít ica de Esca lon a m e n t o e m Sist e m a s de Te m po Com pa r t ilh a do • Escalonamento circular • Escalonamento circular com prioridades 8/31 Polít ica de e sca lon a m e n t o e m Sist e m a s de Te m po Re a l • Deve levar em consideração a importância relativa de cada tarefa na aplicação • O escalonamento por prioridade é o mais adequado 8/32 Ex e r cícios • O que é política de escalonamento de um Sistema Operacional? • Quais as funções do escalonador e do dispatcher? • Quais os principais critérios utilizados em uma política de escalonamento? • Diferencie os escalonamentos preemptivos e não-preemptivos. • Cite os escalonamentos estudados, explicando cada um deles. 8/33 This document was created with Win2PDF available at http://www.win2pdf.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only. This page will not be added after purchasing Win2PDF.