Gerência de Recursos. Gerência do Processador

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

Sistemas Operacionais. Gerência de Processador

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

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

Sistemas de Informação. Sistemas Operacionais

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

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

Sistemas Operacionais. Escalonamento de processos

Sistemas Operacionais Gerenciamento de Processos

Sistemas Operacionais

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:

Algoritmos de escalonamento

Sistemas Operacionais. Prof. André Y. Kusumoto

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

Sistemas Operacionais

Sistemas Operacionais

Estratégias de Escalonamento de Processos

Escalonamento de Processos Estratégias de Escalonamento de Processos

Sistemas Operacionais: Escalonamento de processos

Escalonamento de Processos

Fundamentos de Sistemas Operacionais

Escalonamento de Processos Uniprocessador

Sistemas Operacionais Aula 7

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

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

Processos. Escalonamento de Processos

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

Processos. Escalonamento de Processos

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

SOP - TADS Escalonamento de Processos

Sistemas Operacionais

Processos. Escalonamento de Processos

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Escalonamento da CPU

Escalonamento da CPU

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

Questões de Múltipla escolha

Davidson Rodrigo Boccardo

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

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

Sistemas Operacionais

Gerência de Recursos. Gerência do Processador

Resumo: Sistemas Operacionais Abertos

Infra-Estrutura de Software. Escalonamento

Sistemas Operacionais

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

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

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

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

Escalonamento do CPU

Sistemas Operacionais

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

Temporização (Scheduling) de Processos

Sistemas de Computação. Processos e escalonamento

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

Fundamentos de Sistemas Operacionais

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

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Questões de Provas de Períodos Anteriores

Sistemas Operacionais. Escalonamento de Processos

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Responsável pelo Conteúdo: Profª. Dr. Luciano Silva. Revisão Técnica: Prof. Ms. Fábio Peppe Beraldo. Revisão Textual: Profª. Esp.

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Matriz Discursiva do MÓDULO C FASE II 23/11 até 18/12

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.

6 ESCALONAMENTO DE CPU

Sistemas Operacionais

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

Sistemas de Informação. Sistemas Operacionais

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA GABRIEL BOJKO LUIZ OTÁVIO OYAMA

Escalonamento de Processos

SSC0640 Sistemas Operacionais I

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais

Sistemas Operacionais

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

Unidade III Gerência de Processos

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

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

Escalonamento de processos

Sistemas de Informação. Sistemas Operacionais

ENADE 2011 SISTEMAS OPERACIONAIS

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 09. Escalonadores. Conceito, escalonamento, filas de escalonamento e tipos de escalonadores.

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

Aula 10: Escalonamento da CPU

Escalonamento de Processos

4 Políticas de Comunicação

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais

Sistemas Operacionais. Processos e Threads

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

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

Sistemas Operacionais

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

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

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Transcrição:

Gerência de Recursos Gerência do Processador

Escalonamento Não-Preemptivos e Preemptivos Preempção - possibilidade de o SO interromper um processo em execução e substituí-lo por um outro. O Escalonamento não-preemptivo foi o primeiro tipo de escalonamento implementado nos sistemas multiprogramáveis, onde predominava tipicamente o processamento batch.

Escalonamento Não-Preemptivos e Preemptivos Nesse tipo de escalonamento, quando um processo está em execução nenhum evento externo pode ocasionar a perda do uso do processador. Só muda de estado quando terminar ou execute instruções que ocasionem uma mudança para o estado de espera Exemplos: Windows 3.1 e IBM OS/2.

Escalonamento Não-Preemptivos e Preemptivos O escalonamento preemptivo é caracterizado pela possibilidade do SO interromper um processo em execução e passá-lo para o estado de pronto, com o objetivo de alocar outro processo na CPU. Com o uso da preempção, é possível ao sistema priorizar a execução de processos, como no caso de aplicações de tempo real onde o fator tempo é crítico.

Escalonamento Não-Preemptivos e Preemptivos Outro benefício é a possibilidade de implementar políticas de escalonamento que compartilhem o processador de uma maneira mais uniforme, distribuindo de forma balanceada o uso da CPU. Exemplos: Windows 95/98..., Linux, QNX.

Escalonamento First-In-First-Out(FIFO) O processo que chegar primeiro ao estado de pronto é o selecionado para execução. Algoritmo bastante simples, sendo necessária apenas uma fila, onde os processos que passam para o estado de pronto entram no seu final e são escalonados quando chegam ao seu início.

Escalonamento First-In-First-Out(FIFO) Estado de Criação Fila dos processos no estado de Pronto UCP Estado de Término Estado de Espera

Escalonamento First-In-First-Out(FIFO) A seguir é possível comparar o uso do escalonamento FIFO em duas situações distintas, onde os processos A, B e C são criados no instante de tempo 0, com os tempos de processador 10, 4 e 3. A diferença entre os exemplos é o posicionamento dos processos na fila de pronto.

Escalonamento First-In-First-Out(FIFO) Tempo médio de espera dos processos = (7 + 0 + 4) / 3 = 3,7 u.t. Tempo médio de espera dos processos = (0 + 10 + 14) / 3 = 8 u.t.

Escalonamento First-In-First-Out(FIFO) Apesar de simples possui deficiências. Impossibilidade de se prever quando um processo terá sua execução iniciada, já que isso varia em função do tempo de execução dos demais processos e posicionados a sua frente. Processos ligados as CPU levam vantagens sobre processos E/S. É do tipo não-preemptivo.

Escalonamento Shortest-Job-First(SJF) Seleciona o processo que tiver o menor tempo de processador ainda por executar. Desta forma, o processo em estado de pronto que necessitar de menos tempo de CPU para terminar seu processamento é selecionado para execução.

Escalonamento Shortest-Job-First(SJF) Processo A Processo B Processo C 3 7 17 u.t. Tempo médio de espera dos processos = (7 + 3 + 0) / 3 = 3,3 u.t.

Escalonamento Shortest-Job-First(SJF) Para cada novo processo admitido no sistema, um tempo de processador era associado ao seu contexto de software. Como não é possível precisar previamente o tempo de processador para cada processo, uma estimativa era realizada com base em análises estatísticas de execuções passadas dos programas. Caso seja inferior o SO pode interromper a execução.

Escalonamento Shortest-Job-First(SJF) É do tipo não-preemptivo. Vantagem sobre o FIFO, tempo médio, porém pode ocorrer espera indefinida para processo com tempo de processador muito longo.

Escalonamento Cooperativo É uma implementação que busca aumentar o grau de multiprogramação em políticas de escalonamentos que não possuam mecanismos de preempção (FIFO - SJF). Neste caso, um processo em execução pode voluntariamente liberar o processador retornando à fila de pronto, possibilitando que um novo processo seja escalonado.

Escalonamento Cooperativo A principal característica está no fato de a liberação do processador ser uma tarefa realizada exclusivamente pelo processo em execução. Verifica periodicamente uma fila de mensagens para determinar se existem outros processos na fila de pronto. No caso de um processo não verificar a fila de mensagens, os demais não terão chance de ser executados. Exemplo: primeiros SO Windows.

Escalonamento Circular Round Robin Scheduling Do tipo preemptivo, projetado especialmente para sistemas de tempo compartilhado. Bastante semelhante ao FIFO; porém, quando um processo passa para o estado de execução, existe um tempo limite para o uso contínuo do processador denominado fatia de tempo (time-slice).

Escalonamento Circular Toda vez que um processo é escalonado para execução, uma nova fatia de tempo e concedida. Caso a fatia de tempo expire, o SO interrompe o processo em execução, salva seu contexto e direciona-o para o final da fila de pronto. (Preempção por tempo).

Escalonamento Circular Estado de Criação Fila dos processos no estado de Pronto UCP Estado de Término Preempção por tempo Estado de Espera

Escalonamento Circular O processo permanecerá no estado de execução até que termine seu processamento, voluntariamente passe para o estado de espera, ou que sua fatia de tempo expire, sofrendo, neste caso a preempção por tempo. O valor da fatia de tempo depende de cada SO e, em geral, varia entre 10 e 100 milissegundos.

Escalonamento Circular A principal vantagem e que um processo não monopoliza a CPU. Um problema presente nesta política e que processos ligados ao Processador são beneficiados no uso em relação aos ligados a E/S. Um refinamento deste e conhecido como escalonamento circular virtual.

Escalonamento Circular Estado de Criação Fila dos processos no estado de Pronto UCP Estado de Término Preempção por tempo Fila auxiliar Estado de Espera

Escalonamento Circular Neste esquema, processos que saem do estado de espera vão para uma fila de pronto auxiliar. Processos da fila auxiliar possuem preferência no escalonamento em relação à fila de pronto, e o escalonador só seleciona processos na fila de pronto quando a fila auxiliar estiver vazia.

Escalonamento por prioridades É do tipo preemptivo realizado com base em um valor associado a cada processo denominado prioridade de execução. Processos com maior prioridade no estado de pronto é sempre o escolhido para execução, e processos com valores iguais são escalonados seguindo o critério de FIFO. Não existe a idéia de fatia de tempo.

Escalonamento por prioridades A perda do uso do processador só ocorrerá no caso de uma mudança voluntária para o estado de espera ou quando um processo de prioridade maior passa para o estado de pronto. Conhecido como preempção por prioridade.

Escalonamento por prioridades Filas dos processos no estado de Pronto Pr ior idade P1 Pr ior idade P2 Estado de Criação UCP Estado de Término Pr ior idade Pn Preempção por prioridade Estado de Espera

Escalonamento por prioridades Cada SO implementa sua faixa de valores para as prioridades de execução. Alguns SO associam as maiores prioridades a valores altos, enquanto outros utilizam valores baixos. OpenVMS - 0 a 31, onde 31 é a maior. IBM-AIX - 0 a 127, onde 0 é a maior.

Escalonamento por prioridades Processo A Processo B Pr ocesso A Tempo de processador (u.t.) 10 Prioridade 2 Processo C B C 4 3 1 3 3 13 17 u.t.

Escalonamento por prioridades A prioridade de execução é uma característica do contexto de software de um processo e pode ser classificada como estática ou dinâmica. A prioridade estática não tem o seu valor alterado durante a existência do processo A prioridade dinâmica pode ser ajustada de acordo com critérios definidos pelo SO.

Escalonamento por prioridades Um dos principais problemas no escalonamento por prioridades é a espera indefinida. Processo de baixa prioridade podem não ser escalonados, permanecendo indefinidamente na fila de pronto. Possível solução em sistemas de prioridade dinâmica, é a técnica de aging, que incrementa gradualmente a prioridade de processos que permanecem por muito tempo na fila de pronto.

Escalonamento Circular por prioridades Implementa o conceito de fatia de tempo e de prioridade de execução associada a cada processo. Um processo permanece no estado de execução até que termine seu processamento, voluntariamente passe para o estado de espera ou sofra uma preempção por tempo ou prioridade.

Escalonamento Circular por prioridades Principal vantagem desse escalonamento é permitir o melhor balanceamento no uso da CPU, com a possibilidade de diferenciar o grau de importância dos processos. Este tipo de escalonamento é amplamente utilizado em sistemas de tempo compartilhado.

Escalonamento por Múltiplas Filas Existem diversas filas de processos no estado de pronto, cada qual com uma prioridade específica. Os processos são associados às filas em função de características próprias, como importância para a aplicação, tipo de processamento ou área de memória necessária.

Escalonamento por Múltiplas Filas A principal vantagem de múltiplas filas é a possibilidade da convivência de mecanismos de escalonamento distintos. Cada fila possui um mecanismo próprio, permitindo que alguns processos sejam escalonados pelo mecanismo FIFO, enquanto outros pelo circular. Neste mecanismo, o processo não possui prioridade, ficando esta característica associada a fila.

Escalonamento por Múltiplas Filas Maior prioridade Fila de processos do sistema Fila de processos interativos UCP Menor prioridade Fila de processos batch Uma desvantagem deste escalonamento é que, no caso de um processo alterar seu comportamento no decorrer do tempo, o processo não poderá ser redirecionado para uma outra fila mais adequada.

Escalonamento por Múltiplas Filas com Realimentação É semelhante ao escalonamento por múltiplas filas, porém os processos porém trocar de fila durante seu processamento. Sua grande vantagem é permitir ao SO identificar dinamicamente o comportamento de cada processo, direcionando-o para fila com prioridade de execução e mecanismo de escalonamento mais adequados ao longo de seu processamento.

Escalonamento por Múltiplas Filas com Realimentação Esse esquema permite que os processos sejam redirecionados entre as diversas filas, fazendo com que o SO implemente um mecanismo de ajuste dinâmico denominado mecanismo adaptativo. Os processos não são previamente associados às filas de pronto, e, sim, direcionados pelo sistema para as filas existentes com base no seu comportamento.

Escalonamento por Múltiplas Filas com Realimentação Maior Prioridade Fila 1 (FIFO Adaptado) Preempção por tempo Menor fatia de tempo Fila 2 (FIFO Adaptado) Preempção por tempo Fila 3 (FIFO Adaptado) UCP Preempção por tempo Menor Prioridade Fila n (Circular) Preempção por tempo Maior fatia de tempo