Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.

Slides:



Advertisements
Apresentações semelhantes
Deadlocks Professora: Lúcia Drummond. Deadlocks Recursos: hardware ou informação Preemptivo Não preemptivo Uso do Recurso: 1. Pedido (Request ou Open)
Advertisements

Sistemas Operacionais Sincronismo e Comunicação entre processos
Metodologia de testes Nome: Gustavo G. Quintão
Algoritmos de Escalonamento
Sistemas Operacionais Gerência de Processador
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores.
Sistemas Operacionais - 2
Bloqueios partilhados
Evolução Arquitetural e Microprogramação
Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks
Escalonamento Linux.
Conceitos de Programação Paralela - 2
Capítulo 7: Deadlocks.
Deadlock Marcos José Santana Regina Helena Carlucci Santana
Deadlock SISTEMAS OPERACIONAIS
Capítulo 3 Deadlocks - Impasses 3.1. Recurso
Sincronização de Processos (2)
Sistemas de Tempo Real: Abordagens de Escalonamento
André Luis Meneses Silva Programação Concorrente (Sistemas de Tempo Real)
Escalonamento de Tempo Real Introdução
Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM)
Sistemas Operacionais Adriana Vettorazzo
Exclusão Mútua A solução mais simples para evitar os problemas de compartilhamento é impedir que dois ou mais processos estiver acessando determinado recurso,
Sistemas Operacionais
Sistemas em Tempo Real Módulo 2: Concorrência: Conceito de processos; estados de processos; algoritmos para escalonamento de processos; Regiões Críticas;
Monitores.
Unidade 1-1 Processos e Threads
Erivelto TSchoeke 1/12. Cenário Definição de tarefas Processamento em sistemas mono-tarefas Sistemas multi-tarefas Sistemas multi-tarefas com time-sharing.
Gerência de Recursos Processador
SVA e SVL Sidney Nogueira e André Didier. Roteiro Criar um algoritmo usando seções atômicas. Verificar as propriedades de seção crítica. – Usar diretiva.
Escalonabilidade em tarefas Dependentes: Compartilhamento de Recursos André Luis Meneses Silva.
Escalonamento de Sistemas de Tempo Real
Prof. Alexandre Monteiro Recife
Sistemas Operacionais Prof. Galvez. PROBLEMA DE SEÇÃO CRITICA.
Capítulo 7: Deadlocks.
SISTEMAS OPERACIONAIS I
Escalonamento com prioridades
Bruna Rafaella da Costa Moura Silvana dos Santos Lima
Sistemas Operacionais
Conceitos em Sistemas de Tempo Real (Real Time Systems)
Programação com Threads
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Sistemas Operacionais
Protocolo de Bloqueios
Sistemas Operacionais
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Sistemas em Tempo Real Jadsonlee da Silva Sá
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Sistemas em Tempo Real Jadsonlee da Silva Sá
Extensões no teste de escalonabilidade. André Luis Meneses Silva.
Prof. André Luis Meneses Silva
Programação com Threads Threads Java como um Estudo de Caso.
Gerenciamento de Processos
Bruno Affonso Diego Chiquito Ruan Berté.   O código de Escalonamento no Windows é implementado no Kernel.  A rotina que desempenha as tarefas do Escalonador.
Processos Concorrentes
Algoritmos e Programação I
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – Sayuri Watanabe
Universidade Federal de Pernambuco
Deadlocks Impasses Vinícius Pádua.
Algoritmo e Estrutura de Dados I Introdução ao conceito de algoritmo Márcia Marra
Deadlocks.
CIn-UFPE STR Escalonamento de Tarefas Aperiódicas de STR Hard
Escalonamento de Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE Assunto: [str]
Sistemas Operacionais
Faculdade Pernambucana - FAPE Sistemas Operacionais Prof. Flávio Gonçalves da Rocha.
Sistemas Operacionais Multimídia Aula 12. Gerência de Processos Mapeamento de processos sobre recursos de acordo com política de escalonamento Possíveis.
Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE Assunto: [str]
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva

Tarefas Dependentes Podemos ter dois casos – Compartilhamento de Recursos. – Dependência entre Tarefas.

Compartilhamento de Recursos Imaginem o seguinte cenário: Executando em SC Pedido de entrada em SC Tarefas menos prioritárias impedem a execução de T1

Compartilhamento de Recursos Este comportamento é denominado de inversão de prioridade. – Tarefas menos prioritárias bloqueiam as mais prioritárias por estarem utilizando um recurso compartilhado. – Como tratar?

Compartilhamento de Recursos Este comportamento é denominado de inversão de prioridade. – Tarefas menos prioritárias bloqueiam mais prioritárias por estar utilizando um recurso compartilhado. – Problemas? Tarefas mais prioritárias podem ficar um longo período de tempo bloqueadas. – Tarefas intermediárias vão provocar sucessivas preempções na tarefa em sessão crítica. Como resolver isso?

Compartilhamento de Recursos Algoritmos mais comuns: – Protocolo Herança de Prioridade – Protocolo de Prioridade Teto

Protocolo Herança de Prioridade (PHP) Tarefas possuem duas prioridades: – Tarefas possuem prioridade nominal ou estática (RM, DM, etc). – Tarefas possuem prioridade dinâmica ou ativa. Derivadas das ações de bloqueio que ocorrem no sistema.

Protocolo Herança de Prioridade (PHP) Funcionamento: Tarefas são escalonadas pela sua prioridade estática enquanto não existir recurso bloqueado. Quando existe recurso bloqueado, a tarefa em sessão crítica herda prioridade das tarefas mais prioritárias.

Protocolo Herança de Prioridade (PHP) Executando em SC Pedido de entrada em SC Herda Prioridade P1 Fim de Execução da Sessão Crítica Entrada em SC

Protocolo Herança de Prioridade (PHP) Sob o PHP um tarefa pode sofrer três tipos de bloqueios – Bloqueio direto (T1 > T2) compartilham recursos. T2 bloqueia T1. – Bloqueio por herança (T1 > T2 >T3) compartilham recursos. T3 bloqueia T1 e conseqüentemente T3 bloqueia T2. – Bloqueio transitivo T1 bloqueia T2. T2 bloqueia T3. T1 bloqueia T3.

Identifique os Bloqueios Bloqueio Direto Bloqueio Herança

Identifique os Bloqueios Bloqueio Transitivo Bloqueio Direto Bloqueio Transitivo

Protocolo Herança de Prioridade (PHP) Teste de Escalonabilidade. – Similar aos anteriores, mas leva em consideração o bloqueio máximo (B i ) de cada tarefa. – B i = maior sessão crítica que bloqueia T i.

Protocolo Herança de Prioridade (PHP) Tar. Periódicas Período T. de Computação BiBi Prioridade RM Tarefa A18621 Tarefa B20442 Tarefa C Modelar no Cheddar Usar algoritmo Rate Monotonic. Bi = Blocking Time Usar algoritmo Rate Monotonic. Bi = Blocking Time

Protocolo Herança de Prioridade (PHP) Tar. Periódicas Período T. de Computação BiBi Prioridade RM Tarefa A18621 Tarefa B20442 Tarefa C501003

Protocolo Herança de Prioridade (PHP) Ou ainda poderíamos utilizar:

Atividade para Casa Calcular a utilização para cada uma das tarefas. Compare os resultados com os obtidos pelo cheddar.

Protocolo Herança de Prioridade (PHP) Qual o problema do PHP? – PHP é sujeito a deadlock. – Alguém consegue dar um exemplo?

Protocolo Herança de Prioridade (PHP) Inicia a Execução Entra em SC1 Sofre Preempção Entra em SC2 Pede para entra em SC1 Volta a executar Pede para entrar em SC2 Deadlock Como resolver isso? Idéias?

Protocolo de Prioridade Teto Limita o número de bloqueios ou inversões de prioridade para evitar deadlocks. Dirigido para escalonamento de prioridade fixa. Similar ao PHP, porém corrige suas falhas. – Também trabalha com herança de prioridades.

Protocolo de Prioridade Teto Funcionamento: – Cada recurso possui uma prioridade teto (prioridade igual a da tarefa mais prioritária que pode alocar o recurso). – Se nenhum recurso compartilhado está bloqueado, quem requisita é atendido. – Se alguma tarefa bloqueia outra mais prioritária, a menos prioritária herda sua prioridade. – No caso de haver recurso em uso: A tarefa que solicita só consegue acesso ao recurso solicitado se sua prioridade for maior que a prioridade teto de todos os recursos em uso alocados por outras tarefas.

Protocolo de Prioridade Teto Legenda para os recursos RC1 (Prioridade Teto = P1) RC2 (Prioridade Teto = P1) RC3 (Prioridade Teto = P2) Tempo de término Seja P1 > P2 > P3 P3 P2 P1 P2 P3

Teste de Escalonabilidade no PCP. Mesmas fórmulas do PHP Só muda o conceito de bloqueio máximo (B i ). – Duração da maior sessão crítica que pode bloquear pelo algoritmo de Teto.

Teste de Escalonabilidade no PCP P3 P2 P1 P2 P3

Modelar no Cheddar Tar. Periódicas Período T. de Computação BiBi Prioridade RMCompartilhamento Tarefa A151021S1, S2 Tarefa B20812S1, S3 Tarefa C25603S2, S3 Tar. Periódicas Recurso /Intervalo Tarefa AS1 (1-2)S2(3-4) Tarefa BS1(2-3)S3(1-2) Tarefa CS2(3-7)S3(2-8)

Atividades para Casa Modelar no Cheddar esta escala P3 P2 P1 P2 P3

Referências Farines – Seções a 2.6