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 Operacionais. Capítulo 8 Gerência do Processador

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais Gerenciamento de Processos

Gerência de Recursos. 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

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

Estratégias de Escalonamento de Processos

Escalonamento de Processos Estratégias de Escalonamento de Processos

Sistemas Operacionais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Algoritmos de escalonamento

Fundamentos de Sistemas Operacionais

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

Davidson Rodrigo Boccardo

Escalonamento de Processos

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais Aula 7

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

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

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

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

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

Questões de Múltipla escolha

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

Sistemas Operacionais: Escalonamento de processos

Escalonamento do CPU

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.

Escalonamento de Processos Uniprocessador

Processos. Escalonamento de Processos

Sistemas Operacionais

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

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

6 ESCALONAMENTO DE CPU

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

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

Sistemas de Computação. Processos e escalonamento

Temporização (Scheduling) de Processos

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

SOP - TADS Escalonamento de Processos

Infra-Estrutura de Software. Escalonamento

Processos. Adão de Melo Neto

Fundamentos de Sistemas Operacionais

Escalonamento de processos

Sistemas Operacionais. Escalonamento de Processos

Questões de Provas de Períodos Anteriores

Sistemas Operacionais

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

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 Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento

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

Fundamentos de Sistemas Operacionais

Resumo: Sistemas Operacionais Abertos

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

Escalonamento de Processos

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

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

Escalonamento no Unix. Sistemas Operacionais

Sistemas Operacionais. Processos e Threads

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

SSC0640 Sistemas Operacionais I

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

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

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Escalonamento no Unix. Sistemas Operacionais

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

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

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

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

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 no Unix. Sistemas Operacionais

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

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

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

Unidade III Gerência de Processos

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

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

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais

SISTEMAS OPERACIONAIS

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

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

Sistemas Operacionais

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

Introdução a Sistemas Operacionais. Adão de Melo Neto

Notas da Aula 8 - Fundamentos de Sistemas Operacionais

03 GERÊNCIA DO PROCESSADOR

Sistemas Operacionais

Fundamentos de Sistemas Operacionais

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 Como diversos processos podem estarem estado de pronto devem ser estabelecidos critérios para determinar qual processo será escolhido para fazer uso do processador Programa Processo 2

Processo/Memória Principal (revisão) 3

Critérios de Escalonamento Utilização do Processador 30% (sistema com carga baixa) e 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 ou aplicação até o instante que a resposta é exibida Busca-se maximizar Busca-se minimizar 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 4

Funções 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. - Maximizar o tempo de resposta Rotina SCHEDULER Implementar a política de escalonamento do processador Rotina DISPATCHER Rotina DISPATCHER Implementar a troca de contexto entre processos 5

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

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

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 8

ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO) Não-preemptivo Os processos que passam para o estado de pronto entram no final de uma fila e são escalonados quando chegam ao seu início. Processo em execução termina o seu processamento ou vai para o estado de espera o primeiro processo da fila é escalonado. Processos que saem da fila de estado de espera entram no final da fila de pronto. Final Início 1 o processo Escalonamento FIFO Processo em execução 9

ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO) Duas situações distintas que 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 Médio de Espera (0 + 10 + 14 )/3 = 8 u.t C B A Tempo Médio de Espera (7 + 0 + 4 )/3 = 3,7 u.t A C B 10

ESCALONAMENTO FIRST-IN_FIRST-OUT (FIFO) Vantagens Simples Desvantagens Impossibilidade de se prever quando um processo terá sua execução iniciada (não se preocupa em melhorar o tempo médio do processo) Processos CPU-bound levam vantagem em relação aos processos I/O-bound 11

ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF) Não-preemptivo em sua concepção original 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) C (3) B (4) A (10) Como será executado Ordem na Fila (exemplo) 12

ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF) Tempo de Processador A (10), B (4) e C (3) Tempo Médio de Espera (7 + 3 + 0 )/3 = 3,3 u.t 13

ESCALONAMENTO SHORSTEST-JOB-FIRST (SJF) Vantagens Redução do tempo médio de turnaround (desde da criação do processo até o seu fim)dos processos. Desvantagens Impossibilidade de se estimar o tempo de processador para processo interativos (entrada de dados é uma ação imprevisível). Possibilidade de starvation para processos do tipo CPU-Bound 14

ESCALONAMENTO COOPERATIVO Escalonamento preemptivo (preempção controlada pelo processo) Um processo em execução pode voluntariamente liberar o processador retornando à fila de pronto, possibilitando que outro processo possa ser escalonado. Um processo em execução verifica periodicamente a fila de mensagens para determinar se existem outros processos na fila de pronto. 15

ESCALONAMENTO COOPERATIVO Vantagens Aumenta o grau de multiprogramação em políticas de escalonamento que não possuem mecanismo de preempção. Desvantagens Caso um processo não verifique a fila de mensagens, os demais não terão chance de serem executados. Exemplo de Uso Primeiros sistemas operacionais Microsoft Windows ( multitarefa cooperativa ) 16

ESCALONAMENTO CIRCULAR (Round( Robin Schedule) Escalonamento preemptivo Projetado para sistemas de tempo compartilhado. Semelhante ao FIFO, porém quando passa para o estado de execução existe um tempo limite para o uso do processados (time- slice). Fim do time-slice slice,, o sistema operacional interrompe o processo, salva seu contexto e o direciona ao final da fila de pronto. 17

ESCALONAMENTO CIRCULAR (Round( Robin Schedule) Exemplo onde a fatia de tempo é igual a 2 u.t 18

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

ESCALONAMENTO POR PRIORIDADES Escalonamento Preemptivo (implementável de forma não-preemptiva preemptiva) Um valor (prioridade de execução) é associado a cada processo e para cada prioridade existe uma fila Reavaliação das Prioridades Periodicamente: O processo com maior prioridade em estado de pronto é escolhido para execução (escalonado). Processo com valores iguais de prioridade são escolhido de acordo com FIFO Preempção por prioridade: Não existe o conceito de time-slice (não existe preempção por tempo) 20

ESCALONAMENTO POR PRIORIDADES PREEMPÇÃO POR PRIORIDADE Implementada por interrupção de clock gerada em determinados intervalos de tempo a fim de que a rotina de escalonamento reavalie as prioridades dos processos na fila de estado de pronto. Caso haja processos na fila de pronto com maior prioridade que o processo em execução, o sistema operacional realiza a preempção 21

ESCALONAMENTO POR PRIORIDADES IBM-AIX prioridade: 1 a 127 Prioridade de 1 a 5 22

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

ESCALONAMENTO POR PRIORIDADES Vantagens Permite diferenciar processos de acordo com sua importância. Desvantagens Starvation Processos com baixa prioridade podem ficar indefinidamente na fila de pronto Solução: mecanismo de aging (incremento gradual da prioridade de processos que ficam muito tempo na fila de pronto) Exemplo de Uso Útil em sistemas de tempo real e aplicações de controle de processo. 24

ESCALONAMENTO CIRCULAR POR PRIORIDADES Escalonamento Preemptivo Um valor (prioridade de execução) é associado a cada processo e para cada prioridade existe uma fila Preempção por prioridade ou por tempo (time-slice slice) 25

ESCALONAMENTO POR MÚLTIPLAS FILAS Existem várias filas de processos em estado de pronto com uma prioridade específica. O processo não possui prioridade,, ficando esta característica associada a fila As filas estão associadas aos tipos de processos (ex( ex: : sistema, iterativos, batch). Cada fila possui um mecanismo próprio de escalonamento (isto permite que alguns sejam escalonados pelo mecanismo FIFO enquanto outros pelo outro pelo circular) 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 26

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

POLÍTICAS DE ESCALONAMENTO EM SISTEMAS DE TEMPO COMPARTILHADO Caracterizam pelo processamento interativo (exigem tempo de resposta rápidos) A escolha da política para atingir este propósito deve levar em consideração o compartilhamento da CPU de forma interativa Comportamento dos processos CPU-Bound e I/O-Bound nos escalonamentos apresentados 28

POLÍTICAS DE ESCALONAMENTO EM SISTEMAS DE TEMPO COMPARTILHADO Comportamento dos processos CPU-Bound e I/O-Bound no Escalonamento FIFO Muitas operações I/O Grande parte do tempo em estado de espera Processador distribuído de forma bastante desigual 29

Mudança de Estados de um Processo (revisão) 30

POLÍTICAS DE ESCALONAMENTO EM SISTEMAS DE TEMPO COMPARTILHADO Comportamento dos processos CPU-Bound e I/O-Bound no Escalonamento Circular com time-slice igual a 5 Melhoria da distribuição do tempo de processador em relação ao FIFO 31

POLÍTICAS DE ESCALONAMENTO EM SISTEMAS DE TEMPO COMPARTILHADO Comportamento dos processos CPU-Bound e I/O-Bound no Escalonamento Circular com Prioridades Há uma melhoria do compartilhamento do uso do processador pois foi possível associar maior prioridade ao processo B (I/O-Bound Bound) 32

POLÍTICAS DE ESCALONAMENTO EM SISTEMAS DE TEMPO COMPARTILHADO A MAIORIA DOS SISTEMAS OPERACIONAIS DE TEMPO COMPARTILHADO UTILIZAM O ESCALONAMENTO CIRCULAR COM PRIORIDADES DINÂMICAS 33

POLÍTICAS DE ESCALONAMENTO EM SISTEMAS DE TEMPO REAL Sistemas de Tempo Real É garantida a execução de processos dentro de limites rígidos de tempo, sem o risco da aplicação ficar comprometida. Escalonamento O escalonamento deve levar em consideração a importância de cada tarefa na aplicação Escalonamento mais Adequado 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 34