GERENCIAMENTO DO PROCESSADOR Prof. Maicon A. Sartin Introdução Em sistema multiprogramáveis a UCP é compartilhada entre diversos processos Existem critérios para determinar a ordem de escolha para a execução dos processos O escalonamento é o procedimento de seleção dos processos para execução O escalonador é o responsável pelo escalonamento n to Estado de Espera me O escalonamento evita o starvation nos processos na alo Esc Estado de Execução Estado de Pronto Introdução O escalonador deve escolher entre os processos prontos, qual irá ser alocado na UCP Algoritmo de escalonamento faz essa seleção baseado em alguns critérios Critérios Utilização da UCP Deseja-se que a UCP permaneça a maior parte do tempo ocupada 30% (carga baixa) | 90% (Carga Alta) Throughput É o número de processos executados em um determinado intervalo de tempo Critérios de Escalonamento Critérios Tempo de tunaround Tempo que um processo leva desde a sua admissão no sistema até o seu término Tempo de resposta É o tempo decorrido do momento da submissão de um pedido ao sistema até a primeira resposta produzida Escalonamento Não-preemptivo Quando um processo ganha o direito de usar a CPU, nenhum outro processo pode lhe tirar esse recurso Escalonamento FIFO (First-In-First-Out) O processo que chegar primeiro é o primeiro a ser selecionado para execução É necessária apenas uma fila Os processos que estão sendo executados não podem ser interrompidos Fila dos processos no estado de Pronto Estado de Criação UCP Estado de Espera Estado de Término Escalonamento Não-preemptivo Escalonamento SJF (Shortest-Job-First) É selecionado para execução o processo: – Em estado de pronto, que precisar de menos tempo de UCP para terminar seu processamento O SJF e o FIFO não são aplicados em sistemas de tempo compartilhado Escalonamento Não-preemptivo Processo A SJF 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 A Processo C 4 7 17 u.t. Processo B FIFO Processo C 3 7 17 u.t. Escalonamento Preemptivo Quando o sistema pode interromper um processo em execução para que outro processo utilize o processador Escalonamento Circular (Round Robin) Algoritmo projetado para sistemas de tempo compartilhado Semelhante ao FIFO Quando expira o tempo (time-slice ou quantum) Preempção por tempo Fila dos processos no estado de Pronto Estado de Criação UCP Preempção por tempo Estado de Espera Estado de Término Escalonamento Preemptivo Escalonamento por Prioridades O RR trata os processos de maneira igual (CPU e I/O Bound) Processos de maior prioridade são escalonados primeiro A preempção - - é por prioridade (Contexto de Software) Prioridade Estática – não é modificada durante a existência do processo Prioridade Dinâmica – pode ser ajustada de acordo com o tipo de processamento e/ou a carga do sistema Todos os sistemas de tempo compartilhado implementam algum esquema de prioridade Escalonamento Preemptivo Escalonamento por Prioridades Filas dos processos no estado de Pronto Prioridade P1 Prioridade P2 Estado de Criação UCP Prioridade Pn Preempção por prioridade Estado de Espera Estado de Término Escalonamento Preemptivo Escalonamento por Múltiplas Filas Pela diversidade dos tipos de processos do sistema Geralmente são vários mecanismos de escalonamento Classifica os processos quanto ao tipo de processamento : Implementar diversas filas de processo no estado de pronto Cada fila possui uma prioridade associada Fila de processos do sistema Maior prioridade Fila de processos interativos UCP Fila de processos batch Menor prioridade Fila 1 (FIFO Adaptado) Preempção por tempo Menor fatia de tempo Escalonamento por Múltiplas Filas com Realimentação Fila 2 (FIFO Adaptado) Os processos alteram o seu comportamento no decorrer do tempo Preempção por tempo Fila 3 (FIFO Adaptado) Redireciona-se para uma fila adequada Identifica dinamicamente o comportamento de cada processo Esse ajuste é denominado mecanismo adaptativo UCP Preempção por tempo Fila n (Circular) Preempção por tempo Maior fatia de tempo Menor Prioridade Maior Prioridade Escalonamento Preemptivo Escalonamento Preemptivo Escalonamento de Sistemas de Tempo Real É realizado o escalonamento baseado no esquema de prioridades de forma estática Não devem ser alteradas as prioridades Referências TANEMBAUN, A. S.; WOODHULL, A. S. “Sistemas Operacionais – Projeto e Implementação". Bookman, 2000. MACHADO, F. B. "Arquitetura de sistemas operacionais". LTC, 1997. GUALEVE, J. A. F. “Sistemas Operacionais”. Brasília: Universidade Católica de Brasília, 2006.