Académique Documents
Professionnel Documents
Culture Documents
Processos Threads
Diferentes tipos de processos desempenham Vrios processadores virtuais criados pelo S.O.
papel crucial em sistemas distribudos. so monitorados auxiliados pelo uso de uma
tabela de processos que contm entradas
O conceito, que vem de S.O., define processos para armazenar valores de registro de CPU,
como programas em execuo + contexto. mapas de memria, entre outros.
3 4
Threads
Threads
Uso em sistemas no distribudos
O S.O. garante transparncia sobre uso de CPU Distribuio de vrias tarefas concorrentes, sem que
e dispositivos de I/O concorrentemente. Para o processo inteiro seja bloqueado em espera a
isso usado o escalonamento de processos. determinada resposta;
Em sistemas multi-core, cada thread pode ser
Uso demasiado de chaveamento no modo dual
executada ao mesmo tempo em processadores
(usurio/monitor);
distintos;
Uso demasiado de chaveamento entre processos;
Cooperao entre programas atravs do uso de IPC
Modificaes constantes no MMU (Memory (InterProcess Communication)
Management Unit) e no TLB (Translation
Comunicao requer chaveamento de contexto em 3
Lookaside Buffer) pontos diferentes.
5 6
1
10/07/2017
Threads
Implementao de Thread
Chaveamento de Contexto - IPC
Existem basicamente duas abordagens:
7 8
9 10
11 12
2
10/07/2017
13 14
Servidores Multithread
Servidores Multithread
Modelo despachante/operrio
Alm de simplificar o cdigo do servidor,
explora paralelismo para obter alto
desempenho, mesmo em sistemas
monoprocessadores;
Um thread despachante cria a diviso de vrios
threads com tarefas distintas, como ler disco,
receber dados de socket, enviar dados para
socket, atender N usurios simultaneamente;
15 16
17 18
3
10/07/2017
Virtualizao
Virtualizao
Arquiteturas de mquinas virtuais
a capacidade de uma nica CPU em fingir Sistemas de computadores oferecem quatro tipos
que h mais delas, assim como essa diferentes de interface em quatro nveis diferentes:
extenso a outros recursos.
Estende ou substitui uma interface existente 1. Interface entre hardware e software para instrues de
para imitar o comportamento de outro sistema mquina invocadas por qualquer programa;
2. Interface entre hardware e software para instrues de
mquina invocadas por programas privilegiados (S.O.);
3. Interface de chamada de sistemas;
4. Interface de chamadas de bibliotecas (API).
19 20
Virtualizao
Virtualizao - Interfaces
Arquiteturas de mquinas virtuais
A virtualizao pode ocorrer de dois modos:
21 22
23 24
4
10/07/2017
Clientes Clientes
Proporcionam meios para interagir com Proporcionam meios para interagir com
servidores, podendo ser das seguintes formas: servidores, podendo ser das seguintes formas:
Sincronizados por protocolo de aplicao. Onde Atravs de servios remotos, oferecendo apenas
cada servio remoto tem um representante na uma interface de usurio conveniente. O servidor
mquina cliente que pode contatar o servio pela faz tudo e o usurio s recebe a resposta no
rede. formato amigvel. Essa abordagem chamada de
Exemplo: Dropbox. terminais clientes minimizados.
25 26
Clientes Clientes
Interfaces de usurios de rede Exemplo: sistema X Window
Usado para controlar terminais baseados em bits
(monitor, teclado, mouse...)
27 28
Clientes Clientes
Exemplo: sistema X Window Exemplo: sistema X Window
Principais problemas Uso de documentos compostos, que integram
Pode ser necessrio uso de compactao, por aplicativos distintos para cooperarem entre si,
exemplo na reproduo de vdeos ou dados dividindo a carga entre os servidores que
multimdia. Para tanto os terminais devem ser
capazes de descompactar os dados, tornando-se servem os servios para cada tipo.
mais caros! Arrastar e soltar um documento em outro ou na
Em aplicativos fortemente acoplados, haver lixeira;
grande espera por resposta, pois no haver Editar um arquivo de texto que contm uma
tarefas a serem feitas enquanto o servidor imagem e um grfico.
processa tarefas.
29 30
5
10/07/2017
31 32
33 34
Servidores
Servidores
Questes Gerais de projeto
Processo que implementa um servio em Os servidores aguardam requisies em:
nome de um conjunto de clientes. Podem ser portas especficas, podendo ter suas portas
organizados de vrias formas: designadas pela IANA (Internet Assigned Numbers
Iterativo: manipula a requisio e, se necessrio, Authority);
retorna uma resposta ao cliente requisitante.
portas designadas dinamicamente pelo sistema
Concorrente: no manipula por si prprio a operacional, por exemplo, atravs de um daemon
requisio, mas passa para um thread separado
(servio) ou de um superservidor.
ou para um outro processo.
35 36
6
10/07/2017
Servidores Servidores
Interrupo de servidor pode ser feita:
Atravs de finalizao forada da tarefa;
Enviar dados de interrupo fora da banda (dados com
privilgios na fila);
Servidor possui estado, ou seja, conhece seus
clientes?
Sem estado: no mantm informaes sobre o estado de
seus clientes;
Estado flexvel: mantm dados por tempo limitado;
Com estado: mantm informaes persistentes sobre o
cliente.
37 38
39 40
Clusters de Servidores
Clusters de Servidores - TCP handoff
Organizao Geral
Vrios servios distribudos em vrios Quando recebe uma requisio o comutador
servidores de aplicao. identifica o melhor servidor para manipular
Comutador deve distinguir servios para repassar aquela requisio.
requisies para as mquinas corretas;
Carga desbalanceada de servidores (soluo:
O servidor escolhido responde ao cliente com
migrao de cdigo);
se fosse o computador que recebeu a
Deve-se fazer o aceso aos servidores de maneira
transparente. Isso pode ser feito pela tcnica
solicitao.
conhecida como TCP handoff.
41 42
7
10/07/2017
43 44
45 46
47 48
8
10/07/2017
49 50
51 52
53 54
9
10/07/2017
55 56
57 58
59 60
10
10/07/2017
61 62
DVIDAS
63
11