TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Sistemas Distribuidos

Dissertações: Sistemas Distribuidos. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  5/5/2014  •  1.366 Palavras (6 Páginas)  •  655 Visualizações

Página 1 de 6

Sistemas Distribuídos

Introdução:

Processos:

• Threads

- Monothread

- Multithread

- Virtualização

• RPC – Chama de procedimento remoto

4

Sistemas Distribuídos

Processos (Tanenbaum, 2007, p.42)

Introdução:

Segundo Tanenbaum (2007), os processos desempenham papel

fundamental em sistemas distribuídos:

 “Para organizar sistemas cliente-servidor, muitas vezes é

conveniente usar técnicas de multithreading.”

 “O conceito de virtualização ganhou popularidade.”

 “A virtualização permite que uma aplicação, e possivelmente também

seu ambiente completo, incluindo o Sistema Operacional, execute

concorrentemente com outras aplicações, mas com alto grau de

independência em relação ao hardware e plataformas subjacentes, o

que resulta em alto grau de portabilidade.”

5

Sistemas Distribuídos

Threads e Processos

Um processo costuma ser definido como um programa em execução, isto é,

um programa que está sendo executado em um dos processadores

virtuais do S.O. no momento em questão.

Um Thread é a abstração do Sistema Operacional de uma atividade –

(“thread”) fio ou linha de execução. É o processo se dividir em várias

“atividades”.

Threads e Processos podem ser vistos como um modo de fazer mais coisas

ao mesmo tempo. Na verdade, eles nos permite construir (porções de)

programas que “parecem” ser executados simultaneamente.

6

Sistemas Distribuídos

• É claro que em um computador monoprocessado essa “execução

simultânea” é uma ilusão.

Como há somente uma CPU, só uma instrução de um único thread ou

processo será executada por vez.

A ilusão de paralelismo é criada pelo chaveamento rápido entre threads

e/ou processos.

• As threads podem ser criadas e destruídas dinamicamente.

• Alguns autores chamam de “gargalo de John Von Newman”.

Threads e Processos ...continuação

7

Sistemas Distribuídos

O objetivo de se ter Threads é maximizar o grau de execuções concorrentes

entre operações.

Os threads são computacionalmente mais baratas de serem criadas e

gerenciadas do que processos, e o compartilhamento de recursos pode ser

obtido de forma mais eficiente, por compartilharem um mesmo ambiente de

execução.

Um ambiente de execução é a unidade de gerenciamento de recursos: conj.

de recursos locais gerenciados pelo núcleo, aos quais as threads tem

acesso. Consiste principalmente em :

- Um espaço de endereçamento;

- Recurso de sincronização e comunicação entre threads;

- Recursos como arquivos e janelas abertas;

Threads e Processos ...continuação

8

Sistemas Distribuídos

• Assim como um processo, um thread executa sua própria porção

de código, independente de outras threads.

Ambiente Execução Thread

Tabelas de espaço de

endereçamento

Registradores internos do

processador salvos

Interfaces de comunicação,

arquivos abertos

Prioridade e estado da execução

(Blocked)

Semáforos, outros objetos de

sincronização

Informações do tratamento da

interrupção de software

Lista de identificadores de thread Identificador do ambiente de

execução

Estados associados aos ambientes de execução e as threads

9

Sistemas Distribuídos

Threads em Sistemas Distribuídos (Tanenbaum, 2007, p.46)

Introdução e Conceitos:

 Até o final da década 70, os sistemas suportavam somente processos. Exemplos:

“Tops-10” da DEC, “MVS” da IBM e “Unix” da Bel.

 Em 1979, surgem os “processos leves”(Light Weight Process), introduzido pelo

desenvolvimento do sistema operacional TOTH.

 Somente em meados de 1984 é que esse conceito foi aceito comercialmente.

Monothread

É um

...

Baixar como (para membros premium)  txt (12.6 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com