Processos e threads

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1134 palavras )
  • Download(s) : 0
  • Publicado : 12 de abril de 2012
Ler documento completo
Amostra do texto
Processos
São todos os programas que são executados pelo PC seja pelo usuário ou pelo sistema, um exemplo provável de processo por usuário seria você executar o Word onde tal e definido um pid (um numero de identificação definido pelo sistema quando um processo esta executando), uma parte da memória (principal) é alocado para o aplicativo, e definido uma parte do processador pra processar osdados, para que tal funcione já um processo por sistema são todos os processos necessários para o funcionamento correto do PC como o Windows Explorer sem ele não conseguiríamos usar o PC como usamos ele.

Diagrama de Estados do Processo:

No estado executando, um processo pode fazer chamadas de sistema. Até a chamada de sistema ser atendida, o processo não pode continuar sua execução. Ele ficabloqueado e só volta a disputar o processador após a conclusão da chamada. Enquanto espera pelo término da chamada de sistema, o processo está no estado bloqueado. O sistema operacional então seleciona um processo da fila de aptos para receber o processador. O processo selecionado passa do estado de apto para o estado executando. O módulo do sistema operacional que faz essa seleção é chamado deescalonador.

Threads

O que é Thread?

Thread é uma linha de execução, uma seqüência de instruções a serem executadas dentro de um processo.
Ela possibilita que o processo execute mais de uma função paralelamente, quando há mais de um thread no mesmo programa. Podemos dizer então que cada thread é responsável por uma função dentro de um programa. Em um chat, por exemplo, uma thread éresponsável pelo texto, outra pelos alertas sonoros.

Podemos exemplificar os threads de uma forma muito simples usando uma partida de futebol como exemplo, dentro de um campo cada jogador possui uma função, um ataca, outro defende, outro articula jogadas pelo meio de campo, etc. Eles têm contato entre si através do toque de bola. A bola está nas mãos do goleiro, este executa sua função lançando a bolapara o zagueiro, que por sua vez, toca para o meio de campo e assim vai sendo feita a jogada.
Em hardware com uma única UCP os threads também são assim, ocupam o mesmo espaço de endereçamento, cada qual com sua função, assim que o thread que está em execução conclui sua tarefa o que estava aguardando começa sua execução, tudo de uma forma muito rápida, dando a impressão para o usuário que tudoestá sendo executado simultaneamente. Já em hardwares com mais de uma UCP essa execução ocorre de fato simultaneamente.

Um thread possui basicamente:

* Contador de programa.
* Registradores de instruções, que informa qual é a próxima instrução a ser executada.
* Pilha de execução, com essas instruções a serem executadas.
* Estado de execução.


As threads são conhecidastambém como processos leves devido seu compartilhamento de memória, que possibilita que as threads sejam executadas em paralelismo, permitindo assim que varias execuções ocorram de forma independente dentro de um processo.
A principal vantagem do uso de threads para o usuário é o ganho real de tempo na execução de um programa, pois ele pode ter mais de uma linha de execução, podendo assim executartarefas diferentes ao mesmo tempo sem depender umas das outras.

Diferenças entre Threads e processos

Basicamente, quando um programa vai ser executado pelo sistema operacional, esse gera um processo. O processo na realidade é o ambiente desse programa em execução.
Esse programa certamente executa suas tarefas e faz isso usando de uma seqüência de instruções. Thread é essa seqüência deinstruções, ou linha de execução.
Uma das grandes diferenças entre threads e processos é o tempo de chaveamento de contexto. Esse chaveamento de contexto é a troca entre o contexto de dados do processo que está em execução, esse precisa ser guardado para liberar o contexto para o próximo processo. Esse tempo de chaveamento entre as threads é bem menor devido o contexto entre as threads ser...
tracking img