ADASDASDASDASD

9682 palavras 39 páginas
SISTEMAS OPERACIONAIS – NOTAS DE AULA

COMUNICAÇÃO ENTRE PROCESSOS

ÍNDICE:

1. Introdução
2. Aplicações Concorrentes
3. Especificação de Concorrência em Programas
4. Problemas de Compartilhamento de Recursos
5. Exclusão Mútua
6. Soluções de Hardware
7. Soluções de Software
8. Sincronização Condicional
9. Semáforos
10. Monitores
11. Troca de Mensagens
12. Bibliografia
13. Lista de Exercícios

1 de 36

SISTEMAS OPERACIONAIS – NOTAS DE AULA

1. INTRODUÇÃO
Na década de 1960, com o surgimento dos sistemas operacionais multiprogramáveis, passou a ser possível estruturar aplicações de maneira que partes diferentes do código do programa pudessem executar concorrentemente. Este tipo de aplicação, denominado aplicação concorrente, tem como base a execução cooperativa de múltiplos processos ou threads, que trabalham em uma mesma tarefa na busca de um resultado comum.
Em um sistema multiprogramável com um único processador, os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional. Mesmo não havendo neste tipo de sistema um paralelismo na execução de instruções, uma aplicação concorrente pode obter melhoras no seu desempenho. Em sistemas com múltiplos processadores, a possibilidade do paralelismo na execução de instruções somente estende as vantagens que a programação concorrente proporciona.
É natural que processos de uma aplicação concorrente compartilhem recursos do sistema, como arquivos, registros, dispositivos de E/S e áreas de memória. O compartilhamento de recursos entre processos pode ocasionar situações indesejáveis, capazes até de comprometer a execução das aplicações. Para evitar esse tipo de problema, os processos concorrentes devem ter suas execuções sincronizadas, a partir de mecanismos oferecidos pelo sistema operacional, com o objetivo de garantir o processamento correto dos programas.

2. APLICAÇÕES CONCORRENTES
Muitas vezes, em uma aplicação concorrente, é

Relacionados