Buscar

Sintese Sistemas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Concorrência - Quando processos compartilham recursos, temos outros problemas além do produtor-consumidor. Quando processos ou threads instanciam o mesmo recurso simultaneamente, temos o problema de concorrência ou condição de corrida.
Thread – Fluxo de execução dentro de um programa. Todo processo possui no mínimo 1 thread.
Multithread - é a capacidade que o sistema operacional possui de executar várias threads simultaneamente sem que uma interfira na outra. Estas threads compartilham os recursos do processo, mas são capazes de ser executadas de forma independente.
Exclusão mútua - O sistema operacional ressorve o problema da condição corrida garantindo exclusividade no acesso a recursos da máquina. Exemplo: você não consegue anexar um arquivo num e-mail ao mesmo tempo em que você altera o mesmo arquivo no Word. Os dois processos não podem instanciar o mesmo recurso simultaneamente.
Deadlocks - Deadlock é um impasse, um travamento dos processos, o qual fica em estado de espera indefinidamente, não podendo continuar a execução. A ocorrência de Deadlock é bastante comum em sistemas de banco de dados. A condição inicial para que um impasse ocorra é que o sistema trabalhe com o princípio da exclusão mútua. Num sistema no qual os processos entram em estado de espera quando um recurso está sendo utilizado há a chance de ocorrer uma Deadlock.
2 - Descreva como ocorre uma condição de corrida.
Uma condição de corrida é uma falha num sistema ou processo em que o resultado do processo é inesperadamente dependente da sequência ou sincronia doutros eventos. Apesar de ser conhecido em português por 'condição de corrida' uma tradução melhor seria 'condição de concorrência' pois o problema está relacionado justamente ao gerenciamento da concorrência entre processos teoricamente simultâneos. O fenômeno pode ocorrer em sistemas eletrônicos, especialmente em circuitos lógicos, e em programas de computador, especialmente no uso de multitarefa ou computação distribuída.
3 - Descreva um exemplo de um sistema onde poderia ocorrer uma condição de corrida
Se o processo A instanciar, o inteiro fará a leitura do valor sete. Se, alguns milissegundos depois, o processo B acessar o mesmo valor inteiro também lerá sete. De acordo com a figura, o processo A incrementa o valor do inteiro, e o processo B decrementa o valor do inteiro. Admitir que o processo A executou primeiro atualizará o valor da variável para oito. Em seguida, com a execução do processo B, o valor seis subscreverá o valor oito. Assim, a variável assumirá o valor final seis se o processo A for executando primeiro. Caso o processo B execute primeiro e o processo A acesse depois o recurso, teremos também uma situação de concorrência com os dois processos acessando os recursos simultaneamente. O processo B alterará o conteúdo da variável para seis e depois o processo A atualizará o valor final para oito. Desta forma, se o processo B executar primeiro teremos no final o valor oito para variável inteira. Desta forma, temos uma situação de condição de corrida.
4 - Caso tivéssemos um banco de dados onde os processos apenas consultassem os registros, ou seja, só realizassem a leitura dos dados, seria necessário implementar a solução mútua?
Não, pois só seria necessário um thread, uma vez que os documentos seriam só de leitura e não para alteração.
5 - Neste caso descrito teríamos a possibilidade da ocorrência de deadlocks?
Sim. Enquanto as informações dos bancos de dados não chegam para o usuário, estamos impedidos de continuar até receber elas.

Outros materiais