Sistemas Operacionais

Documentos relacionados
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

Davidson Rodrigo Boccardo

Sistemas Operacionais

Escalonamento de Processos

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

Processos. 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.

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:

Sistemas Operacionais. Escalonamento de processos

Processos. Escalonamento de Processos

Sistemas Operacionais Gerenciamento de Processos

Sistemas Operacionais

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

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

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais. Gerência de Processador

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Sistemas Operacionais Aula 7

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

Escalonamento da CPU

Escalonamento do CPU

Escalonamento da CPU

Escalonamento de Processos Estratégias de Escalonamento de Processos

Estratégias de Escalonamento de Processos

Gerência de Recursos. Gerência do Processador

Algoritmos de escalonamento

SOP - TADS Escalonamento de Processos

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

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

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

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

Infra-Estrutura de Software. Escalonamento

Escalonamento de Processos

Escalonamento de Processos

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

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

Gerência do Processador

Gerência do Processador

Fundamentos de Sistemas Operacionais

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

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

Escalonamento de processos

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

Escalonamento de Processos Uniprocessador

Aula 10: Escalonamento da CPU

Sistemas de Informação. Sistemas Operacionais

Sistemas de Computação. Processos e escalonamento

6 ESCALONAMENTO DE CPU

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

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

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

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

Sistemas Operacionais

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

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

Escalonamento de Tarefas

Sistemas Operacionais

Prof. Kleber R. Rovai

Questões de Provas de Períodos Anteriores

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

Técnicas Avançadas de Programação

Resumo: Sistemas Operacionais Abertos

Questões de Múltipla escolha

Sistemas Operativos. Um conjunto de rotinas de software que. virtualizando-o. diversos como o sistema de ficheiros e.

Sistemas Operacionais

}Escalonamento. Parte III - Sistemas Operacionais. Cap. 2 Processos. Escalonamento de Processos. Quando escalonar? Comportamento de Processos

Sistemas Operacionais

Sistemas Operativos: Escalonamento de Processos

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

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

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

Gerência de Recursos. Gerência do Processador

Sistemas Operacionais

Introdução a Arquitetura de Sistemas Operacionais. Parte 02

Transcrição:

Sistemas Operacionais Processos - Parte 3 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 3) 1 / 19

Algoritmos de Escalonamento Nas aulas anterior vimos o ESCALONADOR, que é uma parte do SO responsável pela escolha de qual tarefa deve ter a chance de executar. Classificação: Escalonamento não-preemptivo; chamadas de sistema (system call); liberação expĺıcita do controle (escalonamento cooperativo). Escalonamento preemptivo. chamadas de sistema (system call); Passagem do tempo. (Processos - Parte 3) 2 / 19

Métricas Utilização da CPU utilizar o máximo da CPU; Throughput número de processos finalizados em um dado intervalo de tempo; Tempo de execução tempo para finalizar a execução de um determinado processo no sistema; Tempo de espera quantidade de tempo que o processo ficou na fila de prontos; Tempo de resposta tempo entre a requisição e a saída do primeiro resultado (sistemas interativos). (Processos - Parte 3) 3 / 19

Objetivo Utilização máxima da CPU Throughput máximo Tempo de execução mínimo Tempo de espera mínimo Tempo de resposta mínimo (Processos - Parte 3) 4 / 19

Algoritmos de Escalonamento Algoritmos de escalonamento: Round-Robin; FIFO; Menor ciclo de processador; Prioridades. Filas múltiplas. (Processos - Parte 3) 5 / 19

Fatia de tempo Fatia de tempo O algoritmo de fatia de tempo (também chamado round-robin) faz com que cada processo tenha direito a executar por uma fatia de tempo (quantum). Existe um relógio no sistema que gera periodicamente uma interrupção (a cada quantum) e neste momento o escalonador verifica qual o novo processo deve executar. Além disso, se um processo estiver executando e realizar uma chamada de sistema (operação demorada), ele será suspenso e em seu lugar outro processo será posto em execução. (Processos - Parte 3) 6 / 19

Fatia de tempo Perguntas importantes: Qual o tamanho da fatia de tempo? Se a fatia de tempo for pequena? Se for grande? Exemplos: (considere um tempo de troca de contexto de 200us) a) Fatia de 1ms b) Fatia de 1s (Processos - Parte 3) 7 / 19

Fatia de tempo Se a fatia for 1ms: Processo A Executando Escalonador 1ms=1000us 200us (Processos - Parte 3) 8 / 19

Fatia de tempo Se a fatia for 1s: Processo 1 Processo 2...... Processo 20 (Processos - Parte 3) 9 / 19

Ordem de Chegada Ordem de chegada O escalonador que emprega a técnica da ordem de chegada (também chamado de FIFO - First-In First-Out) escolhe o processo que deve ganhar o processador como sendo o processo que está na frente da lista de processos aptos para executar. (Processos - Parte 3) 10 / 19

Ordem de Chegada Lista de processos Aptos para executar A B C D Na Execução Processo: Tempo que usa da CPU A 12 B 8 C 15 D 5 tempo Qual o tempo médio que os processos esperaram na lista para iniciarem sua execução? (Processos - Parte 3) 11 / 19

Ordem de Chegada Lista de processos Aptos para executar A B C D Na Execução Processo: Tempo que usa da CPU A 12 B 8 C 15 D 5 tempo Qual o tempo médio que os processos esperaram na lista para iniciarem sua execução? (Processos - Parte 3) 12 / 19

Ciclo de processador menor antes Ciclo de processador menor antes O algoritmo FIFO visto no slide anterior tinha o problema de resultar num tempo de espera na fila grande. Isto por que ele escolhia os processos na ordem que eles estavam na lista. O algoritmo Ciclo de processador menor antes ou (SJF - Shortest Job First) escolhe os processos de uma lista ordenada pelo seu tempo de processamento. Assim, se o processo D tem um tempo pequeno, ele será escolhido, depois o B, A e C. (Processos - Parte 3) 13 / 19

Ciclo de processador menor antes Utilizando o mesmo conjunto de processos do FIFO, temos que o tempo médio de espera é: (0+5+13+25)/4 = 10.75 que é menor do que 16.75 resultante do método FIFO. Pergunta importante? Como o projetista do SO sabe quanto um processo demorada para executar? Se existir um processo com tempo de execução muito grande, o que ocorre? (Processos - Parte 3) 14 / 19

Ciclo de processador menor antes Como determinar o tempo de processador necessário para um processo? Estimativas Normalmente baseadas nos ciclos de execução anteriores (Processos - Parte 3) 15 / 19

Prioridades Prioridades O Algoritmo Round Robin considera que todos os processos têm a mesma importância. Ocorre que em geral isso não é verdade e existe interesse em atribuir uma importância relativa a determinados processos e forma que estes tenham uma importância maior do que outros. Chamamos de prioridade um valor que indica a importância que um processo possui. Assim, podemos ter processos que são mais importantes que outros. Esse valor de importância (que podemos assumir que 1 é mais importante de todos, depois vem o número 2 e assim por diante) pode ser utilizado pelo escalonador para decidir qual processo deve ter o direito de executar. Como exemplo podemo ter: (Processos - Parte 3) 16 / 19

Prioridades Processo Prioridade tempo que usa da CPU A 3 12 B 4 8 C 2 15 D 1 5 (Processos - Parte 3) 17 / 19

Prioridades O escalonamento por prioridades, assim como o SJF pode levar a uma situação onde um processo de baixa prioridade nunca é escolhido para executar (starvation). Veja o exemplo: Na Execução Processo: Tempo que usa da CPU A 12 B 8 C 15 D 5 Prioridade 3 4 2 1 tempo (Processos - Parte 3) 18 / 19

Prioridades Redução de prioridade - Aging (Processos - Parte 3) 19 / 19