Mind map
SD - Processos
Map content
SD - Processos
Threads
- Processador -> hardware -> provê conjunto de instruções
- Thread -> software -> procesador minimo com contexto e um conjunto de instruções
- Processo -> software -> procesador com uma ou mais threads -> executa thread -> executar as intruções daquela thread
- Contexto
- Processador -> conjunto de valores guardados nos registradores
- Thread -> conjunto minimo de valores guardados em registradores e memoria
- Processo -> conjunto minimo de valores guardados em registradores e memoria para execução de uma thread
- Thread compartilham o mesmo espaço de endereçamento
- Operações em thread são mais baratos que processos Ex: Troca de contexto, criação e destruição de processo e thread
- SO ou cliente implementa thread
- Cliente
- Operações feitas em um unico processo -> mais eficiente
- Se o nucleo decidir bloquear a thread, bloqueia o processo inteiro
- Problema do SO identificar qual thread se trata, já que possui várias threads para eventos externos
- SO
- Todas as operações são chamadas ao sistema
- Escalonamento de thread
- Tratamento de eventos externos simples
- Problema é a perda de eficiencia já que requer um trap para o nucleo
- Conclusão: Juntar thread cliente e SO
- Lightweight process - SOLARIS
- Thread no usuário e LWP no kernel
- Lightweight process - SOLARIS
- Cliente
- Thread em Sistemas Distribuidos
- Cllientes multithread
- Requisição em threads
- Exibe conforme chegam
- Vantagem: Esconde a latencia de rede
- Servidores multithread
- Thread como Dispatcher
- Se as chamadas forem a servidores diferentes -> gera speed-linear
- Uso de bloqueantes
- Usar bloqueantes simples e conhecidas simplifica o programa
- Programas multithreaded são menores e mais simples pelo fluxo de controle simplificado
- Cllientes multithread
Cliente / Servidor
- Cliente
- Networked user interfaces - Interface de usuário interligado
- Abordagem: Thin-Client
- Compound Documents
- Compartilhamento e Troca de dados
- Funções adicionais ao Thin-Client
- Drag-and-drop
- In-place editing
- Exemplo: rotação de imagem
- Transparência da distribuição
- Acesso
- stubs do cliente para RPC
- localização/migração
- software cliente controla a localização atual
- replicação
- Multiplas evocações/requests são gerenciadas pelo stub do cliente
- falhas
- geralmente são de responsabilidade do cliente
- Acesso
- Networked user interfaces - Interface de usuário interligado
- Servidor
- Servidores interativos x concorrentes
- Interativos - trata somente um cliente
- Concorrentes - trata mais de um cliente ao mesmo tempo
- Superservers x Normal
- Normal
- Possui um daemon para manter quais clientes está tratando, mas gerencia tudo
- Superserver
- Trata a requisição e cria servidor para request e o server "normal" trata
- Normal
- Comunicações de controle
- Problema: Interromper servidor em processamento ou tratando requisição
- Solução
- Porta diferente para dados urgentes - Necessita de SO com escalonamento por prioridade
- Comunicação de controle da camada de transporte - TCP permite envio de mensagens urgente na mesma conexão e SO trata
- Estados
- Stateless
- Consequências
- Clientes e servidores independentes
- Inconsistencias de estado são reduzidas
- Não pode fazer prefetching - Possivel perda de desempenho
- Comunucação orientada a conexão
- não viola o modelo stateless
- Necessita lembrar que a camada de transporte mantem estado
- Melhor usar protocolo stateless e operações idempotentes - que não alterem o resultado conforme aplicações
- Consequências
- Stateful
- Consequências
- Prefetching
- Amarram cliente-servidor
- Cache - Aumenta o desempenho
- Problema de confiabilidade, segurança, espaço ocupado
- Consequências
- Stateless
- Aglomerado de Servidores
- Camadas
- Dispatched request - balanceador
- Aplicação e servidores
- Arquivos e dados distribuidos
- Tratamento de requisição
- Várias camadas tratando
- Uso do TCP-handoff
- Passa por um switch redirecionando a requisição para um servidor
- Servidores distribuidos
- IPv6 Mobile
- conecta com outro par / servidor de forma transparente
- CDN
- Servidor colaborador
- Original e colaborador parece um unico servidor
- IPv6 Mobile
- Camadas
- Servidores interativos x concorrentes
- Cliente
Virtualização
- Motivações
- Mudança de hardware
- Portabilidade e migração melhores
- Isolamento de componentes com problemas
- Tipos
- Process Virtual Machine - Maquina de processamento virtual
- Programa compilado por um intermediário portatil e executado por um interpretador
- Exemplo: Java VM
- Virtual Machine Monitor - Maquina de monitoramento virtual
- Programa que imita o conjunto de instruções de hardware
- Exemplos: VMware e VirtualBox
- Process Virtual Machine - Maquina de processamento virtual
- Interfaces
- Hardware -> Instruções privilegiadas e instruções gerais
- SO - Chamadas ao sistema
- Bibliotecas -> Funções
- Aplicação utiliza da interface da biblioteca e instruções gerais do hardware
- Motivações
Migração de código
- Motivação: Desempenho
- 3 segmentos de migração
- Código
- Recurso
- Execução
- Mobilidade fraca x forte
- Fraca
- Código e dados migrados e execução reiniciada
- Implementação simples
- Modalidades: Pull e Push
- Forte
- Código, dados e execução migrados
- Implementação complexa
- Modalidades: Migração e Clonagem
- Migração: Move o objeto inteiro de máquina
- Clonagem: Clona e configura para o mesmo estado da execução
- Fraca
- Migração e Recursos locais
- Ligação objeto-recursos
- ID
- objeto requer instancia especifica
- Valor
- objeto requer valor de um recurso
- Tipo
- objeto requer um tipo de recurso disponivel
- ID
- Tipos de recursos
- Fixos
- Hardware
- Anexados
- Migração de alto custo - BD local
- Desanexado
- Migração de baixo custo - cache
- Fixos
- Ligação objeto-recursos
- Migração em sistemas heterogeneos
- Problemas
- Maquina destino não ser adequada
- Contexto de thread/processo/processador dependente de hardware/SO/bibliotecas locais
- Solução
- Maquina virtual
- Linguagens interpretadas que possuem MV (Java)
- Uma MV
- Maquina virtual
- Problemas
Information
- Description
- Prova SD Mind Map on SD - Processos, created by agyotoku on 19/06/2016.
- Created by
- agyotoku
- Views
- 0
- Rating