Distributed Systems Principles and Paradigms
|
|
- Augusto Marreiro Canto
- 8 Há anos
- Visualizações:
Transcrição
1 Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science (Tradução e Adaptação Ricardo Anido - IC/Unicamp) Capítulo 03: Processos Versão: 20 de março de 2014
2 2 / 33 Conteúdo Capítulo 01: Introdução 02: Arquiteturas 03: Processos 04: Comunicação 05: Nomeação 06: Sincronização 07: Consistência & Replicação 08: Tolerância a Falhas 09: Securança 10: Distribuição de Sistemas Baseados em Objetos 11: Sistemas de Arquivos Distribuídos 12: Sistemas Distribuídos Baseados na Web 13: Sistemas Distribuídos Baseados em Coordenação
3 3.1 Processos 3 / 33 Introdução a Threads Ideia básica Construir processadores virtuais em software, usando processadores físicos: Processador: provê um conjunto de instruções e mecanismos para executar uma série dessas instruções Thread: Um processador mínimo em software em cujo contexto uma série de instruções são executadas. Salvar o contexto de uma thread implica parar a execução corrente e salvar todos os dados necessários para retomar a execução posteriormente. Processo: Um processador em software em que uma ou mais threads podem ser executadas. Executar uma thread significa executar uma série de instruções no contexto dessa thread.
4 3.1 Processos Troca de contexto Contextos Contexto de processador: Conjunto mínimo de valores armazenados nos registros de um processador, usados para execução de uma sequência de instruções (apontador de pilha, apontador de programa, registradores gerais, etc.) Contexto de Thread: Conjunto mínimo de valores armazenados em registradores e memória, usados para execução de uma sequência de instruções (contexto de processador, estado da pilha, etc.) Contexto de Processo: Conjunto mínimo de valores armazenados em registradores e memória, usados para execução de uma sequência de instruções (contexto de thread, registradores de gerência de memória (MMU), etc.) 4 / 33
5 3.1 Processos Troca de contexto Contextos Contexto de processador: Conjunto mínimo de valores armazenados nos registros de um processador, usados para execução de uma sequência de instruções (apontador de pilha, apontador de programa, registradores gerais, etc.) Contexto de Thread: Conjunto mínimo de valores armazenados em registradores e memória, usados para execução de uma sequência de instruções (contexto de processador, estado da pilha, etc.) Contexto de Processo: Conjunto mínimo de valores armazenados em registradores e memória, usados para execução de uma sequência de instruções (contexto de thread, registradores de gerência de memória (MMU), etc.) 4 / 33
6 3.1 Processos Troca de contexto Contextos Contexto de processador: Conjunto mínimo de valores armazenados nos registros de um processador, usados para execução de uma sequência de instruções (apontador de pilha, apontador de programa, registradores gerais, etc.) Contexto de Thread: Conjunto mínimo de valores armazenados em registradores e memória, usados para execução de uma sequência de instruções (contexto de processador, estado da pilha, etc.) Contexto de Processo: Conjunto mínimo de valores armazenados em registradores e memória, usados para execução de uma sequência de instruções (contexto de thread, registradores de gerência de memória (MMU), etc.) 4 / 33
7 5 / 33 Troca de contexto Processsos 3.1 Processos Observações 1 Threads compartilham o mesmo espaço de endereçamento. Troca de contexto pode ser feita independente do systema operacional, em código de usuário. 2 Troca de processos é geralmente mais cara, envolve chamada de sistema. 3 Criar de destruir threads é muito mais barato do que criar e destruir processos.
8 3.1 Processos 6 / 33 Threads e Sistemas Operacionais Ponto principal Kernel de OS deve prover threads, ou threads devem ser implementadas em bilbiotecas em nível de usuário? Solução em espaço de usuário Todas as operações podem ser completamente realizadas dentro de um único processo implementações podem ser muito eficientes. Todos os serviços disponibilizados pelo kernel são feitos em nome do processo em que a thread reside se o kernel decide bloquear uma thread, todo o processo será bloqueado (todas as outras threads desse processo serão bloqueadas). Threads são usadas quando há muitos eventos externos: threads bloqueiam com base em eventos se o kernel não distingue threads, como pode sinalizar eventos para uma determinada thread?
9 3.1 Processos 7 / 33 Threads e Sistemas Operacionais Solução no Kernel Ideia é que kernel contenha implementação de threads; todos os serviços de thread feitos a partir de chamadas a sistemas Operações que bloqueiam uma thread não são mais problema: kernel pode escolher outra thread dentro do mesmo processo. Tratamento de eventos externos é simples kernel (que captura todos os eventos) escolhe a thread associada ao evento. O problema é perda de desempenho devido ao fato de overhead introduzido por chamadas de systema. Conclusão Seria ideal ter um sistema de threads híbrido, implementado em nível de usuário e de kernel.
10 3.1 Processos Threads Solaris Ideia básica Introduziu uma abordagem em dois níveis: processos lightweight que podem executar threads de usuário. Thread state User space Thread Kernel space Lightweight process LWP executing a thread Nota Este conceito foi abandonado; hoje em dia implementação é no nível de usuário (como em java) ou no nível de kernel. 8 / 33
11 3.1 Processos 9 / 33 Threads e Sistemas Distribuídos Cliente Web Multithreaded Escondendo latências de rede: Navegador Web percorre página HTML, e descobre que mais arquivos devem ser buscados. Cada arquivo é buscado usando uma thread separada, cada uma executando uma requisião HTTP (bloqueante). À medida que arquivos chegam, navegador mostra na tela. Multiplas chamadas request-reply para outras máquinas (RPC) Cliente executa várias chamadas ao mesmo tempo, cada uma usando uma thread distinta. Espera até que todos os resultados sejam retornados. Nota: se chamadas são para servidores diferentes, podemos ter uma melhora de desempenho (speed-up) linear.
12 3.1 Processos 10 / 33 Threads e Sistemas Distribuídos Melhora de desempenho Criar thread é muito mais barato do que criar processo. Servidor com uma única thread inibe escalabilidade mesmo em caso simples de sistema com múltiplos processadores. Em clientes: esconder latência de rede reagindo a próxima requisição enquanto anterior não é respondida. Melhor estrutura Maioria de servidores têm demanda alta de E/S. Uso de modelo simples e bem-conhecido de chamadas bloqueantes simplifica estrutura geral. Programas com múltiplas thread tendem a ser menores e mais fáceis de entender e depurar devido ao fluxo simplificado de controle.
13 11 / 33 Virtualização Processsos 3.2 Virtualização Observação Virtualização tem se tornado cada vez mais importante: Hardware muda mais rapidamente do que software Facilidade de portabilidade e migração de código Isolamento de componentes falhos ou invadidos Program Program Interface A Hardware/software system A Interface A Implementation of mimicking A on B Interface B Hardware/software system B (a) (b)
14 12 / 33 Arquitetura de VMs Processsos 3.2 Virtualização Observação Virtualização pode ser realizada em níveis distintos, dependendo fortemente das interfaces oferecidas pelos vários componentes: Library functions System calls Privileged instructions Application Library Operating system Hardware General instructions
15 3.2 Virtualização VMs de processo x VMs de arquitetura Application Runtime system Runtime system Runtime system Applications Operating system Operating system Operating system Operating system Virtual machine monitor Hardware (a) Hardware (b) VM de Processos: Um programa compilado para um código intermediário (portável), que é executado em um sistema de execução (Exemplo: Java VM). VM de Arquitetura: Uma camada de software que imita uma arquitetura de hardware (conjunto de instruções + interfaces de dispositivos) um sistema operacional completo e suas aplicações podem ser providos (Exemplo: VMware, VirtualBox). 13 / 33
16 14 / 33 Processsos 3.2 Virtualização VM de arquitetura e sistemas operacionais Na prática Há vários exemplos de VMs rodando em cima de sistemas operacionais. Executam tradução binária: durante execução de uma aplicação ou sistema operacional, traduz intruções da máquina virtual para o repertório da máquina real. Cuidado com ações sensíveis: chamadas a sistema, instruções privilegiadas. Ações sensíveis são trocadas por chamadas ao sistema da VM.
17 3.3 Clientes 15 / 33 Clientes: Interfaces de usuário Essência A maior parte de software no lado do cliente é focado em interfaces (gráficas) de usuário. Application server Application server User's terminal Window manager Xlib Local OS Application Xlib Local OS Xlib interface X protocol X kernel Device drivers Terminal (includes display keyboard, mouse, etc.)
18 3.3 Clientes 16 / 33 Clientes: Interfaces de usuário Documentos compostos Interface de usuário é application-aware comunicação entre aplicativos: drag-and-drop: mover objetos na tela para invocar interação com outros aplicativos. edição in-place: integrar vários aplicativos no nível de interface de usuários (por exemplo, processamento de texto + facilidades de desenho)
19 17 / 33 Software Client-Side Processsos 3.3 Clientes Geralmente implementados para transparência de distribuição transparência de acesso: stubs client-side para RPCs transparência de localidade/migração: deixar o software client-side manter (ou descobrir) localidade do serviço transparência de replicação: invocações múltiplas tratadas por stub no cliente: Client machine Server 1 Server 2 Server 3 Client appl. Server appl Server appl Server appl Client side handles request replication Replicated request transparência de falhas: frequentemente podem ser colocadas somente no cliente (tentativa de mascarar falhas do servidor ou de comunicação).
20 3.4 Servers 18 / 33 Servidores: Organização Geral Modelo Básico Um servidor é um processo que espera por chegadas de requisições de serviços em endereços de transporte específicos. Na prática, há um mapeamento um-para-um entre uma porta e um serviço. ftp-data 20 File Transfer [Default Data] ftp 21 File Transfer [Control] telnet 23 Telnet 24 any private mail system smtp 25 Simple Mail Transfer login 49 Login Host Protocol sunrpc 111 SUN RPC (portmapper) courier 530 Xerox RPC
21 19 / 33 Processsos 3.4 Servers Servidores: Organização Geral Tipos de servidores Superservidores: Servidores que escutam em várias portas, i.e., provêm vários serviços independentes. Na prática, quando uma requisição de serviço chega, iniciam um subprocesso para tratar da requisição (UNIX inetd, internet service deamon) Servidores Iterativos vs. servidores concorrentes: Servidores iterativos podem tratar de apenas um cliente por vez, em contraste com servidores concorrentes.
22 3.4 Servers Comunicação fora-de-banda Ponto É possível interromper um servidor depois que ele aceitou (ou está prestes a aceitar) uma requisição de serviço? Solução 1 Use uma porta separada para dados urgentes: Servidor tem uma porta separada para mensagens urgentes para o processo/thread. Mensagem urgente chega requisição associada é suspensa. Nota: exige que o S.O. tenha suporte escalonamento baseado em prioridades. Solução 2 Uso de comunicação fora-de-banda da camada de transporte: Exemplo: TCP permite mensagens urgentes na mesma conexão Mensagens urgentes podem ser capturadas com uso de signals no S.O. 20 / 33
23 3.4 Servers Comunicação fora-de-banda Ponto É possível interromper um servidor depois que ele aceitou (ou está prestes a aceitar) uma requisição de serviço? Solução 1 Use uma porta separada para dados urgentes: Servidor tem uma porta separada para mensagens urgentes para o processo/thread. Mensagem urgente chega requisição associada é suspensa. Nota: exige que o S.O. tenha suporte escalonamento baseado em prioridades. Solução 2 Uso de comunicação fora-de-banda da camada de transporte: Exemplo: TCP permite mensagens urgentes na mesma conexão Mensagens urgentes podem ser capturadas com uso de signals no S.O. 20 / 33
24 3.4 Servers Comunicação fora-de-banda Ponto É possível interromper um servidor depois que ele aceitou (ou está prestes a aceitar) uma requisição de serviço? Solução 1 Use uma porta separada para dados urgentes: Servidor tem uma porta separada para mensagens urgentes para o processo/thread. Mensagem urgente chega requisição associada é suspensa. Nota: exige que o S.O. tenha suporte escalonamento baseado em prioridades. Solução 2 Uso de comunicação fora-de-banda da camada de transporte: Exemplo: TCP permite mensagens urgentes na mesma conexão Mensagens urgentes podem ser capturadas com uso de signals no S.O. 20 / 33
25 3.4 Servers 21 / 33 Servidores e Estado Servidores sem estado (stateless) Nunca precisam manter informação precisa sobre o cliente após tratar uma requisição: Não lembram se um arquivo foi aberto (simplesmente fecham o arquivo após acesso) Não prometem invalidar cache de cliente Não mantém quem são os clientes Consequências Clientes e servidores são completamente independentes Inconsistências de estado devido a falhas (crash) no cliente ou servidor são reduzidas Possível perda de desempenho devido, p.ex., servidor não poder antecipar comportamento do cliente (exemplo, prefetching de blocos de arquivos)
26 3.4 Servers 21 / 33 Servidores e Estado Servidores sem estado (stateless) Nunca precisam manter informação precisa sobre o cliente após tratar uma requisição: Não lembram se um arquivo foi aberto (simplesmente fecham o arquivo após acesso) Não prometem invalidar cache de cliente Não mantém quem são os clientes Consequências Clientes e servidores são completamente independentes Inconsistências de estado devido a falhas (crash) no cliente ou servidor são reduzidas Possível perda de desempenho devido, p.ex., servidor não poder antecipar comportamento do cliente (exemplo, prefetching de blocos de arquivos)
27 3.4 Servers Servidores e Estado Question Comunicação orientada a conexão casa com projeto stateless? 22 / 33
28 3.4 Servers 23 / 33 Servidores e Estado Servidores Stateful Mantém estado de clientes: Registra que arquivo foi aberto (pre-fetching pode ser feito) Sabe que dados o cliente tem no cache, e permite que clientes mantenham cópias locais de dados compartilhados Observação O desempenho de servidores stateful pode ser excelente, desde que clientes possam manter cópias locais. Confiabilidade não é um grande problema.
29 3.4 Servers 23 / 33 Servidores e Estado Servidores Stateful Mantém estado de clientes: Registra que arquivo foi aberto (pre-fetching pode ser feito) Sabe que dados o cliente tem no cache, e permite que clientes mantenham cópias locais de dados compartilhados Observação O desempenho de servidores stateful pode ser excelente, desde que clientes possam manter cópias locais. Confiabilidade não é um grande problema.
30 3.4 Servers 24 / 33 Clusters de servidores: três níveis (tiers) distintos Logical switch (possibly multiple) Application/compute servers Distributed file/database system Client requests Dispatched request First tier Second tier Third tier Elemento crucial O primeiro nível é em geral responsável por passar requisições para o servidor apropriado.
31 25 / 33 Processsos Tratamento de requisições 3.4 Servers Observação Fazer o primeiro nível tratar todas as comunicações do/para o cluster pode levar a gargalo. Solução Várias, mas uma popular é TCP-handoff Logically a single TCP connection Response Server Client Request Switch Request (handed off) Server
32 26 / 33 Migração de Código Processsos 3.5 Migração de Código Abordagem para migração de código Migração e recursos locais Migração e sistemas heterogêneos
33 27 / 33 Processsos 3.5 Migração de Código Migração de Código: um pouco de contexto Before execution After execution Client Server Client Server code code C/S state state* resource resource code code RemoteEval state state* resource resource code code CodeOnDemand state state* resource resource code code MobAgents state state* resource resource resource resource
34 28 / 33 Processsos Mobilidade Forte e Fraca 3.5 Migração de Código Componentes de objetos Code segment: contém o código Data segment: contém o estado Execution state: contém o contexto da thread executando o objeto
35 3.5 Migração de Código Mobilidade Forte e Fraca Mobilidade Fraca Mover apenas segmentos de código e dados (e reinicia execução): Relativamente simples, se código é portável Distingue code shipping (push) de code fetching (pull) Mobilidade Forte Mover componente, incluindo estado de execução Migração: mover objeto inteiro de uma máquina para outra Cloning: iniciar um clone, e colocá-lo no mesmo estado de execução 29 / 33
36 3.5 Migração de Código Gerenciando recursos locais Problema Um objeto usa recursos locais que podem ou não estar disponíveis na máquina alvo. Ligação recurso-máquina (Tipos de recursos) Fixo: recurso não pode ser migrado, como hardware local (p. ex. de criptografia) Colado (Fastened): recurso pode ser movido, mas custa caro Descolado (Unattached): recurso pode ser facilmente migrado junto com objeto (p. ex. cache) 30 / 33
37 31 / 33 Processsos Gerenciando recursos locais 3.5 Migração de Código Ligação processo-recurso Por identificador: o processo requer uma instância específica do recurso (p.ex. um banco de dados específico) Por valor: o processo requer o valor de um recurso (p.ex. um conjunto de entradas do cache) Por tipo: o processo requer apenas que um recurso de tipo específico seja disponível (p.ex. uma tela colorida)
38 3.5 Migração de Código Gerenciando recursos locais Descolado Colado Fixo ID MV (or GR) GR (or MV) GR Valor CP (or MV, GR) GR (or CP) GR Tipo RB (or MV, GR) RB (or GR, CP) RB (or GR) GR = Estabelecer referência global MV = Mover o recurso CP = Copiar o valor do recurso RB = Re-ligar a um recurso disponível localmente 32 / 33
39 33 / 33 Processsos 3.5 Migração de Código Migração em sistemas heterogêneos Problema principal A máqunia alvo pode não ser adequada para executar o código migrado A definição de contexto de processo/thread/processador é altamente dependente do hardware local, sistema operacional e sistema de execução Única solução Usar uma máquina abstrata que é implementada em plataformas diferentes: Linguagens interpretadas, efetivamente tendo sua própria VM VM Virtuais (como discutido anteriormente)
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
Leia maisSistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos
Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br
Leia maisProcessos (Threads,Virtualização e Migração de Código)
Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem
Leia maisach 2147 desenvolvimento de sistemas de informação distribuídos
ach 2147 desenvolvimento de sistemas de informação distribuídos arquiteturas e processos de sistemas distribuídos Daniel Cordeiro 18 e 20 de abril de 2017 Escola de Artes, Ciências e Humanidades EACH USP
Leia maisDistributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science (Tradução e Adaptação Ricardo Anido - IC/Unicamp) Capítulo 04: Comunicação Versão: 20 de março de 2014
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura
Leia maisProf. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013
MC714 Sistemas Distribuídos 2 semestre, 2013 Virtualização - motivação Consolidação de servidores. Consolidação de aplicações. Sandboxing. Múltiplos ambientes de execução. Hardware virtual. Executar múltiplos
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisSistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
Leia maisSISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 07 Arquitetura de Sistemas Operacionais Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais
Leia maisSISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Leia maisSistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor
Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática /
Leia maisSistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação
Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Arquitetura Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Sistemas monolíticos Sistemas em camadas Sistemas micro-núcleo Modelo Cliente-Servidor Máquinas
Leia maisFaculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.
Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos
Leia maisCamadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores
Camadas de Serviço de Hardware e Software em Sistemas Distribuídos Arquiteutra de Sistemas Distribuídos Introdução Applications, services Adaptação do conjunto de slides do livro Distributed Systems, Tanembaum,
Leia maisSistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com
Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32
Leia maisConsiderações no Projeto de Sistemas Cliente/Servidor
Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis
Leia maisFigura 01 Kernel de um Sistema Operacional
01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações
Leia maisIntrodução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)
Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema
Leia maisSistemas Distribuídos
Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicação
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas
Leia maisArquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas
Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas
Leia maisSISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN
SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura
Leia maisSistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com
Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema
Leia maisNotas da Aula 15 - Fundamentos de Sistemas Operacionais
Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos
Leia maisSistemas Operacionais
UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário
Leia maisSistemas Distribuídos
Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução
Leia maisSistemas Distribuídos
Sistemas Distribuídos Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Migração de Código Em
Leia mais4 Estrutura do Sistema Operacional. 4.1 - Kernel
1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,
Leia maisComunicação em Sistemas Distribuídos
Comunicação em Sistemas Distribuídos Sockets Aplicações Protocolo de Aplicação FTP, SMTP, HTTP, Telnet, SNMP, etc. sockets TCP, UDP IP Data Link Ethernet, Token Ring, FDDI, etc Física Conjunto de APIs
Leia maisSISTEMAS OPERACIONAIS 2007
SISTEMAS OPERACIONAIS 2007 VISÃO GERAL Sumário Conceito Máquina de Níveis Conceituação de SO Componentes do SO Visões do SO Conceito de Sistemas O que se espera de um sistema de computação? Execução de
Leia maisArquitetura de Computadores. Introdução aos Sistemas Operacionais
Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4
Leia maisCap. 03 Processos. 3.1 Threads. 3.2 Virtualização. 3.3 Clientes. 3.1.1 Introdução às Threads 3.1.2 Threads em Sistemas Distribuídos
Cap. 03 Processos 3.1 Threads 3.1.1 Introdução às Threads 3.1.2 Threads em Sistemas Distribuídos 3.2 Virtualização 3.2.1 Virtualização em Sistemas Distribuídos 3.2.2 Arquiteturas de Máquinas Virtuais 3.3
Leia maisSistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação
Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 1 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,
Leia maisSistemas Distribuídos
Sistemas Distribuídos Aula 3 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Processos Um processo
Leia maisIntrodução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração: 1945-1955
O que vimos Infraestrutura de Software Introdução (cont.) Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma
Leia maisInfra-Estrutura de Software. Introdução. (cont.)
Infra-Estrutura de Software Introdução (cont.) O que vimos Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como
Leia maisSistemas Operacionais. Conceitos de um Sistema Operacional
Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas
Leia maisResumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software
Resumo até aqui Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma máquina estendida abstrações SO como um
Leia maisProcessos. Adão de Melo Neto
Processos Adão de Melo Neto 1 EXECUTE O SEGUINTE Baixa a aula dos dias 20 MAR 15 e 08 MAI 15 e salve no computador. Feche o browser Inicialize o vmware player e inicialize a máquina virtual ubuntu Inicialize
Leia maisESTUDO DE CASO WINDOWS VISTA
ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado
Leia maiswww.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com
SERVIÇOS DE REDES DE COMPUTADORES Prof. Victor Guimarães Pinheiro/victor.tecnologo@gmail.com www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com Modelo TCP/IP É o protocolo mais usado da atualidade
Leia maisSistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)
Sistemas Operativos Threads 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Dos Processos para os Threads O conceito de thread foi introduzido na tentativa de
Leia maisSistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com
Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas
Leia maisRedes de Computadores Aula 3
Redes de Computadores Aula 3 Aula passada Comutação: circuito x pacotes Retardos e perdas Aula de hoje Protocolo em camadas Aplicações C/S x P2P Web Estruturando a Rede Como organizar os serviços de uma
Leia maisProf. José Maurício S. Pinheiro UniFOA 2009-2
Tecnologias WEB Virtualização de Sistemas Prof. José Maurício S. Pinheiro UniFOA 2009-2 Conceitos Virtualização pode ser definida como técnica que combina ou divide recursos computacionais para prover
Leia maisSistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br
Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a
Leia maisSistemas Distribuídos Processos I. Prof. MSc. Hugo Souza
Sistemas Distribuídos Processos I Prof. MSc. Hugo Souza Até agora vimos a organização como um todo dos SDS, com o mapeamento estrutural e suas devidas características descritas em elementos, regras, conceitos,
Leia maisSistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional
Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Sistema Operacional (S.O.) Aplicativos Formado por um conjunto de rotinas que oferecem serviços aos usuários, às aplicações
Leia maisUniversidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos
Aula 23 Distribuídos SOs de Rede Em sistemas operacionais de rede você sabe quando é local e quando é remoto. Assim, o trabalho não muda, com exceção de comandos para acesso remoto: - telnet - ftp - etc.
Leia maisVirtualização Gerencia de Redes Redes de Computadores II
Virtualização Gerencia de Redes Redes de Computadores II *Créditos: baseado no material do Prof. Eduardo Zagari Virtualização - Introdução Introduzido nos anos 60 em Mainframes Em 1980 os microcomputadores
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos
Leia maisProcessos e Threads (partes I e II)
Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa
Leia maisCapítulo 8. Software de Sistema
Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java
Leia maisArquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia Processo Profº Antonio Carlos dos S. Souza Estrutura do Processo Contexto de Software Contexto de Hardware Programa Espaço
Leia maisA computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer
A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso
Leia maisComparação SDs X Scs
Prof. Alexandre Lima Sistemas Distribuídos Cap 9 1/7 Comparação SDs X Scs Distribuição inerente Economia Velocidade Confiabilidade Crescimento incremental Descrição Algumas aplicações envolvem máquinas
Leia maisModelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com
Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel
Leia maisEstruturas do Sistema de Computação
Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de
Leia maisFundamentos de Sistemas Computacionais Introdução
Fundamentos de Sistemas Computacionais Introdução Prof. Eduardo Alchieri Sistema Computacional Hardware Software Usuários Um ou mais processadores, memória, discos, impressoras, teclado, mouse, monitor,
Leia maisCiência de Computadores Sistemas Distribuídos e Móveis
Ciência de Computadores Sistemas Distribuídos e Móveis Lista de Exercícios Data: 4 de Novembro de 2013 Questões sobre o capítulo 1, Tanenbaum & van Steen: Fundamentos 1) Explique o significado de transparência,
Leia maisBancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos Conceitos de HW em SD Multiprocessadores e Multicomputadores Conceitos de SW
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisComunicação. Parte II
Comunicação Parte II Carlos Ferraz 2002 Tópicos Comunicação Cliente-Servidor RPC Comunicação de objetos distribuídos Comunicação em Grupo Transações Atômicas Comunicação Stream 2 Comunicação cliente-servidor
Leia maisCapítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos
Capítulo 8 Sistemas com Múltiplos Processadores 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1 Sistemas Multiprocessadores Necessidade contínua de computadores mais rápidos modelo
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Modelo cliente e servidor Slide 2 Nielsen C. Damasceno Modelos Cliente - Servidor A principal diferença entre um sistema centralizado e um sistema distribuído está na comunicação
Leia maisSistemas distribuídos:comunicação
M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.
Leia maisWireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira
Wireshark Captura de Protocolos da camada de aplicação Maicon de Vargas Pereira Camada de Aplicação Introdução HTTP (Hypertext Transfer Protocol) 2 Introdução Camada de Aplicação Suporta os protocolos
Leia maisMecanismo de Interrupção
Mecanismo de Interrupção Paralelismo de Operação Num sistema multiprogramado a CPU está sempre apta a compartilhar o seu tempo entre os vários programas e os diferentes dispositivos periféricos que necessitam
Leia maisPrincípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5
Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos
Leia maisProgramação Concorrente Processos e Threads
Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por
Leia maisCap 03 - Camada de Aplicação Internet (Kurose)
Cap 03 - Camada de Aplicação Internet (Kurose) 1. Qual a diferença entre um Programa de computador e um Processo dentro do computador? R. Processo é um programa que está sendo executado em uma máquina/host,
Leia maisSistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema
Sistemas Operacionais I Parte III Estrutura dos SOs Prof. Gregorio Perez gregorio@uninove.br 2007 Roteiro Serviços Estrutura dos Sistemas Operacionais Funções do Sistema Operacional Chamadas do Sistema
Leia maisProjeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com
Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação
Leia maisSistemas Distribuídos
Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br Tópicos da Aula Apresentação do curso Introdução Definição de sistemas distribuídos Exemplo Vantagens e desvantagens Convergência digital Desafios Visão
Leia maisSistemas Distribuídos
Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário
Leia maisCapítulo 8 - Aplicações em Redes
Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos
Leia maisAula 03-04: Modelos de Sistemas Distribuídos
UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)
Leia maisSISTEMAS DISTRIBUÍDOS
Arquiteturas www.pearson.com.br capítulo 2 slide 1 2.1 Estilos Arquitetônicos Formado em termos de componentes, do modo como esses componentes estão conectados uns aos outros, dos dados trocados entre
Leia maisSistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes. www.edeyson.com.br
Sistemas Operacionais Estruturas de SO Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Estrutura do SO Chamadas ao Sistema Sistemas Monolíticos Sistemas em Camadas Sistemas Cliente-Servidor 2
Leia maisSistemas Operacionais Processos e Threads
Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia mais