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

Sistemas Distribuídos: Processos (Threads E Virtualização)

Artigo: Sistemas Distribuídos: Processos (Threads E Virtualização). Pesquise 860.000+ trabalhos acadêmicos

Por:   •  1/12/2014  •  3.234 Palavras (13 Páginas)  •  832 Visualizações

Página 1 de 13

A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 3 – Processos / 1 Hélio Crestana Guardia - 2011

Processos

• Arquiteturas cliente-servidor são importantes em sistemas

distribuídos

• Implementação de funcionalidades (cliente e servidor) é comumente

realizada por processos

• Multithreading permite particionar as atividades e sobrepor

comunicação e processamento local, com ganho de desempenho

• Virtualização:

– Permite que aplicação e ambiente de execução executem

concorrentemente com outras aplicações

– Alto grau de independência do hardware e de plataformas subjacentes

– Alto grau de portabilidade

• Migração de código auxilia na escalabilidade e configurações dinâmicasA. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 3 – Processos / 2 Hélio Crestana Guardia - 2011

Threads

• Processos formam um bloco de construção para as atividades a

executar.

• Threads permitem refinar a granularidade das operações a realizar

Process: A software processor in whose context one or more threads may be executed.

Executing a thread, means executing a series of instructions in the context of that

thread.

Thread: A minimal software processor in whose context a series of instructions can be

executed. Saving a thread context implies stopping the current execution and saving

all the data needed to continue the execution at a later stage.A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 3 – Processos / 3 Hélio Crestana Guardia - 2011

Threads

• Sistema Operacional (SO) cria processadores virtuais para executar as diversas

aplicações

• SO mantém informações sobre cada processo, incluindo valores dos registradores da

CPU, mapas de memória, arquivos abertos, dados de contabilização, privilégios e

outras informações

• Processos caracterizam programas em execução nos processadores virtuais

• Mecanismos de hardware permite que SO isole a execução dos processos, que não

interferem uns nos outros

• Processos possuem espaços de endereçamento independentes (memória virtual)

• Alternância no uso de processador físico implica troca de contextos

• Contexto de um processo: valores dos registradores usados em sua execução,

contador de programa, ponteiro de pilha, registrador da unidade de gerenciamento de

memória, caches de tradução de endereço

• Contexto de um thread: valores dos registradores, pilha e informações de estado.

Demais informações, como áreas de código e dados, arquivos, etc., são

compartilhadas com o processo e possíveis outras threads deste mesmo processo.A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 3 – Processos / 4 Hélio Crestana Guardia - 2011

Threads

 Permitem sobrepor atividades de um mesmo processo

 Favorecem o paralelismo da aplicação quando há vários

processadores físicos

 Permitem implementar diferentes funcionalidades de uma aplicação

de forma independente

 Permitem comunicação baseada em memória compartilhada, para

threads do mesmo processo, ao invés de usar mecanismos de IPC

(Inter Process Communication), típicos entre processos no mesmo

sistema

 Criação e destruição de threads são menos onerosas que

processos

 Trocas de contexto entre threads de um mesmo processo

envolvem menos operações A. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 3 – Processos / 5 Hélio Crestana Guardia - 2011

Threads

 Implementação do suporte para threads pode ocorrer como biblioteca no

espaço de endereçamento do usuário ou como um suporte provido pelo

sistema operacional (kernel space)

 Solução no espaço de usuário (user space):

– Criação simplificada: alocação de memória para pilha

– Trocas de contexto no âmbito do processo

– Bloqueio do processo pára todas as threads

 Solução no espaço do sistema operacional (kernel space):

– Contexto de cada thread mantido no kernel

– Trocas de contexto

 Lightweight Processes (LWP): modelo híbrido (user/kernel space)

– Conceitual, implementação não usualA. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 3 – Processos / 6 Hélio Crestana Guardia - 2011

ThreadsA. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e paradigmas - Cap 3 – Processos / 7 Hélio Crestana Guardia - 2011

ThreadsA. S. Tanenbaum, M. Van Steen. Sistemas Distribuídos: Princípios e

...

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