programação de sistemas distribuídos e concorrentes
DESCRIPTION
Programação de Sistemas Distribuídos e Concorrentes. Programação de Sistemas Distribuídos e Concorrentes. Sumario Sistema Operacional Monoprogramação X Multiprogramação Processo X Threads Posix (Pthreads) Pthreads implementação. Programação de Sistemas Distribuídos e Concorrentes. - PowerPoint PPT PresentationTRANSCRIPT
11
Programação de Programação de Sistemas Distribuídos Sistemas Distribuídos
e Concorrentese Concorrentes
Programação de Programação de Sistemas Distribuídos Sistemas Distribuídos
e Concorrentese Concorrentes
22
Programação de Sistemas Distribuídos e Concorrentes
SumarioSistema OperacionalMonoprogramação X
MultiprogramaçãoProcesso X ThreadsPosix (Pthreads)Pthreadsimplementação
33
Programação de Sistemas Distribuídos e Concorrentes
Sistema OperacionalÉ um programa responsável pelo
gerenciamento de hardware.Ele gerencia as aplicações, para que uma não
interfira no funcionamento da outra.Monoprogramação
Somente um programa de usuário é carregado em memória por vez, e somente um programa concorre pelo processamento.
MultiprogramaçãoVários programas são carregados em memoria,
e concorrem entre si pelo processamento.
44
Programação de Sistemas Distribuídos e Concorrentes
ProcessoProcesso é constituído por uma
seqüência de instrução, em execução. Processo pode ser entendido como um programa em execução.
ThreadsToda Threads pertence a um
processo.O termino de um processo, significa o
termino de todas as Threads pertencentes á ele.
55
Programação de Sistemas Distribuídos e Concorrentes
Processo X ThreadsProcesso ocupa espaço de
endereçamento, e isto custa caro.Thread são executadas no mesmo espaço
de endereçamento, isto é mais viável.Se interromper um Processo, toda
aplicação é interrompida.Uma Thread, pode ser interrompida, e o
processo criador continua sendo executado.
É mais rápido fazer chaveamento entre Thread, do que entre Processos.
66
Programação de Sistemas Distribuídos e Concorrentes
Posix (Pthreads)POSIX Threads, ou Pthreads, é um padrão,
criado pelo IEEE que define uma API (application program interface) para o desenvolvimento de aplicações multi-threaded.
A API é formada por aproximadamente 60 funções que possibilitam a criação, suspensão e término de threads, bem como a sincronização e o controle do escalonamento destas threads. Atualmente ela pode ser utilizada apenas com as linguagens C e C+.
77
Programação de Sistemas Distribuídos e Concorrentes
PthreadsO programa inicia com uma única thread,
principal que (executa a função main do programa C). Após outras threads são criadas pelo programador através da função pthread_create, que tem como parâmetro o nome de uma função para a thread executar.
Um programa paralelo desenvolvido com Pthreads consiste, em um conjunto de threads que executam o código dentro de uma ou mais funções definidas pelo usuário. Cada thread executa independentemente das demais até o término da função que lhe foi designada ou até a realização de uma chamada à função pthread_exit, quando então é destruída.
88
Programação de Sistemas Distribuídos e Concorrentes
Implementação
99
Programação de Sistemas Distribuídos e ConcorrentesREFERÊNCIAS BIBLIOGRÁFICAS
Toscani-Simão Sirineo, Romulo Silva de Oliveira, Alexandre da Silva Carissimi. Sistemas Operacionais e Programação Concorrente. Porto Alegre RS. Sagra Luzzatto 2003
Torelli-Programação Paralela em SMPs com OpenMP e POSIX Threads. Acessado em 22/04/05 disponível em: http://www.niee.ufrgs.br/cbcomp/cbcomp2004/html/pdf/Sistemas_Paralelos_Distribuidos/t170100281_3.pdf
1010
Duvidas
Marcos SfairJonats Santos
FIM.