100 likes | 229 Views
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.
E N D
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 • 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ção • Vários programas são carregados em memoria, e concorrem entre si pelo processamento.
Programação de Sistemas Distribuídos e Concorrentes • Processo • Processo é constituído por uma seqüência de instrução, em execução. Processo pode ser entendido como um programa em execução. • Threads • Toda Threads pertence a um processo. • O termino de um processo, significa o termino de todas as Threads pertencentes á ele.
Programação de Sistemas Distribuídos e Concorrentes • Processo X Threads • Processo 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.
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+.
Programação de Sistemas Distribuídos e Concorrentes • Pthreads • O 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.
Programação de Sistemas Distribuídos e Concorrentes • Implementação
Programação de Sistemas Distribuídos e Concorrentes • REFERÊ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
Duvidas Marcos Sfair Jonats Santos FIM.