Uploaded on

Apresentação em resumo a técnica de exclusão mútua (mutex).

Apresentação em resumo a técnica de exclusão mútua (mutex).

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
634
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CAMPUS TIMÓTEO MUTEXSistemas OperacionaisProf. Maurílio Alves Paula Peçanha Gonçalves
  • 2. Características● Opção simplificada de Semáforo: ○ Não precisa de contar;● Somente 1 bit é necessário para representar a variável mutex: ○ Impedido; ○ Desimpedido.
  • 3. Vantagens● Adequados apenas para gerenciar a exclusão mútua de algum recurso ou parte de código compartilhada;● Fáceis de implementar;● Eficientes;● Úteis em pacotes de threads implementados totalmente no espaço do usuário.
  • 4. Como funciona?● Quando um thread ou processo precisa ter acesso a uma região crítica, ele chama mutex_lock.● Se o mutex estiver desimpedido, o acesso à região crítica é liberado.● Porém, se o mutex estiver impedido, a thread permanecerá bloqueada até que a região crítica seja liberada com um mutex_unlock.
  • 5. Como funciona?● Se múltiplos threads estiverem bloqueados sobre o mutex, um deles será escolhido aleatoriamente e liberado para adquirir a trava.● O código do mutex_lock é similar ao código do enter_region.
  • 6. Região Crítica● A diferença se dá quando o enter_region falha ao entrar na região crítica, ele continua testando repetidamente a variável de trava (espera ociosa).● Ao final, o tempo de CPU se esgota e algum outro processo é escalonado para executar.
  • 7. Thread_yield● Já o mutex_lock, quando falha em verificar a variável de trava chama o thread_yield para que abra mão da CPU em favor de outro processo, ou seja, não há espera ocupada.● O thread_yield é apenas uma chamada do escalonador de threads no espaço do usuário.● Como consequência, nem o mutex_lock nem mutex_unlock requerem qualquer chamada ao núcleo.
  • 8. Implementação
  • 9. Referências● TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3ª Edição.