Soluções de problemas de Hardware e Software

1982 palavras 8 páginas
Condições de corrida e
Regiões Críticas

Nome: Felipe dos Anjos Almeida
Curso: Análise e Desenvolvimento de Sistemas
RA: C2025E-9

1. Hardware
1.1 Inibições de Interrupções
O modo como é feito a implementação de uma região crítica pode variar para cada sistema, o método mais simples é prevenir qualquer mudança de controle do processador dentro de uma região crítica.
Em sistemas com somente um processador, isso pode ser feito desabilitando as interrupções na entrada da região crítica, evitando chamadas de sistema que causem troca de contexto. No final da região crítica, as interrupções são habilitadas novamente. Com essa implementação, qualquer linha de execução entrando em uma região crítica prevenirá outra linha de execução ou interrupção de usar a CPU, até que a linha de execução saia da região crítica. A desabilitação de interrupções só funciona no processador relacionado ao processo, entretanto, a máquina pode conter mais de um processador, sendo assim, não é boa prática permitir a inibição de interrupções em modo usuário.
Através de semáforos, a abordagem bruta pode ser melhorada. Para entrar numa região crítica, uma linha de execução deve obter um semáforo, que será descartado na saída da região crítica. Cada recurso compartilhado, ou um conjunto de recursos compartilhados em comum, possui um semáforo próprio. Qualquer outra linha de execução deverá esperar para entrar numa região crítica em uso, mas poderá usar a CPU para executar qualquer outro código, incluindo regiões críticas protegidas por outro semáforo.
Em modo usuário, regiões críticas de aplicações residem na área de RAM dos respectivos processos e são modificadas geralmente pelos próprios processos. Já em modo núcleo, as regiões críticas geralmente bloqueiam a preemptividade. Qualquer interrupção que ocorre numa região crítica é salva para processamento futuro. Nesse caso, as regiões críticas devem ser curtas o suficiente para permitir a volta da

Relacionados

  • teste
    11594 palavras | 47 páginas
  • Normas abnt
    1537 palavras | 7 páginas
  • Estudante
    926 palavras | 4 páginas
  • trabalho cientifico
    2745 palavras | 11 páginas
  • informatica
    1524 palavras | 7 páginas
  • Coerência de Cache
    1159 palavras | 5 páginas
  • DESENVOLVENDO SOLUÇÕES PARA AS EMPRESAS COM A TECNOLOGIA DA INFORMAÇÃO E DA COMUNICAÇÃO
    6321 palavras | 26 páginas
  • Trabalhos
    1763 palavras | 8 páginas
  • Bacharel
    627 palavras | 3 páginas
  • A crise do software
    697 palavras | 3 páginas