Sistemas Operacionais. Escalonamento de Processos

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

Sistemas de Computação. Processos e escalonamento

Processos. Escalonamento de Processos

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

Infra-Estrutura de Software. Escalonamento

Processos. Escalonamento de Processos

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

Sistemas Operacionais. Escalonamento de processos

Escalonamento de Processos

Processos. Escalonamento de Processos

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

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

Davidson Rodrigo Boccardo

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

Questões de Provas de Períodos Anteriores

Sistemas Operacionais Gerenciamento de Processos

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

Escalonamento de Processos

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

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

SSC0640 Sistemas Operacionais I

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

Sistemas Operacionais

Sistemas Operacionais

Davidson Rodrigo Boccardo

Algoritmos de escalonamento

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

Sistemas Operacionais

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

SISTEMAS OPERACIONAIS

Sistemas Operacionais

Escalonamento de Processos Estratégias de Escalonamento de Processos

Estratégias de Escalonamento de Processos

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Sistemas Operacionais: Escalonamento de processos

Sistemas Operacionais

SOP - TADS Escalonamento de Processos

Conceito de Processo. Estados de Processos. Diagrama de Estados de Processos

Sistemas Operacionais. Gerência de Processador

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

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais Aula 7

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

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

Sistemas de Informação. Sistemas Operacionais

Escalonamento do CPU

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

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

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

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

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

Gerência de Recursos. Gerência do Processador

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

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

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Temporização (Scheduling) de Processos

Fundamentos de Sistemas Operacionais

Processos. Estruturas de Controle

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Sistemas Operacionais

Questões de Múltipla escolha

Resumo: Sistemas Operacionais Abertos

Arquitetura de Sistemas Operativos

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

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

ENADE 2011 SISTEMAS OPERACIONAIS

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

SEM 544 Desenvolvimento de Produtos Mecatrônicos

Sistemas Operacionais

Escalonamento de Processos Uniprocessador

Processos. Conceitos Básicos

6 ESCALONAMENTO DE CPU

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

Escalonamento de Processos

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

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais I

Técnicas Avançadas de Programação

Escalonamento de processos

Processos. Processos e Recursos (1) Tabelas de Controle do S.O. Processos e Recursos (2)

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos

Processos. Conceitos Básicos

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

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

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

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

Sistemas Operacionais I

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos

Sistemas Operacionais. Capítulo 5 Processos

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

Processos. Conceitos Básicos

Escalonamento no Unix. Sistemas Operacionais

Escalonamento da CPU

Escalonamento da CPU

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ

Sistemas de Informação. Sistemas Operacionais

Transcrição:

Escalonamento de Processos arliones.hoeller@ifsc.edu.br de fevereiro de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto

Gerenciamento de processos Processo É uma instância de um programa em execução É uma entidade ativa Possui contexto e estado É executado sequencialmente ada instrução executada pertence a um processo Outros nomes Job em sistemas de lote (batch systems) Tarefa (task) em sistemas com time-sharing

Estado de um Processo Estado de um processo Em execução (running) Processo cujas instruções estão sendo executadas Processo aguardando por algum evento (ex.: operação de I/O) Em espera (waiting) Pronto (ready) Processo está pronto para entrar em execução, mas precisa aguardar por um processador disponível escalona create pronto interrupção I/O completo em execução exit requisição de I/O em espera 3

ontexto de Processo ontexto de Processo Informação que permite ao SO retomar a execução de um processo Process ontrol lock (P) Estado Registradores da PU Informação de escalonamento Informação de memória Inforamção de I/O Informação de contabilização Pilha do processo

Process ontrol lock Típico 5

Troca de ontexto 6

Espaço de Endereçamento de um Processo stack 7

riação de um Processo Um processo é criado quando outro processo invoca a chamada de sistema correspondente (ex.: fork) riador = processo pai (parent) riado = processo filho (child) Recursos do filho podem ser Herdados do pai locados no SO Quem cria o primeiro processo? Forjado pelo SO na inicialização Destruição de um Processo Natural: quando um processo termina e chama exit Forçado Pelo SO quando um processo opera erroneamente Por outro processo (pai) por qualquer razão (kill) (abort) 8

Processos oncorrentes Processos oncorrentes Processos Independentes ompartilhamento de recursos (concorrência) celeração com múltiplos elementos de processamento Um prgrama sequencial em execução ontexto privado Saída depende exclusivamente da entrada Processos ooperantes Um programa paralelo em execução ontexto compartilhado Saída depende também da ordem relativa de execução 9

Multiprogramação Processamento paralelo em uma PU Processos bloqueados deixam a PU Processos prontos assumem a PU Não há processamento simultâneo (uma PU) Métricas Tempo de resposta (turnaround time) Vazão (throughput) Utilização da PU

Multiprogramação SEM multiprogramação P PU I/O PU I/O 3 PU PU P 5 tempo = tu vazão =. proc/tu I/O 6 PU 7 I/O 8 PU 9 tempo médio de resposta = 7.5 tu utilização da PU = 6% OM multiprogramação P P PU I/O PU PU I/O I/O 3 PU tempo = 6 tu vazão =.33 proc/tu PU I/O 5 PU 6 tempo médio de resposta = 5.5 tu utilização da PU = %

Threads Também chamados de processos leves (lightweight) aixo custo de criação execução ocorre dentro de um processo (task) ompartilha código, dados e recursos da task Possui sua própria pilha Processo tradicional = task + thread

Threads Também chamados de processos leves (lightweight) aixo custo de criação execução ocorre dentro de um processo (task) ompartilha código, dados e recursos da task Possui sua própria pilha Processo tradicional = task + thread 3

Estruturas de Escalonamento de Processos Filas de prontos (ready) e E/S ready P P disk P P P3 disk Diagrama de filas do sistema ready queue I/O PU I/O queue I/O req. time event event queue wait

Escalonadores de Processos Escalonador de curto prazo (PU) Seleciona processos da fila de prontos Executa frequentemente precisa ser muito eficiente Escalonador de longo prazo (jobs) Seleciona processos autorizados a executar ontrole de admissão de processos Tenta balancear processos I/O-bound e PU-bound 5

Escalonadores de Processos Escalonador de médio prazo (swapper) Suspende processos temporariamente Para manter balanço entre o uso de E/S Devido ao esgotamento de memória swap in swap disk e PU swap out ready queue I/O PU I/O queue I/O request time event event queue wait 6

Escalonamento Preemptivo e Não-Preemptivo Os seguintes eventos modificam o estado de um processo e são observados pelo escalonador: - Novo processo no sistema - Muda seu estado de executando para em espera 3 - Muda seu estado de executando para pronto - Muda seu estado de em espera para pronto 5 - Termina ready 3 running 5 waiting 7

ritérios para escalonamento de processos Maximizar utilização da PU Maximizar vazão do sistema (processos/tempo) Minimizar tempo de resposta (tempo total) Minimizar tempo de espera dos processos Minimizar e/ou estabilizar tempo de resposta ao usuário 8

Políticas de Escalonamento de Processos First-ome First-Served (FFS) Shortest Job First Prioridade Estática Prioridade Dinâmica Round-Robin Fila Multinível E milhares de outros... 9

First ome First Served (FFS) Política Desempenho Fila de prontos (ready) utiliza política FIFO Processos novos inseridos no final Não-preemptivo Extremamente pobre quando um processo PU-bound bloqueia um processo I/O-bound Exemplo Process PU time rrival time 9 8 D 5 9 3 D 6 Tempo médio de resposta (TMR) = (9 + 3 + + 6) / = 7.5 tu Tempo médio de espera (TME) = ( + 9 + 3 + ) / =.75 tu

Shortest Job First (SJF) Política Processo que utilizará menos PU é executado antes Preemptivo ou não-preemptivo Desempenho lgoritmo ótimo em termos de tempo médio de resposta e tempo médio de espera a b c d TMR = (a + (a+b) + (a+b+c) +(a+b+c+d)) / = (a + 3b + c + d) / tu TME = ( + a + (a+b) + (a+b+c)) / = (3a + b + c) / tu Útil para processos cujos tempos máximos de execução são conhecidos

Shortest Job First (SJF) Exemplo Process PU time rrival time NP 9 8 D 5 3 9 D 3 8 6 TMR = (9 + + + 5) / = 5 tu TME = ( + 8 + 6 + ) / = 8.5 tu P D 5 8 6 TMR = (8 + + + 7) / = 3,5 tu TME = (9 + + 6 + ) / = 6.75 tu

SJF pproximation Política Estima tempo futuro baseado no passado recente Processos que têm tido menor tempo de PU é executado antes Fórmula p i=estimativa no momento i a=fator de relevância do passado p i=último tempo de execução do processo p i+=a p i+( a) p i Exemplo (a = /) Process p TMR = ( + 3 + 36) / 3 = 9.3 tu TME= ( + 8 + ) / 3 = 7.3 tu 6 6 t p t p t p 3 6 3 6 3 3 6 3 3 3 36 3

Prioridade Política Processo com maior prioridade é executado antes Proridades podem ser estáticas ou dinâmicas Preemptivo ou não-preemptivo Processos podem nunca ser executados Processos de baixa prioridade só executam quando processos com prioridade maior estão em espera Típico em sistemas de tempo real

Prioridade Estática Example Process PU time Priority rrival time NP 3 8 3 D 5 3 3 D 3 8 TMR = ( + 9 + + 5) / = 9.5 tu TME = ( + + 8 + ) / =.75 tu P 9 3 D 8 TMR = (3 + 8 + + 5) / =.5 tu TME = ( + + 7 + ) / = 7 tu 5

Round-Robin Política Processos são re-escalonados periodicamente baseados num quantum de tempo Fila circular FIFO Preemptivo Fórmula Para um dado conjunto de processos com n elementos e um quantum q: ada processo recebe /n de PU em ciclos não maiores que q unidades de tempo Tempo máximo de espera = (n ) x q Típico em sistemas com time-sharing 6

Round-Robin Exemplo (q = 5 tu) Process PU time rrival time 8 5 D 6 7 9 5 3 D 8 3 D 6 TMR = (3 + 6 + 5 + ) / =.5 tu TME = (5 + + 9 + 5) / = 5 tu 7

Fila Multinível Política Processos são agrupados Ex.: sistema, interativos, batch ada grupo tem sua própria fila sob uma política específica Processos podem trocar de grupos system processes interactive administrative processes interactive academic processes batch processes students processes 8

Exercícios alcule o tempo médio de resposta e o tempo médio de espera do sistema considerando o algoritmo SJF approximation. Processo p t p t p t p 3 6 9 Processo t t 6 9

Exercícios alcule o tempo médio de resposta e o tempo médio de espera do sistema considerando o Round-Robin com o quantum = 3; Processo Tempo de PU 3 hegada(tempo) 3 D 8 5 5 3