Davidson Rodrigo Boccardo

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

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

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

Processos. Escalonamento de Processos

Escalonamento de Processos

Sistemas de Computação. Processos e escalonamento

Sistemas Operacionais: Escalonamento de processos

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

Sistemas Operacionais

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

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. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

Escalonamento do CPU

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

Escalonamento da CPU

Escalonamento da CPU

Sistemas Operacionais. Escalonamento de processos

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais Gerenciamento de Processos

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

Escalonamento de Processos Uniprocessador

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Algoritmos de escalonamento

Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

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

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

Sistemas Operacionais

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

Aula 10: Escalonamento da CPU

Sistemas Operacionais

Escalonamento de Processos

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

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

Escalonamento de Processos Estratégias de Escalonamento de Processos

Estratégias de Escalonamento de Processos

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Resumo: Sistemas Operacionais Abertos

Infra-Estrutura de Software. Escalonamento

SISTEMAS OPERACIONAIS

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

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

SOP - TADS Escalonamento de Processos

Questões de Provas de Períodos Anteriores

Escalonamento de Processos

Fundamentos de Sistemas Operacionais

Sistemas Operacionais Aula 7

Gerência de Recursos. Gerência do Processador

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

6 ESCALONAMENTO DE CPU

Questões de Múltipla escolha

Sistemas Operacionais

Gerência do Processador

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

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

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

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 --)

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Sistemas Operativos. Escalonamento e sincronização. Rui Maranhão

Escalonamento de Tarefas

Gerência do Processador

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

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

Sistemas Operacionais

Capítulo 4 Gerência de Processador

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

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

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

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

Prof. José Rogado Universidade Lusófona. Lições de Sistemas Operativos

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

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

Sistemas Operativos 5ª parte - Escalonamento do CPU

Gerência de Recursos. Gerência do Processador

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

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

Transcrição:

Gerenciamento de processos Davidson Rodrigo Boccardo flitzdavidson@gmail.com

Revisão Critérios de alocação: Utilização da CPU Produtividade (Throughput) Número de processos finalizados por unidade de tempo Tempo de entrega (Turnaround time) Tempo que o processo leva para ser executado Tempo de espera Tempo que o processo fica aguardando na fila de prontos Tempo de resposta Intervalo de tempo entre o envio de uma requisição e a primeira resposta a essa requisição

Revisão Objetivo Maximizar a utilização da CPU Maximizar a produtividade (throughput) Minimizar o tempo de entrega Minimizar o tempo de espera Minimizar o tempo de resposta

Algoritmos de escalonamento First-Come, First-Served (FCFS) Shortest-Job-First (SJR) Prioridade Round-Robin (RR) Filas Multinível

First-Come, First-Served (FCFS) Ordem de chegada: P 1, P 2, P 3 Tempo de espera médio? P 1 = 0; P 2 = 24; P 3 = 27 Tempo de espera médio: (0+24+27)/3 = 17

First-Come, First-Served (FCFS) Suponha agora a ordem de chegada: P 2, P 3, P 1 Tempo de espera médio? P 1 = 6; P 2 = 0; P 3 = 3 Tempo de espera médio: (6+0+3)/3 = 3 É um algoritmo não-preemptivo. Problemas do FCFS?

Shortest-Job-First (SJF) Associa a cada processo a duração da próxima fase de uso da CPU (CPU burst) Escalona sempre o processo de menor duração da próxima fase de uso da CPU. Empate? Duas maneiras: Não preemptiva Preemptiva: se novos processos chegam com CPU burst menores que o tempo restante do processo em execução, este é tirado a força. Este algoritmo é conhecido como Shortest- Remaining-Time-First (SRTF). SJF é ótimo dá um tempo de espera médio mínimo para um dado conjunto de processos

Exemplo SJF não preemptivo Tempo de espera médio? (0+6+3+7)/4 = 4 Problema?

Exemplo SJF preemptivo (SRTF) SJF (preemptivo) ou SRTF (Shortest-Remaining-Time-First) Tempo de espera médio? (9+1+0+2)/4 = 3 Já que este algoritmo ótimo qual é o problema deste algoritmo?

Shortest-Job-First (SJF) Como determinar o tamanho do próximo CPU burst? Pode ser feita uma estimativa, através dos CPU bursts anteriores, usando média exponencial 1. t n = valor do n th CPU burst. n+1 = valor previsto para o próximo CPU burst 3., 0 1 4. Define: n+1 = t n + ( 1 ) n

Previsão do próximo CPU burst

Prioridade Uma prioridade (inteiro) é associada a cada processo A CPU é alocada para o processo com maior prioridade (menor inteiro, maior prioridade) SJF é um escalonamento por prioridade cuja prioridade é o tempo previsto do próximo CPU burst Duas maneiras: Não preemptiva Preemptiva Problemas? Starvation - Processos com menor prioridade nunca executam Solução? Aging (Envelhecimento) Aumento da prioridade dos processos com o passar do tempo

Round Robin (RR) Cada processo tem uma fatia de tempo (quantum time) Similar a um FCFS, porém com preempção Pergunta: Se existir n processos na fila de prontos e o quantum time for q, qual é o máximo tempo de espera? Desempenho q grande q pequeno FIFO alto overhead devido as mudanças de contexo

Exemplo Round Robin Quantum time = 20 Geralmente, maior tempo de entrega médio do que o SJF, mas melhor resposta

Quantum x nº trocas de contexto

Variação do tempo de entrega médio x quantum

Filas Multinível Fila de prontos é dividida de acordo com a classificação dos processos: Processos interativos (execução em primeiro plano) Processos não interativos (execução em segundo plano) Cada fila pode ter difentes algoritmos: Primeiro Plano RR Segundo Plano FCFS Deve existir escalonamento entre as filas Geralmente, alocação preemptiva com prioridades fixas. Ex. Todos processos foreground depois os background. Problema? Fatias de tempo cada fila tem uma certo montante de tempo de CPU para escalonamento de seus processos.

Escalonamento em Filas Multinível

Filas Multinível de retorno Um processo pode mover entre as filas Técnica aging pode ser implementado desta maneira Parâmetros? Número de filas Algoritmo de alocação da CPU usado para cada fila Método usado para determinar quando transferir um processo para uma fila de prioridade mais alta Método usado para determinar quando transferir um processo para uma fila de prioridade mais baixa Método usado para determinar em qual fila um processo deve ser colocado, quando precisar usar a CPU

Exemplo Filas Multinível Três filas: Q 0 time quantum 8 milisegundos Q 1 time quantum 16 milisegundos Q 2 FCFS Escalonamento Um novo processo entra na fila Q 0 e espera ser escalonado pela CPU, se demorar mais que 8 milisegundos o processo é movido para a fila Q 1 ; Quando não houver processos na fila Q 0, o processo terá mais 16 milisegundos, caso não termine neste tempo é movido para a fila Q 2 que é FCFS.

Exemplo Filas Multinível

Dúvidas?