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

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

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

Sistemas Operacionais. Gerência de Processador

Gerência de Recursos. Gerência do Processador

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais Gerenciamento de Processos

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

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

Gerência de Recursos. Gerência do Processador

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

Sistemas Operacionais

Sistemas Operacionais

Estratégias de Escalonamento de Processos

Escalonamento de Processos Estratégias de Escalonamento de Processos

Sistemas Operacionais. Prof. André Y. Kusumoto

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Algoritmos de escalonamento

Davidson Rodrigo Boccardo

Sistemas Operacionais

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:

Escalonamento de Processos

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

Sistemas Operacionais Aula 7

Processos. Adão de Melo Neto

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.

Fundamentos de Sistemas Operacionais

Processos. Escalonamento de Processos

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

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

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

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

Escalonamento de Processos Uniprocessador

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

Sistemas Operacionais. Escalonamento de Processos

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

Infra-Estrutura de Software. Escalonamento

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

SOP - TADS Escalonamento de Processos

6 ESCALONAMENTO DE CPU

Sistemas Operacionais

Questões de Múltipla escolha

Sistemas Operacionais

Escalonamento do CPU

Sistemas Operacionais: Escalonamento de processos

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

Sistemas Operacionais

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.

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

Fundamentos de Sistemas Operacionais

Escalonamento da CPU

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

Sistemas Operacionais

Escalonamento da CPU

SSC0640 Sistemas Operacionais I

Temporização (Scheduling) de Processos

Escalonamento de Processos

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

Questões de Provas de Períodos Anteriores

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

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

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...

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

Escalonamento de processos

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

Escalonamento de Processos

Sistemas de Informação. Sistemas Operacionais

Unidade III Gerência de Processos

Sistemas Operacionais

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

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

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

Sistemas Operacionais. Processos e Threads

Resumo: Sistemas Operacionais Abertos

Fundamentos de Sistemas Operacionais

Sistemas de Computação. Processos e escalonamento

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

Escalonamento no Unix. Sistemas Operacionais

Escalonamento no Unix. Sistemas Operacionais

Fundamentos de Sistemas Operacionais

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

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

SISTEMAS OPERACIONAIS

ENADE 2011 SISTEMAS OPERACIONAIS

Fundamentos de Sistemas Operacionais

Notas da Aula 8 - Fundamentos de Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

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

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

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

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

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

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

Davidson Rodrigo Boccardo

Transcrição:

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

Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO São um critérios que determinar qual processo em estado de pronto será escolhido para fazer uso do processador apenas um processo em execução PROCESSO 2

Critérios de Escalonamento Utilização do Processador Quando o valor é de 30% (sistema com carga baixa) Quando o valor é de 90% (sistema bastante carregado) Throughput Número de processos executados em determinado intervalo de tempo Tempo de Processador/CPU Tempo que um processo leva no estado de execução durante seu processamento As políticas de escalonamento não influenciam este tempo Tempo de espera Tempo que um processo fica no estado de pronto aguardando ser executado Tempo de Turnaround Tempo que leva desde a criação até seu término Tempo de Resposta Tempo decorrido desde a requisição ao sistema até o instante que a resposta é exibida Busca-se maximizar Busca-se minimizar Não depende da política de escalonamento 3

Critérios de Escalonamento As características do sistema operacional (sistemas( de tempo compartilhado ou sistemas de tempo real) irão determinar quais os principais aspectos na implementação de uma política de escalonamento SISTEMA DE TEMPO COMPARTILHADO 4

Objetivos de uma Política de Escalonamento - Manter processador ocupado a maior parte do tempo - Balancear o uso da CPU entre os processos - Privilegiar aplicações críticas - Maximizar o throuput do sistema. - Minimizar o tempo de resposta 5

Escalonamentos Preemptivos Não-Preemptivos preempção Escalonamento PREEMPÇÃO Capacidade do sistema operacional interromper um processo e substituí-lo por um outro ESCALONAMENTOS NÃO- PREEMPTIVOS (nenhum evento pode ocasionar a perda do uso do processador) ESCALONAMENTO PREEMPTIVOS (o o sistema operacional pode interromper um processo e passá-lo para o estado de pronto, a fim de alocar outro processo na CPU) pronto, a fim de alocar outro processo na 6

Estados de um processo Estado de Execução Quando está sendo executado pela CPU Estado de Espera (bloqueado) Quando aguarda algum evento externo ou algum recurso para prosseguir seu processamento Quando apenas aguarda oportunidade para ser executado EXEMPLO Aguardando o término de operação de E/S Aguardando data/hora para continuar operação Após criação do processo o mesmo vai para lista de processos em estado de pronto 7

Mudança de Estados de um Processo (B) EXECUÇÃO ESPERA (gerada por eventos do processo: operações de E/S) (gerada por eventos externos: Sistema operacional suspende por um período de tempo a execução do processo) (A) PRONTO EXECUÇÃO ( escalonamento: : depende da política de escalonamento do Sistema Operacional) (D) EXECUÇÃO PRONTO (preempção:: um exemplo é o término da fatia de tempo que processo possui para sua execução) (C) ESPERA PRONTO (operação solicitada é atendida ou recurso esperado é concedido 8

Vantagens da Preempção Priorizar a execução de processos como no caso de aplicações de tempo real onde o fator de tempo é crítico. Implementar políticas de escalonamento que compartilhem o processador de maneira mais uniforme preempção 9

Troca de Estados de um Processo Quando um processo é criado ele entra no final da fila de estados de pronto Saída do estado de execução: termino do processamento ou ida para o estado espera Espera Execução: : os processos entram no final da fila de pronto. 10

TIPOS DE ESCALONAMENTOS NOME FIFO SJF Cooperativo Circular (Round Robin Schedule) Prioridades Circular por prioridades Múltiplas filas PREEMPÇÃO Não (sistema monoprogramado) Não (sistema monoprogramado) Sim (controlada pelo processo) Sim (preempção por tempo) Sim (preempção por prioridades) Sim (preempção por tempo e prioridades) Sim 11

ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO) Não-preemptivo Escalonamento: : quando o processo alcança início da fila de estados de pronto. F I 12

ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO) Dependem do posicionamento dos processos A, B e C na fila de estado de pronto. Tempo de Processador A (10), B (4) e C (3) Tempo de espera Tempo que um processo fica no estado de pronto aguardando ser executado Tempo de Turnaround Tempo que leva desde a criação até seu término Tempo Médio de Espera (0 + 10 + 14 )/3 = 8 u.t C B A Tempo Médio de Turnaround (10 + 14 + 17 )/3 = 10,33 u.t 13

ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO) Vantagens Simples Desvantagens Não dá para prever quando um processo terá sua execução iniciada Processos ligados à CPU (CPU-bound) têm vantagem em relação aos processos ligados à entrada/saída (I/O-bound). 14

ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF) Não-preemptivo Escalonamento:seleciona o processo em estado de pronto que tiver o menor tempo de processador ainda por executar. Tempo de processador: estimado com base em análises estatísticas de execuções passadas. A (10) B (4) C (3) Ordem do Escalonamento C (3) B (4) A (10) Ordem na Fila (exemplo) 15

ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF) Tempo de Processador A (10), B (4) e C (3) Tempo de espera Tempo que um processo fica no estado de pronto aguardando ser executado Tempo de Turnaround Tempo que leva desde a criação até seu término Tempo Médio de Espera (7 + 3 + 0 )/3 = 3,3 u.t Tempo Médio de Turnaround (17 + 7 + 3 )/3 = 9 u.t 16

ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF) Vantagem Redução do tempo médio de turnaround dos processos. Vantagem Desvantagens Impossibilidade de se estimar o tempo de processador para processos interativos (entrada de dados é uma ação imprevisível). Possibilidade de starvation quando existem muitos processos do tipo CPU-Bound. Tempo de Turnaround Tempo que leva desde a criação até seu término Tempo de processador Tempo que um processo leva no estado de execução durante seu processamento Starvation: um processo nunca alcança o estado de execução 17

ESCALONAMENTO COOPERATIVO Escalonamento preemptivo (preempção controlada pelo processo) Escalonamento: : um processo em execução pode voluntariamente liberar o processador retornando à fila de pronto, possibilitando que outro processo possa ser escalonado. Mecanismo Os processos quando entram na fila de pronto enviam mensagens a outros processos. O processo em execução verifica periodicamente sua fila de mensagens para determinar se existem outros processos na fila de pronto. Preempção controlada pelo processo F I 18

ESCALONAMENTO COOPERATIVO Vantagens Aumenta o grau de multiprogramação. Desvantagens Caso um processo não verifique a fila de mensagens, os demais não terão chance de serem executados. 19

ESCALONAMENTO CIRCULAR (Round Robin Schedule) Escalonamento preemptivo (preempção por tempo) Projetado para sistemas de tempo compartilhado. É semelhante ao FIFO com preempção por tempo. Existe um tempo limite para o uso do processados (time-slice( time-slice). No fim deste tempo, o sistema operacional interrompe o processo, salva seu contexto e o direciona ao final da fila de pronto. Preempção por tempo F I 20

ESCALONAMENTO CIRCULAR (Round Robin Schedule) Time Slice = 2 ut Tempo de espera Tempo que um processo fica no estado de pronto aguardando ser executado Tempo de Turnaround Tempo que leva desde a criação até seu término 21 Tempo Médio de Espera (0 + 2 + 4 )/3 = 2,0 u.t Tempo Médio de Turnaround (17 + 10 + 11 )/3 = 12,6 u.t

ESCALONAMENTO CIRCULAR (Round Robin Schedule) Vantagens Não permitir que um processo monopolize a CPU (redução do tempo de espera). Muito adequado para sistemas interativos Desvantagens Processos CPU-bound são mais beneficiados no uso do processador do que os I/O-bound, pois tendem a utilizar por completo a fatia de tempo. 22

ESCALONAMENTO POR PRIORIDADES Escalonamento Preemptivo (preempção por prioridade) Existe filas com prioridades definidas. Os processos em estado de pronto estarão na fila correspondente à sua própria prioridade (os processos possuem uma prioridade). Preempção por prioridade: Implementada por interrupção gerada em determinados intervalos de tempo Caso haja um processo na fila de pronto com prioridade maior de que o processo em execução, o sistema operacional realiza a preempção. O processo com maior prioridade em estado de pronto é escolhido para execução (escalonado). 23

ESCALONAMENTO POR PRIORIDADES Prioridade de Execuçãocaracterística característica do Contexto de Software do Processo Prioridade Estática (a prioridade do processo não é alterada durante a existência do processo) Prioridade Dinâmica (a prioridade do processo pode ser alterada de acordo com critérios do sistema operacional) 24

ESCALONAMENTO POR PRIORIDADES Tempo Médio de Espera (3 + 13 + 0 )/3 = 5,3 u.t Tempo Médio de Turnaround (13 + 17 + 3 )/3 = 11 u.t 25

ESCALONAMENTO POR PRIORIDADES Vantagens Permite diferenciar processos de acordo com sua importância. Útil em sistemas de tempo real Desvantagens Starvation Processos com baixa prioridade podem ficar indefinidamente na fila de pronto Solução: incremento gradual da prioridade de processos que ficam muito tempo na fila de pronto 26

ESCALONAMENTO CIRCULAR POR PRIORIDADES Escalonamento Preemptivo (por prioridade ou por fatia de tempo) Corresponde ao Escalonamento por prioridade onde a preempção ocorre por prioridade ou por término da fatia de tempo 27

ESCALONAMENTO POR MÚLTIPLAS FILAS Existem várias filas de processos em estado de pronto com uma prioridade específica. As filas estão associadas aos tipos de processos (ex: sistema, iterativos, batch). Os processos em estado de pronto estarão na fila correspondente ao tipo de processo que ele representa (o processo não possui prioridade, ficando esta característica associada a fila) Cada fila possui um mecanismo próprio de tipo de escalonamento. Sistema Operacional só pode escalonar processo de uma fila caso todas as outras filas de maior prioridade estejam vazias Escalonamento por prioridade Escalonamento Circular Escalonamento Circular 28

ESCALONAMENTO POR MÚLTIPLAS FILAS Vantagens Diversos mecanismos de escalonamento em um mesmo sistema operacional Desvantagens Um processo não pode ser redirecionado para uma outra fila mais adequada (caso altere seu comportamento no decorrer do tempo) 29

POLÍTICAS DE ESCALONAMENTO EM SISTEMAS DE TEMPO COMPARTILHADO 30

Os sistemas de tempo real caracterizam-se pelo processamento interativo (exigem tempo de espera pequeno) A MAIORIA DOS SISTEMAS OPERACIONAIS DE TEMPO COMPARTILHADO UTILIZAM O ESCALONAMENTO CIRCULAR COM PRIORIDADES DINÂMICAS 31

POLÍTICAS DE ESCALONAMENTO EM SISTEMAS DE TEMPO REAL 32

POLÍTICAS DE ESCALONAMENTO EM SISTEMAS DE TEMPO REAL O escalonamento por prioridade é o mais adequado desde que a cada processo é associado uma prioridade em função da importância do processo dentro da aplicação 33

Exercício 01

Exercício 01 P1 P2 P3 P4 P1 P2 P3 P4 P1 P3 P4 P1 P4 P4 35

Estados de um Processo Exercício

Mudança de Estados de um Processo Escalonamento 37

Vamos supor que temos a seguinte situação: Processos na fila estado de pronto: J-> I-> H->G->F->E->D->C Processo B em execução Processos na fila do estado de espera: A Indique como ficarão as filas e o processo em execução de acordo com os eventos discriminados Escalonamento

Escalonamento

Escalonamento