Processos e Threads Sistemas Operacionais (SOPBCC) De: Andrew S. Tanenbaum Tradução: Ronaldo A.L. Gonçalves Luís A. Consulado
Responsável pela disciplina: Prof. Dr. Maurício Aronne Pillon Curso de Ciência da Computação
1 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Exclusão Mútua com Espera Ociosa
42 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Desabilitando as interrupções – Inibe a interrupção de relógio – Muito poder ao usuário (desligar interrupções) • Esquecimento de habilitar as interrupções
– Não funciona para multiprocessadores (mais de um processador)
• Técnica útil dentro do próprio SO. 43 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Variáveis de Impedimento (lock)
• Se lock 0 entrada região crítica permitida; – Ao entrar alterar lock para 1;
• Mesma falha do exemplo de diretório de spool.
44 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Alternância obrigatória – Uso de turn (inspeciona o valor da variável turn, processo 0 encontra o valor 0 e entra em sua região crítica) – Espera ociosa: gasto de tempo de CPU. Ex.: Spin lock – Não funciona quando um dos processos é muito mais lento do que o outro; – Viola condição 3;
45 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Alternância Obrigatória
Solução proposta para o problema da região crítica (a) Processo 0. (b) Processo 1. 46 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Solução de Peterson • Combina a idéia de (a) alternância obrigatória e (b) variáveis de impedimento; • Funcionamento: – Antes de usar as variáveis compartilhadas, cada processo chama um enter_region com o seu número como parâmetro; – Depois que terminou de usar as variáveis compartilhadas, o processo chama um leave_region; 47 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Solução de Peterson
Solução de Peterson para implementar exclusão mútua
48
Pearson Education Sistemas Operacionais Modernos – 2ª Edição
A instrução TSL – Auxílio de hardware (test and set lock) – Armazenamento de uma palavra é indivisível; – A CPU impede o acesso ao barramento de memória para proibir o uso por outras CPUs;
49 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Instrução TSL
Entrando e saindo de uma região crítica usando a instrução TSL 50 Pearson Education Sistemas Operacionais Modernos – 2ª Edição