Inter-Process Communication (IPC) Flashcards
Diferença entre System e Exec?
System executa de forma sequencial, o e Exec é de forma concorrente
O que faz o Exec?
O Exec chama um novo programa na execução de um processo,
Esse novo programa reescreve a posição de memória do processo original
Criação de processos (filiação / hierarquia)
é feito através do FORK
O fork cria um filho, que é a duplicata do pai - só difere o PID
O filho tem acesso a arquivos abertos do pai
Geralmente o pai espera alguns ou todos os filhos terminarem]
os dois processos continuam em execução após o fork
O que acontece quando o pai acaba antes do filho?
O filho perde a referência e para isso não acontecer utilizamos o WAIT
O que são processos pesados?
`São os processos que não tem comunicação entre si, cada um tem seu próprio Bloco descritor de Processo
O que é inter-process comunication?
Os processos não tem comunicação direta entre si, o inter-process comunications possibilita esse comunicação
Para o que é utilizado o PIPE e como ele funciona?
O PIPE é utilizado na comunicação entre processos, ele cria um canal de leitura e escrita
Para ele funcionar é necessário o File Descriptor, FD[0] é leitura e e FD[1] é escrita
Qual a dependencia que temos no PIPE?
Temos no pipe a dependência FIFO, sempre há uma escrita e depois uma leitura.
O processador é sempre é dado para o pai primeiro, pois não faria sentido o filho ler e não ter nada para ler
Ao usar o pipe e o exec, qual o problema que podemos ter?
O novo programa perde a referência de escrita.
A solução é passar o PD como parâmetro para o novo processo (como é um número, pode ser facilmente passado como parâmetro)
O que é BusyWait?
É quando o processo fica esperando mas fica consumindo recurso
Para o que é utilizado o WAIT?
O wait é utilizado para que o processo pai não morra antes do filho e este fique órfão, sem referencia
O que é processo Zombie?
É o filho quando perde o pai