Mapa mental
Programação concorrente PTHREAD
Conteúdo do mapa
Programação concorrente PTHREAD
INTRODUÇÃO
- primeiros sistemas computacionais
- Unidades de execução eram chamados simplesmente de programas
- Programa
- conjunto de códigos binários executados pelo processador
- Programa
- Unidades de execução eram chamados simplesmente de programas
- job/tarefas
- job = seqüência de tarefas
- tarefa = execução de determinado programa, geralmente uma etapa de um job
- O termo tarefa foi gradualmente sendo substituído pelo termo processo
- PC (Program Counter) ou IP (Instruction Pointer)
- registradore especial
- endereço da instrução que está sendo executada
- aponta para a área de código do processo, o que constitui o fluxo de execução (também chamado de ponto de execução ou linha de execução) do processo
- registradore especial
- THREAD
- leve (thread)
- fluxo único
- (fluxo de execução dentro de um processo
- multithread
- multi fluxo
- troca de contexto entre processos leves é mais rápida
- economia de memória
- compartilham memória
- Própria pilha
- leve (thread)
- processo
- Registradores (PC, SP, …)
- Memória
- Descritores de arquivos
- A troca de contexto é uma operação pesada
- Há registradores (PC, CS:IP ou IP) que apontam para a instrução que está sendo executada
- primeiros sistemas computacionais
C ONCEITOS BÁSICOS
- Criação de processo
- novo descritor de processo
- nova área de endereçamento
- implementação
- nível do usuário - N:1 (manyto one)
- Vantagens
- chaveamento de contexto é mais rápido
- Problemas com E/S
- Vantagens
- nível do sistema - 1:1 (one to one)
- Visto como um processo
- Desvantagen
- Chamadas de sistemas
- mais pesadas
- método misto - M:N (manyt o many)
- Vantagem
- Escolha do usário atráves de bibliotecas
- Flexibilidade
- Vantagem
- nível do usuário - N:1 (manyto one)
- Criação de processo
PTHREAD
- pthread_create():
- pthread_join()
- espera pelo final da execução de outra thread
- pthread_exit()
- encerra explicitamente a thread corrente
- pthread_self() - retorna o identificador
- retorna o identificador da thread corrente
- pthread_mutex_lock()
- pthread_mutex_unlock()
Informações
- Descrição
- Mapa Mental sobre Programação concorrente PTHREAD, criado por henrique widmar em 25-06-2017.
- Criado por
- henrique widmar
- Visualizações
- 2
- Avaliação