Sistemas Operacionais. Prof. André Y. Kusumoto

Documentos relacionados
Sistemas Operacionais. Escalonamento de processos

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Sistemas Operacionais

Escalonamento de Processos

Processos. Escalonamento de Processos

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

Processos. Escalonamento de Processos

Sistemas Operacionais

Davidson Rodrigo Boccardo

Processos. Escalonamento de Processos

Algoritmos de escalonamento

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Sistemas Operacionais Gerenciamento de Processos

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Fundamentos de Sistemas Operacionais

Sistemas Operacionais: Escalonamento de processos

Gerência do Processador. Adão de Melo Neto

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais

SOP - TADS Escalonamento de Processos

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente...

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

Sistemas Operacionais

SSC0640 Sistemas Operacionais I

Sistemas de Informação. Sistemas Operacionais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Gerência de Recursos. Gerência do Processador

Escalonamento da CPU

Sistemas Operacionais

Escalonamento da CPU

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos:

Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar

Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software

Estratégias de Escalonamento de Processos

Escalonamento de Processos Estratégias de Escalonamento de Processos

Sistemas de Computação. Processos e escalonamento

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos

Sistemas Operacionais

Sistemas Operacionais Aula 7

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal

Infra-Estrutura de Software. Escalonamento

Gerência do Processador. Adão de Melo Neto

Escalonamento de Processos Uniprocessador

Gerência do Processador

Fundamentos de Sistemas Operacionais

Gerência do Processador

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento

Sistemas Operacionais

Escalonamento do CPU

Escalonamento de Processos

Sistemas Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento

6 ESCALONAMENTO DE CPU

Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo

Sistemas de Informação. Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Sistemas Operacionais

Capítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition

Questões de Provas de Períodos Anteriores

Sistemas Operacionais. Capítulo 8 Gerência do Processador

Resumo: Sistemas Operacionais Abertos

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

Temporização (Scheduling) de Processos

Sistemas Operacionais. Escalonamento de Processos

Sistemas Operacionais. Prof. André Y. Kusumoto

OSLive: Protótipo de simulação de algoritmos de escalonamento de processos

Ar qu it e t u r a a de e Sist e m a s Ope r a cion a is Fa bia n o o Ut iy a m a Ca pít u lo o 8 Ge r ê n cia a do o Pr oce ssa dor

Agendador. Agendador de Processos (Escalonador de Processos) Critérios de Agendamento. Agendador

Aula 10: Escalonamento da CPU

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Questões de Múltipla escolha

Bacharelado em Ciência da Computação Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Escalonamento no Unix. Sistemas Operacionais

Escalonamento de Processos

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Escalonamento de Tarefas

Temporização(Scheduling) de Processos. TemporobjectivomaximizarousodoCPU,i.e.tersempre um processo a executar.

Escalonamento no Unix. Sistemas Operacionais

SISTEMAS OPERACIONAIS

Fundamentos de Sistemas Operacionais

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

Sistemas Operativos: Escalonamento de Processos

Prof. Kleber R. Rovai

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

SEM 544 Desenvolvimento de Produtos Mecatrônicos

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

Escalonamento de processos

SISTEMAS EMBARCADOS. Escalonamento e Tempo Real. Prof. André Schneider de Oliveira

Unidade III Gerência de Processos

Escalonamento de Processos. Ciclo 3 AT1. Prof. Hermes Senger

Retrospectiva da aula passada... Escalonamento. Na aula passada... Comunicação entre processos (-- O jantar dos filósofos --)

Transcrição:

Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Escalonamento CPU Um vez escalonado, o processo utiliza o processador, de modo: Não preemptivo (FIFO, SJF, Cooperativo) Término de execução do processo; Execução de uma requisição de entrada/saída ou sincronização; Liberação voluntária do processador a outro processo (yield); Preemptivo (Round robin (circular), Múltiplas filas) Idem ao não preemptivo; Interrupção de relógio; Processo de mais alta prioridade esteja pronto para executar; 2/14

Simples de implementar Fila Funcionamento First In First Out - FIFO Processos que se tornam aptos são inseridos no final da fila; Processo que está no início da fila é o próximo a executar; Processo executa até que: Libere explicitamente o processador; Realize uma chamada de sistema (bloqueado); Termine sua execução. 3/14

Desvantagem: First In First Out - FIFO Prejudica processos I/O bound (uso intensivo de E/S); 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. 4/14

First In First Out - FIFO Exemplo 5/14

First In First Out - FIFO Exemplo 6/14

Shortest Job First Originário do fato que o menor tempo médio é obtido quando se executa primeiro os processos de menor ciclo de processador (I/O bound) Tempo médio (D-B-A-C) : (0 + 5 + 13 + 25)/4 = 10.75 u.t. 7/14

Shortest Job First Algoritmo ótimo, isto é, fornece o menor tempo médio de espera para um conjunto de processos; Processos I/O bound são favorecidos (pouco uso da CPU); Dificuldade é determinar o tempo do próximo ciclo de CPU de cada processo, porém: Prever o futuro com base no passado (execução de job); Análise dos surtos de CPU no histórico do processo 8/14

Shortest Job First Associado com cada processo e seu CPU burst (ciclo de execução). Utiliza dois tipos de esquemas: Não preemptivo um dado processo na CPU não pode ser preemptado até completar seu CPU burst; Preemptivo se um novo processo chega a CPU com um CPU burst menor que o último tempo do que está executando, ele é preemptado. Este esquema é conhecido como Shortest-Remaining-Time-First (SRTF); 9/14

Shortest Job First Exemplo P 2 chegou no 2 e foi executado no 8 = 6 P 3 chegou no 4 e foi executado no 7 = 3 P 4 chegou no 5 e foi executado no 12 = 7 10/14

Shortest Job First Exemplo P 1 chegou no 0, executou 2 e esperou até 11 para ser executado (11-2) P 2 chegou no 2, executou 2 e esperou até 5 para ser executado (5-4) P 3 chegou no 4, executou 1 e não esperou (0) P 4 chegou no 5, esperou até 7 e foi executado (7-5) 11/14

RR - Round Robin Similar ao algoritmo FIFO, porém, é preemptivo; A cada processo é atribuído um intervalo de tempo (quantum), no qual ele é permitido executar; Se no final do quantum o processo não terminou, a CPU sofre uma preempção e outro processo entra para executar; Quando um processo termina o seu quantum, ele é colocado no final da fila. Fila de processos apto (pronto) é uma fila circular 12/14

RR - Round Robin Processo perde o processador quando: Libera explicitamente o processador; Realize uma chamada de sistema (bloqueado); Termina sua execução; Quando sua fatia de tempo é esgotada. Escalonamento do tipo Round Robin é preemptivo. Sem quantum obtém-se o comportamento de um escalonador FIFO; 13/14

RR - Round Robin Problema 1- Dimensionar o quantum Compromisso entre overhead e tempo de resposta em função do número de usuários; Compromisso entre tempo de chaveamento e tempo do ciclo de processador (quantum); Problema 2- Processos I/O bound são prejudicados Esperam da mesma forma que processos CPU bound, porém, muito provavelmente não utilizam todo o seu quantum; Solução: Prioridades 14/14

RR - Round Robin Exemplo RR - Round Robin: quantum =20 15/14

Escalonadores por prioridades Associar prioridades a processos I/O bound para compensar o tempo gasto em estado de espera; Sempre que um processo de maior prioridade que o processo atualmente em execução entrar no estado apto (pronto) deve ocorrer uma preempção; Escalonamento com prioridades é inerente a preempção; Escalonador deve sempre selecionar o processo de mais alta prioridade; 16/14

Prioridade estática: Escalonadores por prioridades Um processo é criado com uma determinada prioridade e esta prioridade é mantida durante todo o tempo de vida do processo Prioridade dinâmica: Prioridade do processo é ajustada de acordo com o estado de execução do processo e/ou do sistema Ex. ajustar a prioridade em função da fração do quantum que foi realmente utilizada pelo processo q = 100 ms Processo A utilizou 2ms nova prioridade = 1/0.02 = 50 Processo B utilizou 50ms nova prioridade = 1/0.5 = 2 17/14

Múltiplas filas Escalonadores por prioridades Múltiplas filas de prontos Cada fila uma prioridade Cada fila pode ter a sua própria política de escalonamento (FIFO, SJF, RR) 18/14

Escalonadores por prioridades A política de escalonamento FIFO com prioridade considera: Quando ocorre a preempção de um processo para execução ele é inserido no início de sua fila de prioridade; Quando um processo bloqueado passa a apto ele é inserido no final da fila de sua prioridade; Quando um processo troca de prioridade ele é inserido no final da fila de sua nova prioridade; Quando um processo em execução passa a vez para um outro processo ele é inserido no final da fila de sua prioridade; 19/14

Escalonadores por prioridades Problemas com prioridades (implementação) Com prioridades um processo de baixa prioridade pode não executar (starvation); Um processo que durante sua execução troca de comportamento (CPU bound a I/O bound) pode ficar mal classificado a nível de prioridades e ser penalizado Solução: Múltiplas filas com realimentação 20/14

Escalonadores por prioridades Múltiplas filas com realimentação Um processo pode se mover entre as filas Forma de implementar aging (envelhecimento) prioridade do processo que fica na fila aumenta à medida que o tempo passa Em função do tempo de uso da CPU a prioridade pode aumentar ou diminuir 21/14

Escalonamento tempo real Exemplo: Escalonamento em UNIX Múltiplas filas com realimentação empregando Round Robin em cada uma das filas; Prioridades são reavaliadas uma vez por segundo em função de: Prioridade atual; Prioridade do usuário; Tempo recente de uso da CPU; Prioridades recebem valores entre 0 e 127 (menor o valor numérico, maior a prioridade): 0-49: processos do kernel; 50-127: processo de usuário; 22/14

Escalonamento tempo real Hard real-time systems - necessita completar uma tarefa crítica dentro de uma determinada quantidade de tempo. Ex: sistemas de controle de sinais de tráfego; controle de trens de alta velocidade; sistemas embarcados em veículos espaciais; sistema de monitoramento de pacientes; Soft real-time computing necessita que um processo crítico receba uma prioridade maior que outros processos. Ex. sistema de reserva de passagens aéreas; sistema de apresentação multimídia; sistema de monitoração de veículos; 23/14

Referências SILBERSCHATZ, A. GALVIN, P. B. GAGNE, G. Sistemas Operacionais com Java. Rio de Janeiro : Elsevier, 2008. TANENBAUM, A. S.; WOODHULL, A. S. Sistemas Operacionais. Porto Alegre: Bookman, 2003. Notas de aula Prof. Dr. Carlos Henrique Neto Lahoz - UNIP. Conteúdo da UNIPVirtual Prof. Dr. Fábio Vieira do Amaral 24/12