Escolar Documentos
Profissional Documentos
Cultura Documentos
Gerência do Processador
• Ambiente multitarefa:
• Vários processos disputam o tempo do processador
• Dificuldade:
• Escolher o próximo processo a ser executado
• Solução:
• Escalonador de processos:
• Rotina do SO implementada com algoritmos de seleção
(escalonamento)
Escalonadores
• Função:
• Selecionar um processo para execução;
• Objetivo:
• Implementar uma política de escalonamento de processos.
• Throughput
• Nº de processos executados num determinado intervalo de
tempo (maximizar)
• Tempo de turnaround
• Tempo do ciclo de vida do processo (minimizar)
• Tempo de espera por (Alocação de memória, Fila de prontos,
Execução, Operações de E/S)
• Tempo de resposta
• Intervalo de tempo (solicitação/resposta) - (minimizar).
Tipos de escalonadores
• Não-preemptivo:
• Permite que os processos rodem até o fim de sua execução
sem ser interrompidos por eventos externos.
• Preemptivo:
• Capaz de suspender processos que poderiam continuar
executando.
Não-preemptivo
• Compartilhamento balanceado:
• Processador utilizado uniformemente pelos processos.
Preemptivo
• Tipos de interrupções:
• Término de execução do processo
• Requisição de E/S ou sincronização
• Liberação voluntária do processador a outro processo
• Interrupção de relógio
• Processo com maior prioridade
Algoritmos de escalonamento
• Algoritmo para seleção do próximo processo a ser executado
• Objetivo:
• Obter bom tempo médio de escalonamento.
• Tipos de algoritmos:
• Não-preemptivos
• FIFO, SJF, Cooperativo
• Preemptivos
• Round robin (circular), Múltiplas filas
Escalonamentos Não-Preemptivo
FIFO (First In First Out)
• Simples de implementar
• Funcionamento:
• O processo que está no início da fila é o próximo a executar;
• Processos que mudam para o estado pronto (evento interno) são
inseridos no final da fila;
• Processo executa até que:
• Libere explicitamente o processador;
• Realize uma chamada de sistema (I/O);
• Termine sua execução.
FIFO (First In First Out)
• Desvantagem:
• Prejudica processos I/O bound
• Tempo médio de espera na fila de execução:
• Ordem A-B-C-D = (0 + 12 + 20 + 35 ) / 4 = 16.75 u.t.
• Ordem D-A-B-C =
• (0 + 5 + 17 + 25 ) / 4 = 11.7 u.t.
FIFO (First In First Out)
FIFO (First In First Out)
SJF (Shortest Job First)
• Problema
• Determinar o tempo de execução de um processo antes de executá-lo:
• Alternativa: histórico de execução do processo
SJF (Shortest Job First)
SJF (Shortest Job First)
SJF (Shortest Job First)
Cooperativo
• Problemas:
• Códigos mal escritos pode entrar em looping (monopólio da CPU)
Escalonamentos Preemptivo
RR (Round Robin – circular)
• Funcionamento:
• O 1º processo da fila é executado por um tempo (quantum),
• Após o quantum, é interrompido e inserido no final da fila;
• Calcule o tempo de espera e turnaround de cada processo,
e o percentual do overhead (mudança de contexto = 0,5 ms)
RR (Round Robin – circular)
• Problemas
• Overhead:
• Tempo gasto para salvar e restaurar o contexto.
• Definir o quantum:
• Muito grande: se aproxima do FIFO;
• Muito pequeno: aumenta overhead (troca de contexto)
• Ex: quantum = 20 ms (processamento) e 5 ms para troca de contexto → 20% do tempo com
overheads.
• Solução: prioridades
RR (Round Robin – circular)
• Não-preemptivos:
• O processo com maior prioridade entra no início da fila de espera e
espera acabara a execução do processo corrente
Escalonamento por Prioridades
• Problema
• Starvation: um processo pode nunca ser executado.
• Tipos de prioridade:
• Estática:
• Mantida durante todo o ciclo de vida do processo.
• Dinâmica:
• A prioridade é ajustada de acordo com o estado de execução do processo
• Ex.: ajustar a prioridade em função da fração do quantum que foi realmente
utilizada
• q = 100 ms
• Processo A utilizou 2ms - nova prioridade = 100/2 = 50
• Processo B utilizou 50ms - nova prioridade = 100/5 = 2
Algoritmo Por Prioridade
Escalonamento Circular com Prioridades
• Utiliza fatia de tempo e prioridade para executar os
processo.
• Vantagem:
• Melhor balanceamento no uso do processador em sistemas de
tempo compartilhado.
Escalonamento Circular com Prioridades
Escalonamento por Múltiplas Filas
• Neste escalonamento existem diversas filas de processos no estado de pronto,
cada qual com uma prioridade específica.
• Vantagem:
• Permitir diferentes mecanismos de escalonamento no mesmo SO.
Escalonamento Por Múltiplas Filas