Buscar

01 Processos e Threads

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 9 páginas

Prévia do material em texto

Programação Paralela e Distribuída
01 - Processos e Threads
Prof. Laerte M. Rodrigues
laerte.rodrigues@ifmg.edu.br
Programação sequêncial X
concorrente
I Quando escrevemos um algoritmo sua execução é
estritamente sequecial
I Cada instrução é executada após o término de seu antecessor
I A programação concorrente é um paradigma de
programação que é a execução simultânea de várias tarefas
ao mesmo tempo
I As tarefas podem estar distribuídas
I Entre processos distintos que compartilham o mesmo recurso
Programação sequêncial X
concorrente
I Threads criadas por um único processo (compartilham os dados)
I Entre máquinas de uma rede de computador (processamento
distribuído)
Processos
I Um processo é uma atividade de um programa
I Contém o código e dados da atividade
I Leitura/Escrita de dados (em arquivo ou banco de dados),
comunicação com usuário (GUI ou console), troca de dados pela
rede e etc.
I É uma unidade concorrente que um processador sob o
controle do S.O. pode utilizar
I Identificado pelo seu PID (Process IDentifier)
Processos
I Na década de 80 identificou-se que a linha de execução
contínua não pode ser aplicado em sistemas operacionais
distribuídos
I Atualmente isso ainda é diferente do processos paralelos
que utilizam um único processor mas possuem concorrência
em suas atividades internas
I Threads que compartilham a mesma variável
I Um processo é uma entidade de nível de kernel que possui
espaço de endereçamento
I Somente podemos consultar/alterar o estado de um processo à
partir de chamadas do sistema
Processos
I O contexto do kernel:
I PID
I Segmento de código
I Segmento de dados
I Registradores da CPU
I Program Counter
I Pilha de execução
I Estado do processo
I Informações de escalonamento
I Recursos locais (Ponteiro para arquivos, portas sendo ouvidas na
rede, etc...)
Threads
I Com o surgimento de processadores de alto desempenho
(Simultaneous Multithreading, multi-core...) pode-se então
ter atividades concorrentes dentro do processo.
I Ao invés de termos um único fluxo de execução dentro do
processo teremos então múltiplos fluxos dentro do mesmo
processo
I Atualmente, um processo nada mais é que um abimente de
execução que contêm 1 ou mais threads
Threads
I Contexto de uma Thread
I O contexto do kernel:
I Thread IDentifier
I Segmento de código
I Segmento de dados
I Registradores da CPU
I Program Counter
I Pilha de execução
I Estado da thread
I Informações de escalonamento
I Recursos locais (Ponteiro para arquivos, portas sendo ouvidas na
rede, etc...)
Threads
I Pertecem ao processo

Outros materiais