comunicação entre processos
São os mecanismos que garantem a comunicação entre processos concorrentes e o acesso a recursos compartilhados.
2. Cite um problema que o compartilhamento de recursos pode acarretar em relação à processos concorrentes.
Exemplos:
- Atualização de arquivos compartilhados ao mesmo tempo.
- Cálculos com mesmas variáveis ao mesmo tempo.
3. Qual a solução para os problemas de compartilhamento e como funciona?
Exclusão Múltua (solução mais simples): impedir que dois ou mais processos acessem um mesmo recurso no mesmo instante. Um deve esperar que o outro termine para utilizar;
Região crítica: parte do código onde é feito o acesso ao recurso compartilhado;
Usualmente utiliza-se de um protocolo ao entrar em uma região crítica e ao sair dela.
4. Cite e explique os problemas de sincronização.
Problemas introduzidos pela exclusão múltua;
Velocidade de Execução dos Processos;
Processos com diferenças de velocidade ou maior tempo de processamento.
5. Em relação aos problemas de sincronização, cite e explique resumidamente quais as soluções de Hardwares para resolver esse problema.
Desabilitação de Interrupções: desabilitar interrupções externas ao entrar numa região crítica e habilitar ao sair; Se o processo não habilitar as interrupções ao sair da região crítica, o sistema pode estar comprometido;
Instrução Test-and-set: instrução especial que permite ler uma variável, armazenar seu conteúdo em outra área e atribuir um novo valor a essa variável; executa sem interrupção; é uma instrução invisível; dois processos não podem manipular uma variável compartilhada ao mesmo tempo (exclusão múltua).
6. Em relação aos problemas de sincronização, cite e explique resumidamente quais as soluções de Software para resolver esse problema.
O número de processadores e o tempo de execução dos processos concorrentes devem ser irrelevantes;
Um processo, fora de sua região crítica, não pode impedir que outros