Processo e threds
PROCESSOS E THREDS
ÍNDICE:
Definições .............................................................. pag 02
Threds e Processos e suas diferenças ............... pag 03
Estados de execução de um Processo ................ pag 04
Programação paralela Threds ............................... pag 06
Concorrência .......................................................... pag 09
Concorrências com Threads ................................. pag 10
Aluno: Cristiano da Silva Campos / Matr. 02410009014
CONCEITOS
Processos e Threads
Processo é geralmente entendido como um programa em execução porém, na realida-de, trata-se de uma estrutura mais complexa que contém, além do programa no seu formato executável, todas as informações necessárias (contexto) à execução e ao controle da execução do mesmo, como por exemplo: o contador de programa, pilhas, registradores e área de dados.
THREAD
Linha ou Encadeamento de execução (em inglês: Thread), é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente. O suporte à thread é fornecido pelo próprio sistema operativo (SO), no caso da linha de execução ao nível do núcleo (em inglês: Kernel-Level Thread (KLT)), ou implementada através de uma biblioteca de uma determinada linguagem, no caso de uma User-Level Thread (ULT).
O conceito dum Processo pode ser dividido em dois :
1: Um conjunto de recursos necessários para a execução duma programa. Por exemplo :
–
um espaço de endereçamento (virtual address space) que contêm o texto do programa e os seus dados
–
uma tabela de Descritores de Ficheiros abertos
–
informação sobre processos filhos
–
código para tratar de sinais (signal handlers)
–
informação sobre o próprio ( Permissões, Nome do Utilizador,
Inventário) etc.
2 Uma linha ou contexto de execução, chamada “Thread”
–
Uma thread tem um programa counter (pc) que