Artigo multithread.
Resumo: visando um melhor entendimento em relação a gestão e execução de varias tarefas realizadas pelo SO abordarei métodos como: processos independentes, sub-processos e thread. Estes são maneiras diferentes de implementar a concorrência ou o paralelismo (no caso de processadores multicor) nas tarefas realizadas pelo processador. Posteriormente, entraremos em SO(s) monothread e multithread , o que muda, principais diferenças, desempenho e etc.
1 Introdução Visando sanar a necessidades, propor melhorias, propiciar conforto, mobilidade e segurança a população, a tecnologia evoluiu consideravelmente. Como resultado desse evolução, podemos citar simples exemplos do nosso dia-a-dia, tais como: smartphones, desktops, data centers e outros. Tais dispositivos são gerenciados através de sistemas operacionais e sobres estes a cobrança em relação a execução de vários processos/aplicações de forma simultânea, rápida e eficaz, aumentam a cada dia. Os simples celulares que tínhamos antigamente, apenas ligavam e recebiam ligações, deram lugar aos smartphones que além dessa funções básicas, tratam questões como: jogos, e-mail, acesso a internet, criação e leitura de documentos de textos e planilhas, entre outros. Ou seja, um dispositivo atualmente conceituado como arcaico (monothread) cedeu lugar para outro que tem varias aplicações executando a todo instante (multithread). É justamente esse o foco do trabalho que será desenvolvido, analise de sistemas mono e multithread.
1.1 Processos Independentes Trata-se da forma mais simples de implementação da concorrência em sistemas multiprogramáveis. Neste método não existe vinculo no processo criado com o processo criador. A criação de um processo independente exige a alocação de PCB, incluindo recurso de hardwares, software e espaços de endereçamento, ou seja, não existe compartilhamento desses recursos entre os processos, o que torna a comunicação entre eles