weeber tec

881 palavras 4 páginas
Fundamentos de Sistemas Operacionais
Condições de corrida e Regiões Críticas

Mário Miranda Fernandes Junior
RA:C19DBH2

Sumário
Condição de Corrida 3
Evitando condições de corrida 3
Região Crítica 3
Condição de corrida e Regiões Críticas 3
Por hardware 3
Inibição de Interrupções 3
Instrução TSL 4
Por Software 4
Variável de bloqueio 4
Alternância de escrita 4
Algorítmo de Dekker 4
Algorítimo de Peterson 5

Condição de Corrida
Condição de corrida, ou condição de concorrência, é a falha em um sistema ou processo onde o resultado é dependente da sequência/ordem de execução.
A ordem de execução não é determinística, é ditada pelo escalonamento do Sistema Operacional.
Esse fenômeno ocorre geralmente em sistemas eletrônicos e em programas de computador, sendo mais visto em uso de multirarefa ou computação distribuída.
Evitando condições de corrida
Para evitar as condições de corrida, podemos:
1. Tornar os processos imunes a ordem de execução, forçando a ordem (sincronizando);
2. Introduzindo mecanismos de exclusão mútua, ou seja, só um processo estará usando os dados compartilhados em um determinado momento.
Região Crítica
Também conhecida por seção crítica, é a área de um algoritmo que acede um recurso compartilhado que não pode ser acedido concorrentemente por mais de uma linha de execução. Ou seja, uma vez chamado determinado recurso, outra área do algoritmo não pode chamá-lo.
Um acesso concorrente pode ser evitado ao controlar cuidadosamente quais variáveis serão modificadas dentro ou fora da região crítica. Uma região crítica é geralmente usada quando um programa multitarefa precisa atualizar muitas variáveis relacionadas sem que outra parte do código faça modificações conflitantes.
Condição de corrida e Regiões Críticas
Por hardware
Inibição de Interrupções
O processo desativa todas as interrupções imediatamente antes de entrar na sua Região

Relacionados