programação de sistemas distribuídos e concorrentes

10
1 Programação de Programação de Sistemas Sistemas Distribuídos e Distribuídos e Concorrentes Concorrentes

Upload: carr

Post on 21-Jan-2016

47 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Programação de Sistemas Distribuídos e Concorrentes

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

Page 2: Programação de Sistemas Distribuídos e Concorrentes

22

Programação de Sistemas Distribuídos e Concorrentes

SumarioSistema OperacionalMonoprogramação X

MultiprogramaçãoProcesso X ThreadsPosix (Pthreads)Pthreadsimplementação

Page 3: Programação de Sistemas Distribuídos e Concorrentes

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.

Page 4: Programação de Sistemas Distribuídos e Concorrentes

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.

Page 5: Programação de Sistemas Distribuídos e Concorrentes

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.

Page 6: Programação de Sistemas Distribuídos e Concorrentes

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+.

Page 7: Programação de Sistemas Distribuídos e Concorrentes

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.

Page 8: Programação de Sistemas Distribuídos e Concorrentes

88

Programação de Sistemas Distribuídos e Concorrentes

Implementação

Page 9: Programação de Sistemas Distribuídos e Concorrentes

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

Page 10: Programação de Sistemas Distribuídos e Concorrentes

1010

Duvidas

Marcos SfairJonats Santos

FIM.