9

Click here to load reader

Mutex

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Mutex

MUTEXSistemas OperacionaisProf. Maurílio Alves

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAISCAMPUS TIMÓTEO

Paula Peçanha Gonçalves

Page 2: Mutex

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.

Page 3: Mutex

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.

Page 4: Mutex

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.

Page 5: Mutex

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.

Page 6: Mutex

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.

Page 7: Mutex

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.

Page 8: Mutex

Implementação

Page 9: Mutex

Referências● TANENBAUM, Andrew S. Sistemas

Operacionais Modernos. 3ª Edição.