Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais Nome: Igor Lucas Amâncio da Mota Matrícula: 201903244668 Turma:3004 Processo um processo é uma instância de um programa de computador que está sendo executada. Ele contém o código do programa e sua atividade atual. Dependendo do sistema operacional (SO), um processo pode ser feito de várias linhas de execução que executam instruções concorrentemente. Simplificando, os processos representam tarefas em execução, mas nem todas têm relação direta com algum aplicativo. Muitas delas são executadas em pano de fundo e mantêm o sistema trabalhando - gerenciando redes, memória, disco, checagem antivírus etc. Logo, podemos definir processos como softwares que executam alguma ação e que podem ser controlados de alguma maneira, seja pelo usuário, pelo aplicativo correspondente ou pelo sistema operacional. Em processos temos 3 tipos de estados: • Execução (running) – O processo está sendo executado pela CPU. • Pronto (ready) – O processo está pronto e esperando para ser executado pela CPU. • Espera (wait) – O processo está esperando algum evento externo ou por algum recurso para poder prosseguir seu processamento. o Bloqueado – O processo está esperando por algum recurso do sistema que não se encontra disponível. Diferença entre processos e threads Os processos e os encadeamentos são sequências independentes de execução. A diferença típica é que os threads (do mesmo processo) são executados em um espaço de memória compartilhado, enquanto os processos são executados em espaços de memória separados. Multithreading O multithreading é um modelo de programação popular que permite a execução de múltiplas linha de execução dentro de um contexto simples, compartilhando recursos do processo, e capazes de executar de forma independente. O modelo de programação em linha de execução fornece ao desenvolvedor uma execução simultânea. Um sistema multi-threaded possui um melhor desempenho que um sistema de computadores com múltiplas CPUs e com múltiplos núcleos, ou que um cluster de máquinas. Isto acontece porque a linha de execução empresta a ela mesma uma execução simultânea. Em alguns casos, o programador precisa ter cuidado em evitar condições de concorrência e outros comportamentos inesperados. Para um dado ser manipulado corretamente, as linhas de execução frequentemente precisarão ser sincronizadas, para que os dados sejam processados na ordem correta. As linha de execução podem também executar operações atômicas (frequentemente implementadas usando semáforos) com intuito de prevenir que dados comuns sejam simultaneamente modificados ou lidos enquanto o processo está sendo modificado. Bibliografia: https://www.gsigma.ufsc.br/~popov/aulas/so1/cap6so.html https://www.tecmundo.com.br/memoria/3197-o-que-sao-processos-de-um-sistema- operacional-e-por-que-e-importante- saber.htm#:~:text=Um%20processo%20passa%20por%20diferentes,o%20processo%20%C3% A9%20%22Terminado%22. https://qastack.com.br/programming/200469/what-is-the-difference-between-a- process-and-a- thread#:~:text=Os%20processos%20e%20os%20encadeamentos,em%20espa%C3%A7os%20 de%20mem%C3%B3ria%20separados.&text=Essa%20mem%C3%B3ria%20%C3%A9%20aloc ada%20pelo%20sistema%20operacional%20no%20processo%20de%20A.
Compartilhar