Revisão Avaliativa Processos e Threads
Por: Adriano Júnior • 30/3/2021 • Bibliografia • 726 Palavras (3 Páginas) • 133 Visualizações
Adriano Levandosqui Junior
201703207327
Seção 2.1
Podemos entender que os processos engloba todo o sistema operacional, mas não é definido apenas por um programa em execução, pois por trás desse processo existe muitas coisas. Em processadores mais atualizados conseguimos abrir vários programas ao mesmo tempo sem travar pois os processos vão dando lugar a outro, assim são classificados por estado, e tem uma entrada e uma saída. Processos são criados por etapas: Início do sistema, requerimentos de usuário para criar um novo processo e saída e término do processo. Os estados são: Em execução, pronto e espera. Threads é uma unidade de execução de programa que usa o ambiente de processo, quando muitos threads usam o ambiente do mesmo processo, fazendo com que eles precisem compartilhar seu código, dados e recursos. Mas para que as threads possam ser executadas ao mesmo tempo, o computador precisa de um sistema capaz de realizar a divisão de threads e um processador capaz de executar várias threads, tendo isso em mãos o sistema operacional usa para reduzir a sobrecarga e melhorar o desempenho.
Avançando na prática: Não é porque está reiniciando ou desligando o computador o processo se encerrará, o fato descrito aconteceu porque tinha outros processos em segundo plano que se executaram juntos, causando erros, para a solução somente encerrando esses processos de segundo plano.
1) Letra A – Impede a propagação de um vírus eliminando todos os filhos.
2) Letra A – Se fechada uma thread que é usada para fazer mais de uma coisa, ela continuará operando, mas pra fazer outra tarefa.
3) Letra C – Outro processo entra em espera quando se já tem um em execução.
Seção 2.2
Ainda falando sobre processos, mais afundo, pode acontecer deles criarem condições de disputa ou condições de corrida, isso pode acontecer quando dois ou mais processos compartilham alguma parte da memória. Para evitar isso, quando um processo estiver lendo ou gravando dados, outro processo deve esperar. Outras soluções: Exclusão mútua com espera ociosa, desabilitando interrupções, criando varáveis de impedimento, fazendo uma alternância obrigatória. Basicamente se um processo acessa a região crítica e tem um outro processo querendo entrar também nessa região ele deve ficar na fila de espera de processos, assim quando o primeiro processo sair da região crítica ele libera o processo da fila de espera.
Avançando na prática: Se o item foi duplicado, com o filtro apenas de regiões dentro do software é devido a falta de sincronismo, pois isso tudo depende da internet, e são lugares diferentes, então cada localidade deveria ter seu próprio acesso.
1) Letra C – Deve-se esperar liberação se estiver um recurso em uso.
2) Letra C – A melhor solução é colocando o processo.
3) Letra E – Realiza-se operações down e up.
Seção 2.3
Essa disputa dos processos é totalmente pela CPU, assim o SO tem que escolher qual o melhor para ser executado, utilizando critérios, como por exemplo: Utilização do processador, tempo de processador, tempo de espera, e tempo de resposta, com objetivo de diminuir o tempo de resposta para os usuários e assim melhorando o desempenho. Isso é feito por algoritmo, pois ele coloca por prioridades considerando o que é mais importante e um tempo máximo de execução, como exemplo, ele dever dar prioridade em carregar dados de uma pagina web do que atualizar algo que está em segundo plano.
Os thread entra nesse história para que o desempenho seja maior, poque a alternância entre threads do usuário e do núcleo consome pouca informação, e cada thread recebe uma prioridade.
...