Tag: Processos

Processos e Threads.

Já ouviu falar em Processos e threads dos Sistemas Operacionais? Não? Eu preparei um pequeno texto explicando um pouquinho de cada um, vem conhecer. ;)

Processos

Um processo é centro do conceito de qualquer Sistema Operacional, ele é considerado uma abstração de um programa em execução. Diante do fato de que um programa por si só não é considerado um processo, pois o processo é uma entidade ativa enquanto o programa é considerado uma entidade passiva. O processo nada mais é do que um programa em execução, o mesmo é constituído pelo código executável, pilha de execução, o estado do processo, prioridade do processo, valor do contador do programa ou seja o registrador PC – que foi explicado em sala hoje – valor do apontador de pilha, chamado de registrador SP e todos os demais registradores. Em livros o termo “job” é utilizado como sinônimo de processo.

Ao executar, o processo muda de estado. Iniciando em “new” onde o processo está sendo criado. Running significa que as instruções do processo estão sendo executadas. Waiting, onde o processo está esperando ocorrência de algum evento. Terminated onde o projeto finalizou a execução.

Talvez você se interesse, tenho um post também sobre Escalonamento de Processos do Sistema Operacional.

Thread

O conceito de Thread é diferente do conceito de processo, pois cada processo existe apenas um único fluxo de execução, que é na verdade o que define uma thread, porém as threads permitem que no modelo de processo haja mais de um fluxo, ou seja, permite múltiplos fluxos de execução que ocorrem no mesmo ambiente do processo. Desse modo, múltiplas threads são executadas em um único processo, do mesmo modo que múltiplos processos são executados concorrentemente em um único computador.

Exemplo: Quando um processo tem múltiplas threads sendo executadas em um Sistema Operacional  onde tenha apenas um único processador, nesse caso as threads ficam em escala para a execução e alternam rapidamente entre si, dando a ilusão para o usuário que as mesmas estão sendo executadas em paralelo em um processador mais lento do que de fato um processador real.

Já viu meu post sobre deadlock? Nele você aprende como detectar o deadlock e como não permitir sua ocorrência. ;)

Você conhece meu canal no youtube? Se gostar do conteúdo e quiser se inscrever, fique a vontade.