Sistemas de Tempo-Real
|
|
|
- Liliana Gentil Aleixo
- 7 Há anos
- Visualizações:
Transcrição
1 Aula 5 Escalonamento usando prioridades fixas Escalonamento on-line com prioridades fixas O critério Rate-Monotonic limite de utilização de CPU Os critérios Deadline-Monotonic e prioridades fixas arbitrárias análise do tempo de resposta de pior caso Aula anterior (4) Introdução ao escalonamento de tarefas O conceito de complexidade temporal Definição de escalonamento e de algorítmo de escalonamento Algumas técnicas preliminares de escalonamento (EDD, EDF, BB) Escalonamento estático cíclico
2 Escalonamento on-line com prioridades fixas O escalonamento é construído com o sistema em funcionamento (on-line) e baseia-se num parâmetro estático (prioridade). A fila de tarefa prontas a executar é ordenada por prioridades decrescentes. Executa primeiro a que tem maior prioridade. (com preempção) Sempre que no topo da fila de tarefas prontas está uma tarefa com maior prioridade do que a que está a executar, esta última é suspensa (regressa à fila) e a nova tarefa é executada. Complexidade O(n) Fila de tarefas prontas... J i J k J n Topo da fila Escalonador Fila ordenada por prioridades fixas Escalonamento on-line com prioridades fixas A favor Facilmente escalável (alterações nas tarefas podem ser imediatamente tidas em conta pelo scheduler) Acomoda facilmente tarefas esporádicas Comportamento determinístico em sobrecargas (apenas as tarefas menos prioritárias são afectadas) Contra Implementação mais complexa (requer um kernel de prioridades fixas) Overhead de execução mais elevado (scheduler + dispatcher) Sobrecargas (e.g. devido a erros de projecto ou programação) ao nível de prioridades elevadas podem bloquear o sistema 4
3 Escalonamento on-line com prioridades fixas Atribuição de prioridades Inversamente proporcional ao período (RM Rate Monotonic) (óptimo em relação aos critérios de prioridades fixas) Inversamente proporcional à deadline (DM Deadline Monotonic) (óptimo quando D<=T) Proporcional à importância da tarefa (pode causar uma perda de eficiência não óptimo) 5 Escalonamento on-line com prioridades fixas Verificação de escalonabilidade Como o escalonamento só é construído on-line pode ser importante saber a priori se um dado conjunto de tarefas cumpre ou não os seus requisitos temporais. Existem dois tipos principais de testes de escalonabilidade: Baseados na taxa de utilização do CPU Baseados no tempo de resposta
4 Escalonamento RM Testes para RM baseados na taxa de utilização (com preempção, n tarefas independentes e D=T) Menor majorante de Liu&Layland (97) U(n) = S n i= (C i /T i ) n(/n -) => Uma activação por período garantida Majorante hiperbólico de Bini&Buttazzo&Buttazzo (00) P n i= (C i /T i +) => Uma activação por período garantida 7 Escalonamento RM Significado do teste de utilização de Liu&Layland U(n) > conjunto não escalonável (overload) condição necessária U(n) Majorante conjunto escalonável condição suficiente U(n) Majorante situação indeterminada Liu&Layland U() U() 0.8 U() U( ) ln() ~=0.9 U 0.9 Conjuntos com muitas tarefas (N>0) 8 4
5 Escalonamento RM exemplo Tabela de propriedades das tarefas Activação síncrona τ i T i C i τ τ τ t=0 t= t= U = / + / + / U = 0.75 < 0.78 => activação por período garantida 9 Escalonamento RM exemplo Tabela de propriedades das tarefas Activação síncrona τ i T i C i τ τ τ t=0 t= t= U = / + / + / = 0.9 > 0.78 => activação por período NÃO garantida mas praticável 0 5
6 Escalonamento RM exemplo Tabela de propriedades das tarefas Activação síncrona Perda de deadline τ i T i C i τ 4 τ τ. t=0 t= t= U = / + /4 +./ = 0.9 > 0.78 => activação por período NÃO garantida, com perda de deadline em t Escalonamento RM casos particulares τ U = / + /4 = τ t=0 t= t=4 τ U = / + /5 = 0.9 τ t=0 t= t=5
7 Escalonamento DM Testes de escalonabilidade para DM Quando uma tarefa tem um período de activação relativamente lento mas necessita de ser atendida dentro de um prazo mais curto pode definir-se uma deadline menor que o período e escalonar as tarefas pela deadline. Neste caso também se podem usar os testes baseados em utilização mas considerando a deadline em vez do período, i.e. U (n)=s n i= (C i /D i ) n(/n -) Contudo, este teste fica muito pessimista! τ (C =,T =,D =) τ t=0 t= t= Análise do tempo de resposta Para prioridades fixas arbitrárias, incluíndo RM, DM e outras, a análise do tempo de resposta permite realizar um teste de escalonabilidade que nas condições consideradas (preempção e activação síncrona mais independência) é necessário e suficiente (i.e. exacto!). Tempo de resposta de pior caso = máximo intervalo de tempo desde a activação até à terminação. Rwc i = max k (f i,k a i,k ) Teste de escalonabilidade com tempo de resposta Calcular Rwc i i " i, Rwc i D i conjunto escalonável 4 7
8 Análise do tempo de resposta O tempo de resposta de pior caso ocorre quando uma tarefa é activada em simultâneo com todas as tarefas de maior prioridade (instante crítico) Rwc, Rwc, τ Calculo de Rwc i " i, Rwc i = I i + C i τ t=0 t= t=5 I i interferência causada pela execução de tarefas de maior prioridade I i = S k hp(i) Ø Rwc i /T k ø * C k nº de vezes que a tarefa k de maior prioridade é activada no intervalo Rwc i 5 Análise do tempo de resposta A resolução da equação do tempo de resposta faz-se usando um processo iterativo que ou diverge (Rwc i >D i ) ou converge num número finito de passos ( Rwc i (m+)=rwc i (m)=rwc i ) Rwc i (0) = S k hp(i) C k + C i Rwc i (m+) = S k hp(i) ØRwc i (m)/t k ø * C k + C i 8
9 Análise do tempo de resposta Tabela de propriedades das tarefas Instante crítico τ i T i C i τ τ τ t=0 t= t= Rwc : Rwc (0) = C +C +C = 4 Rwc () = ØRwc (0)/T ø *C + ØRwc (0)/T ø*c + C = 5 Rwc () = ØRwc ()/T ø *C + ØRwc ()/T ø*c + C = 5.5 Rwc () = ØRwc ()/T ø *C + ØRwc ()/T ø*c + C = 5.5 Rwc = Restrições às análises apresentadas Os resultados anteriores têm de ser modificados no caso de: Não-preempção Não independência: Recursos partilhados Precedências E é necessário ter em conta o overhead do SO ou do Executivo (e.g., nas mudanças de contexto, no antendimento da interrupção de contagem do tempo) Bem como o tempo gasto no atendimento de interrupções assíncronas 8 9
10 Impacto da não-preempção Tabela de propriedades das tarefas Executa sem preempção τ i T i C i τ τ τ t=0 t= t= Bloqueio e perda de deadline 9 Resumo da Aula 5 Escalonamento on-line usando prioridades fixas O critério de escalonamento Rate Monotonic análise de escalonabilidade baseada na utilização O critério Deadline Monotonic e de prioridade fixa arbitrária Análise usando tempo de resposta de pior caso. 0 0
11 Trabalho para a Aula 7 Virtudes do escalonamento on-line Resumir e apresentar N. Audsley, K. Tindell, A. Burns (99). The end of the line for static scheduling? 5 th Euromicro Workshop on Real-Time Systems, Oulu, Finland. IEEE Computer Society Press, pp -4 (June, 99).
Sistemas de Tempo-Real
Aula Escalonamento usando prioridades dinâmicas Escalonamento on-line com prioridades dinâmicas O critério Earliest Deadline First limite de utilização de CPU Optimalidade e comparação com RM: nível de
Aula 5 Escalonamento usando prioridades fixas
Sistemas de Tempo-Real Aula 5 Escalonamento usando prioridades fixas Escalonamento on-line com prioridades fixas O critério Rate-Monotonic limite de utilização de CPU Os critérios Deadline-Monotonic e
Aula 8. Escalonamento de tarefas aperiódicas. Sistemas de Tempo-Real
Sistemas de Tempo-Real Aula 8 Escalonamento de tarefas aperiódicas Execução conjunta de tarefas periódicas e aperiódicas Utilização de servidores de tarefas aperiódicas Servidores de prioridades fixas
Escalonamento (Algoritmos Clássicos)
Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Escalonamento (Algoritmos Clássicos) Lucas Cordeiro [email protected] Notas de Aula Baseado nas
Escalonamento de Tarefas
Escalonamento de Tarefas Rômulo Silva de Oliveira ebook Kindle, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Escalonamento de Tarefas Sistemas de tempo real são organizados em torno
Escalonamento (Tarefas Esporádicas)
Universidade Federal do Amazonas Faculdade de Tecnologia Escalonamento (Tarefas Esporádicas) Lucas Cordeiro [email protected] Notas de Aula Baseado nas notas de aula do Prof. Francisco Vasques,
Notas da Aula 11 - Fundamentos de Sistemas Operacionais
Notas da Aula 11 - Fundamentos de Sistemas Operacionais 1. Escalonamento de Tempo Real Em sistemas de tempo real, o objetivo principal do escalonador é garantir que todos os processos sejam executados
Departamento de Engenharia Informática Licenciatura em Engenharia Informática Computadores e Sistemas Sistemas de Tempo Real
1. O modelo de processos - Notação Comecemos por sumariar a notação tipicamente utilizada durante as aulas teóricas. C D T Γ 1 Γ 1,1 Γ 1,2 0 3 6 9 12 tempo Activação da tarefa Fim da execução da tarefa
Escalonamento em Sistemas de Tempo Real
Escalonamento em Sistemas de Tempo Real Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação
RELÓGIOS. (d) Entre 101 e 99 milisegundos. (e) Entre 102 e 98 milisegundos.
RELÓGIOS 1) Em um sistema industrial, um computador A é responsável por registrar um certo evento EVA enquanto o computador B é responsável por registrar um certo evento EVB. Os cristais de quartzo usados
Escalonamento de Tarefas em sistemas monoprocessados
Capítulo 5 Escalonamento de Tarefas em sistemas monoprocessados Em sistemas de tempo-real o objetivo principal é de que cada processo produza resultados a tempo de serem úteis. Assim, é importante que
Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados
Sistemas de Tempo-Real Aula 7 Acesso exclusivo a recursos partilhados O acesso exclusivo a recursos partilhados A inversão de prioridades como consequência do bloqueio Técnicas básicas para acesso exclusivo
Simulador de Escalonamento para Sistemas de Tempo Real
Simulador de Escalonamento para Sistemas de Tempo Real Gisélia Magalhães Cruz 1, George Lima 1 1 Departamento de Ciência da Computação Universidade Federal da Bahia (UFBA) Avenida Adhemar de Barros, s/n
SOP - TADS Escalonamento de Processos
SOP - TADS Escalonamento de Processos Prof. Ricardo José Pfitscher [email protected] Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceito de Escalonamento
Inversão de prioridades
Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 46 Sumário 1 Dependência 2 Dependência Deadlocks 3 Classicação dos recursos 2 / 46 1 Dependência
Conceitos Básicos dos Sistemas de Tempo Real
Conceitos Básicos dos Sistemas de Tempo Real Rômulo Silva de Oliveira Edição do Autor, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Sistemas computacionais com requisitos de tempo
Executivo Cíclico. Executivo Cíclico Introdução. Sistemas de Tempo Real: Executivo Cíclico Exemplo. Executivo Cíclico Introdução
Sistemas de Tempo Real: Executivo Cíclico Rômulo Silva de Oliveira Departamento de Automação e Sistemas - DAS UFSC [email protected] http://www.romulosilvadeoliveira.eng.br Setembro/201 1 Também
Sistemas Operativos: Escalonamento de Processos
Sistemas Operativos: Escalonamento de Processos Pedro F. Souto ([email protected]) March 29, 2011 Sumário Escalonamento de Processos O Problema Algoritmos de Escalonamento de Processos Leitura Adicional Padrão
RTKPIC18. Breve Manual. (Real-Time Kernel PIC18FXX8) 1. Introdução. Pedro Leite nº21526 Ricardo Marau nº Janeiro 2004
RTKPIC18 (Real-Time Kernel PIC18FXX8) Breve Manual Pedro Leite nº21526 Ricardo Marau nº21089 Janeiro 2004 1. Introdução O kernel RTKPIC18 foi desenvolvido no âmbito de um projecto da cadeira de Sistemas
Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento
Aula 3 Escalonamento Escalonamento Porque? Quando? Como? Critérios? Políticas de escalonamento Como avaliar? Referências: Capítulo 5: 5.1 a 5.3, 5.6 Porque Escalonar? Escalonamento controla compartilhamento
Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo
Sumário Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. 1 Padrão de Execução dum Processo Processos (e threads) alternam: execução de instruções;
SISTEMAS EMBARCADOS. Escalonamento e Tempo Real. Prof. André Schneider de Oliveira
Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Escalonamento e Tempo Real Prof. André Schneider de Oliveira [email protected]
Escalonamento da CPU
Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de Minas Gerais IFMG Campus Ouro Branco https://garrocho.github.io [email protected] Sistemas de Informação
Escalonamento da CPU
Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/oso [email protected] Técnico em Informática
Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar
Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado
Processos. Escalonamento de Processos
Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:
Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.
Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Processos Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround: tempo total para executar
Processos. Escalonamento de Processos
Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:
Sistemas Operacionais Aula 7
Sistemas Operacionais Aula 7 Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software
Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado
Sistemas Operativos: Implementação de Processos
Sistemas Operativos: Implementação de Processos Pedro F. Souto ([email protected]) March 8, 2012 Sumário: Implementação de Processos Contexto (Estado) dum Processo Comutação de Processos Escalonamento de Processos
Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos
Escalonamento de Processos Estratégia de atribuição do Processador aos Processos 1. Introdução 2. Políticas de Escalonamento 3. Critérios para um bom escalonador 4. Caracterização dos escalonadores 5.
5 Escalonamento para tempo real
5 Escalonamento para tempo real 5.1 O problema de escalonamento Num sistema operativo multitarefa onde normalmente o número de tarefas é superior ao número de processadores, as tarefas são atribuídas a
Aula 4. Conceitos básicos de escalonamento. Sistemas de Tempo-Real
Sistemas de Tempo-Real Aula 4 Conceitos básicos de escalonamento Escalonamento de tarefas, taxonomia básica Técnicas de escalonamento preliminares Escalonamento estático cíclico Adaptado dos slides desenvolvidos
Sistemas de Tempo-Real
Aula Conceitos básicos de escalonamento Escalonamento de tarefas, taxonomia básica Técnicas de escalonamento preliminares Escalonamento estático cíclico Aula anterior () Executivos de tempo real Os estados
Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU
Definição? Algoritmo de Escalonamento de CPU 6 Terminado? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU? Executado quando ocorre estouro de Quantum ou interrupção do processo (I/O,
Introdução aos Sistemas de Tempo Real
Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática UFPE [email protected] [email protected] Assunto: [str] 88350950 34254714 SE::P & A::Software Sistemas de Tempo Real Sistemas
Escalonamento de Processos
Escalonamento de Processos Escalonamento de processos Multiprogramação visa maximizar uso da CPU Sempre que processos estão prontos disputam CPU Algoritmo de escalonamento: maneira de escolher o processo
Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)
Aula Passada Processos (Aula 6) Escalonamento de Processos O SO gerencia os recursos do sistema de computação em benefício dos processos Para isso, mantem estruturas de controles Tabelas (memória, I/O,
Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente...
GSI018 Sistemas Operacionais 05/09/2016 Escalonamento de Processos Na Aula Anterior... Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Utilização de Processos
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:
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: Tempo de Serviço Prioridade 10 3 1 1 P3 2 3 P4 1 4
Processos. Escalonamento de Processos
Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:
6 ESCALONAMENTO DE CPU
6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador
Estimação do Tempo de Resposta no Pior Caso
Estimação do Tempo de Resposta no Pior Caso Rômulo Silva de Oliveira ebook Kindle, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Sumário Análise do Tempo de Resposta Análise do Tempo
Notas da Aula 8 - Fundamentos de Sistemas Operacionais
1. Escalonamento Notas da Aula 8 - Fundamentos de Sistemas Operacionais Uma das funções de um SO é gerenciar o acesso aos recursos da máquina, por parte dos vários processos do sistema. Isto significa
Escalonamento de Processos
Porque é necessário escalonar? Escalonamento de s s precisam ser executados s concorrem a PU Escalonador: omponente (implementação) do sistema operacional etermina a ordem de dos baseado num algoritmo
Bacharelado em Ciência da Computação Sistemas Operacionais
Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Diego Mello da Silva Instituto Federal de Minas Gerais - Campus Formiga 13 de fevereiro de 2014 [email protected] (IFMG) Sistemas
Escalonamento de processos
de processos Carlos Gustavo A. da Rocha Nos computadores atuais frequentemente temos vários processos (threads) competindo por um pequeno número de CPUs Nestes casos uma escolha deve ser feita de qual
SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios
SISTEMAS OPERACIONAIS Prof a. Roberta Lima Gomes ([email protected]) 1ª. Lista de Exercícios Data de Entrega: não há. O objetivo da lista é ajudar no estudo individual dos alunos. Soluções de questões específicas
Sistemas Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento
Escalonador da CPU Sumário! Algoritmos de escalonamento Por Prioridades Round Robin Por Prioridades! A cada processo é associada uma prioridade Geralmente um número inteiro (vamos considerar que os números
Notas da Aula 10 - Fundamentos de Sistemas Operacionais
Notas da Aula 10 - Fundamentos de Sistemas Operacionais 1. Escalonadores preemptivos Escalonadores preemptivos são aqueles que têm a capacidade de interromper a execução de um processo para realizar alterações
Sistemas de Computação. Processos e escalonamento
Processos e escalonamento Sistema operacional Programa que age como intermediário entre o usuário de um computador e o hardware Objetivos: Executar programas do usuário e facilitar a resolução de problemas
Sistemas Operacionais. Escalonamento de processos
Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas
Sistemas Operacionais. Gerência de Processador
Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento
Gerência de Recursos. Gerência do Processador
Gerência de Recursos Gerência do Processador Introdução Com o surgimento dos sistemas multiprogramáveis, onde múltiplos processos poderiam permanecer na memória principal compartilhando o uso da CPU, a
Sistemas Operacionais
Sistemas Operacionais Processos - Parte 3 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 3) 1 / 19 Algoritmos de Escalonamento Nas aulas anterior vimos o ESCALONADOR, que é uma parte do SO responsável
Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais
Escalonamento Pedro Cruz EEL770 Sistemas Operacionais Avisos Propostas de trabalho já foram revisadas Todos os grupos foram comunicados 2 Jantar dos filósofos - Dijkstra Filósofos estão jantando em uma
Gerência do Processador. Adão de Melo Neto
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
Sistemas Operacionais
Sistemas Operacionais Aula 10 Escalonamento Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: Prof. SO José - Prof. Juan Edilberto Espantoso Silva Sumário Introdução
