Inibição de interrupções

2039 palavras 9 páginas
Inibição de interrupções
Uma solução simples para a implementação das primitivas enter e leave consiste em impedir as trocas de contexto dentro da seção crítica. Ao entrar em uma seção crítica, a tarefa desativa (mascara) as interrupções que possam provocar trocas de contexto, e as reativa ao sair da seção crítica. Apesar de simples, essa solução raramente é usada para a construção de aplicações devido a vários problemas:
_ Ao desligar as interrupções, a preempção por tempo ou por recursos deixa de funcionar; caso a tarefa entre em um laço infinito dentro da seção crítica, o sistema inteiro será bloqueado. Uma tarefa mal-intencionada pode forçar essa situação e travar o sistema.
_ Enquanto as interrupções estão desativadas, os dispositivos de entrada/saída deixam de ser atendidos pelo núcleo, o que pode causar perdas de dados ou outros problemas. Por exemplo, uma placa de rede pode perder novos pacotes se seus bu_ers estiverem cheios e não forem tratados pelo núcleo em tempo hábil.
_ A tarefa que está na seção crítica não pode realizar operações de entrada/saída, pois os dispositivos não irão responder.
_ Esta solução só funciona em sistemas mono-processados; em uma máquina multi-processada ou multi-core, duas tarefas concorrentes podem executar simultaneamente em processadores separados, acessando a seção crítica ao mesmo tempo devido a esses problemas, a inibição de interrupções é uma operação privilegiada e somente utilizada em algumas seções críticas dentro do núcleo do sistema operacional e nunca pelas aplicações.

Soluções com espera ocupada
Uma primeira classe de soluções para o problema da exclusão mútua no acesso a seções críticas consiste em testar continuamente uma condição que indica se a seção desejada está livre ou ocupada. Esta seção apresenta algumas soluções clássicas usando essa abordagem.

A solução óbvia
Uma solução aparentemente trivial para o problema da seção crítica consiste em usar uma variável busy para indicar

Relacionados

  • weeber tec
    881 palavras | 4 páginas
  • Ouihio
    1221 palavras | 5 páginas
  • Trabalho De FSO
    1095 palavras | 5 páginas
  • Condiçoes de Corrida
    359 palavras | 2 páginas
  • Fundamentos dos sistemas operacionais
    702 palavras | 3 páginas
  • SISTEMAS OPERACIONAIS
    2390 palavras | 10 páginas
  • soluçoes
    494 palavras | 2 páginas
  • agora sim
    922 palavras | 4 páginas
  • Sistemas operacionais
    718 palavras | 3 páginas
  • AulaVI SO GERENCPROC 2011 1
    2947 palavras | 12 páginas