A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner.

Apresentações semelhantes


Apresentação em tema: "Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner."— Transcrição da apresentação:

1 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner

2 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 2 Processos e Threads Capítulo 2 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento

3 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 3 Tópicos a serem estudados 1.Como os processos se comunicam? –Ex.: cat entrada.txt | sort 2.Como garantir que um processo não atrapalhe um outro processo quanto estiver realizando atividades críticas? –Ex.: 2 processos tentando adquirir os últimos 10MB de memória RAM 3.Seqüência de execução adequada: Processo A precisa ler saída de Processo B. Processo B tem que executar primeiro;

4 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 4 Threads O tópico 1 (como os processos se comunicam) é fácil de se resolver para threads: –Utilizam-se da memória compartilhada para se comunicarem; As soluções para os outros tópicos servem tanto para processos como threads;

5 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 5 Condições de Disputa (ou de Corrida) Situações que 2 ou mais processos estão lendo ou escrevendo algum dado compartilhado e cujo resultado final depende da ordem de execução; Pergunta: isso quer dizer que uma máquina no Brasil e outra no Japão, cada uma com processos que se comunicam, nunca terão Condições de Disputa?

6 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 6 Ex.: Vaga em avião 1.Operador OP1 (no Brasil) lê Cadeira1 vaga; 2.Operador OP2 (no Japão) lê Cadeira1 vaga; 3.Operador OP1 compra Cadeira1; 4.Operador OP2 compra Cadeira1;

7 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 7 Comunicação Interprocesso Condições de Disputa Dois processos querem ter acesso simultaneamente à memória compartilhada

8 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 8 Regiões Críticas O que fazer para evitar Condições de Disputa? Precisamos de: –Um mecanismo para evitar que dois ou mais processos leiam/alterem a mesma variável/arquivo simultaneamente; Mecanismo: –exclusão mútua;

9 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 9 Solução simples para exclusão mútua Caso de venda de acentos em avião: –apenas um operador pode estar vendendo em um determinado momento; Isso gera uma fila de clientes nos computadores; Problema: ineficiência!

10 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 10 Regiões Críticas Quatro condições necessárias para prover exclusão mútua: 1.Nunca dois processos podem estar simultaneamente em uma região crítica; 2.Nenhuma afirmação pode ser feita sobre velocidade ou número de CPUs; 3.Nenhum processo executando fora de sua região crítica pode bloquear outros processos; 4.Nenhum processo deve esperar eternamente para entrar em sua região crítica;

11 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 11 Regiões Críticas Exclusão mútua usando regiões críticas

12 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 12 Exclusão Mútua com Espera Ocupada Espera ocupada: –processo espera a entrada na região crítica usando ciclos de CPU;

13 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 13 Desabilitando Interrupções O processo desabilita as interrupções de relógio e fica em CPU até concluir seu trabalho; Assim, outro processo não entra na região crítica do processo que está executando; Problemas: –e se o processo com controle da CPU não devolver a CPU? –e se houver mais de uma CPU? Só será desabilitado uma CPU!

14 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 14 Desabilitando Interrupções Por outro lado, às vezes é interessante o núcleo desabilitar interrupções: alterações de variáveis; mudança de processo na CPU; Conclusão: –desabilitar interrupções é bom para o núcleo, não para os programas dos usuários;

15 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 15 Lock variables – Solução em software Uso de uma variável para verificar se um processo pode entrar na sua região crítica; Variável lock: se lock for 0, pode-se entrar na região crítica; se for 1, já há algum outro processo na região crítica e o processo não deve entrar; Funciona?

16 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 16 Lock variables Não! Apresenta o mesmo problema do spool de impressão; E se ler a variável novamente antes de usá- la? Mesmo problema! :(

17 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 17 Alternância Estrita Solução proposta para o problema da região crítica (a) Processo 0. (b) Processo 1.

18 Pearson Education Sistemas Operacionais Modernos – 2ª Edição Alternância Estrita Resolve o problema? –Parcialmente; Problema: –Se um processo for muito mais lento que o outro, essa solução viola-se a condição 3: nenhum processo fora de sua região crítica pode impedir outro processo de entrar em sua região crítica;

19 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 19 Solução de Peterson Solução de Peterson para implementar exclusão mútua

20 Pearson Education Sistemas Operacionais Modernos – 2ª Edição Solução de Peterson Funciona? –Sim; Mas a variável turn terá o valor do último processo que a alterou (isso não é um problema).

21 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 21 Instrução TSL – auxílio de hardware Entrando e saindo de uma região crítica usando a instrução TSL

22 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 22 Espera Ocupada Gasto de tempo de CPU; Problema de inversão de prioridade: –Processo L, com baixa prioridade, está em sua região crítica; –Processo H, com maior prioridade que L, toma a CPU de L, já que tem maior prioridade; –H quer entrar na região crítica; Problema: L não irá executar, e consequentemente não liverará a região crítica; H esperará eternamente;

23 Pearson Education Sistemas Operacionais Modernos – 2ª Edição Dormir e Acordar (Sleep e Wakeup) E se eu der a vocês duas primitivas, sleep e wakeup: Sleep: –Faz com que o processo que a chamou durma; Wakeup: –Algum processo requisita que outro processo acorde; Vocês poderiam resolver o problema do produtor-consumidor?

24 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 24 Dormir e Acordar Problema do produtor-consumidor com uma condição de disputa fatal

25 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 25 Dormir e Acordar Problema da perda de sinal;


Carregar ppt "Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner."

Apresentações semelhantes


Anúncios Google