Sistemas operacionais
Capítulo 3 Concorrência
Cap. 3 – Concorrência
1
Sumário
• • • • • • • Introdução Interrupção e exceção Operações de E/S Buffering Spooling Reentrância Proteção do sistema
Cap. 3 – Concorrência
2
Introdução
• S.O. podem ser vistos como um conjunto de rotinas que executam concorrentemente de forma organizada; • Como o processador pode executar instruções em paralelo com E/S permite a execução concorrentemente; • Este princípio, concorrência, é princípio básico para o projeto e implementação de sistemas multiprogramáveis;
Cap. 3 – Concorrência 3
Introdução
• Os sistemas operacionais monoprogramavéis utiliza os recursos computacionais (processador, memória e dispositivos de E/S) de forma pouco eficiente; • Nos sistemas monoprogramavéis somente um programa pode estar em execução, dispondo de todos os recursos computacionais;
Cap. 3 – Concorrência
4
Introdução
• Exemplo
– Programa lê registros de um arquivo executa, em média 100 instruções por registro lido; – 93% do tempo da CPU ociosa
Leitura de um registro 0,0015s Execução de 100 instruções 0,0001s Total 0,0016s %CPU(0,0001/0,0015)=0,066=6,6%
Cap. 3 – Concorrência
5
Introdução
• Sistema monoprogramável subutilização da memória principal, pois se o programa não utilizar toda a memória, existiram áreas livres na memória; • Sistema multiprogramável vários programas podem residir na memória, concorrendo pela utilização do processador;
Cap. 3 – Concorrência
6
Introdução
• Sistema monoprogramável x multiprogramável
E/ S
E/ S
1
UCP
livre
UCP
1
2
1
tempo (a) Sistema Monoprogramável (b) Sistema Multiprogramável
tempo
Cap. 3 – Concorrência
7
Introdução
• A utilização concorrente da CPU deve ser implementada de tal forma que quando um programa perde o uso do processador e depois retorna para continuar a execução, seu estado deve ser idêntico ao do momento que foi interrompido; • Em