Sistemas Distribuídos
|
|
|
- Thalita Lacerda Malheiro
- 9 Há anos
- Visualizações:
Transcrição
1 Sistemas Distribuídos Prof. Marcelo de Paiva Guimarães 1 Objetivos Apresentar uma visão geral de processamento distribuído, analisando os tópicos mais importantes sobre sistemas operacionais distribuídos, incluindo comunicação, sincronização, processos e sistema de arquivo. Discutir os problemas e abordagens nos projetos e desenvolvimento de Sistemas Distribuídos 2
2 Introdução De 1945 até 1985 temos computadores caros e grandes De 1985 em diante, o avanço da tecnologia mudou esta situação em dois pontos Desenvolvimento de poderosos microcomputadores Desenvolvimento de redes de computadores de alta velociadade LANS (Local Area Networks) permitindo que até centenas de computadores dentro de um edifício sejam conectados, permitindo a troca de informações WANs(Wide Area Networks) permitindo que milhões de computadores no mundo sejam conectados. 3 O que é um Sistema Distribuído? Um SD é uma coleção de computadores independentes que aparenta aos usuários do sistema como se fosse um único computador A definição tem dois aspectos Hardware: as máquinas são autônomas Software: os usuários vêem o sistema como uma única máquina 4
3 Exemplos Redes de estações de trabalho em uma universidade Workstation do usuário Pool de processsadores Único sistema de arquivos O sistema procura o melhor lugar para executar um determinado comando (própria estação;estação que não está sendo usado; pool de processadores) 5 Introdução aos Sistemas Distribuídos Sistemas Centralizados única CPU única memória periféricos Sistemas Distribuídos múltiplas CPUs interconectadas de alguma forma cooperando de alguma maneira 6
4 Sistemas Distribuídos Por que Sistemas Distribuídos? Por que não um Sistema Centralizado com maior capacidade? Existem sistemas de natureza claramente distribuída sistemas de produção de uma fábrica sistema de reserva de passagem aérea sistemas de automação bancária Sistema de suporte ao trabalho cooperativo 7 Conceitos Diferentes? Sistemas Distribuídos vários usuários trabalhando em conjunto Sistemas Paralelos um único problema resolvido mais rapidamente 8
5 Sistemas Distribuídos: Vantagens Solução mais efetiva em termos de custo : uso de um grande número de processadores baratos Possibilidade de conseguir um desempenho que seria impossível usando processadores centralizados Atender a novos requisitos de usuários Mais Vantagens: maior confiabilidade em relação aos centralizados crescimento incremental expansão gradual 9 Vantagens sobre PCs isolados Já que os PCs ficaram tão bratos porque não dar um para cada usuário trabalhar de forma independente? Não, devido: À necesidade de se compartilhar dados À necessidade de compartilhar periféricos caros Á necessidade de comunicação pessoa a pessoa À flexibilidade de poder espalhar o trabalho existente em diversas máquinas, balanceando a carga de trabalho 10
6 Desvantagens dos Sistemas Distribuídos Hardware é maduro, o Software ainda está evoluindo. Poucos softwares disponíveis Falta experiência no projeto, implementação e uso de software distribuído Quanto deve o sistema fazer e quanto deve o usuário fazer? Redes de interconexão perda de mensagens Sobrecarga na rede Segurança 11 Conceitos de Software A imagem que o sistema apresenta ao usuário e o modo como eles pensam sobre o sistema é determinado principalmente pelo software S.O para sistemas com múltiplas CPUs Fracamente Acoplados Fortemente Acoplados 12
7 Conceitos de Software Software Fortemente Acoplado os diversos processadores do sistema cooperam na execução das tarefas Ex: Processamento de imagens Software Fracamente Acoplado permite que as máquinas e usuários do sistema sejam independentes uns dos outros, interagindo em um grau limitado quando for necessário Ex: Um grupo de computadores pessoais, cada um com a sua própria CPU, memória, disco rígido e S.O, compartilhando alguns recursos através de uma rede 13 Sistemas Distribuídos Fracamente Acoplado independentes cooperamde alguma forma a falha de uma CPU acarreta pouca degradação ao sistema Fortemente Acoplado divide um problema por várias CPUs cada CPU trabalha em paralelo um único resultado 14
8 Tipos de Sistemas Sistema Operacional de Redes Software fracamente acoplado em hardware fracamente acoplado Sistemas Distribuídos (Multicomputador) Software fortemente acoplado em hardware fracamente acoplado Sistemas Timesharing Multiprocessadores Software Fortemente Acoplado em Hardware Fortemente Acoplado 15 Sistema Operacional de Redes Software fracamente acoplado em hardware fracamente acoplado Ex: Rede de estações de trabalho conectadas por uma LAN Cada usuário tem a sua estação de trabalho Cada estação de trabalho pode ter ou não disco rígido Cada estação de trabalho tem o sue próprio sistema operacional Todos os comandos são normalmente executados localmente Eventualmente é possível fazer uma conexão remota com outra estação de trabalho 16
9 Sistema Operacional de Redes Forma mais conveniente de comunicação e compartilhamento de informação: Sistema de Arquivo Global Compartilhado Implementado em uma ou mais máquinas chamadas Servidores de Arquivos Servidores de Arquivos aceitam requisições de programas de usuários 17 Sistemas Distribuídos Software fortemente acoplado em hardware fracamente acoplado (Multicomputador) O objetivo é criar a ilusão para os usuários de que a rede de computadores é um único sistema timesharing 18
10 Características Sistemas Distribuídos Verdadeiros single system image (imagem de um sistema único) virtual uniprocessor usuário não precisa saber da existência de várias CPUs Importante mecanismo para Comunicação Interprocessos (IPC) esquema global de proteção gerenciamento de processo uniforme em todas as máquinas (criação, destruição, começo, interrupção) conseqüência Cópias identicas do kernel executam em todas as CPUs do sistema (escalonamento, swapping, paginação, etc) 19 Sistemas Timesharing Multiprocessados Software Fortemente Acoplado em Hardware Fortemente Acoplado Característica chave: existência de apenas um fila de pronto (run quee) Exclusão mútua: monitores semáforos Memória Memória compartilhada CPU 1 Processo A executando Cache CPU 1 CPU 1 Processo A executando Cache Processo A executando Cache E (pronto) D (pronto) C (exec.) B (exec.) A (exec.) Fila de execução: D, E Sistema Operacional Disco 20
11 Diferença entre 3 tipos de sistemas SO Rede SO Distrib. SO Mult. Ele se parece com um único uniporcessador virtual? Tem o mesmo SO? NÃO NÃO SIM SIM SIM SIM Número de cópias do SO N N 1 Como é a comunicação? Arquivo Compartilhado Mensagens Memória Compartilhada Protocolos requeridos? SIM SIM NÃO Uma única fila de execução? NÃO NÃO SIM Arquivos tem a mesma semântica? Usualmente não NÃO SIM 21 Aspectos de Projeto dos Sistemas Distribuídos Transparência Até onde e o quanto é desejável? "Como éque o projetista de sistemas distribuídos engana a todos fazendo com que pareça ao usuário que a coleção de máquinas se comporte como o velho conhecido sistema de tempo compartilhado monoprocessado?" 22
12 Transparência Pode ser conseguida em dois níveis diferentes Esconder a distribuição do usuário. make no unix Em um nível mais baixo A interface das chamadas do sistema pode ser projetada de tal forma que as existência de múltiplos processadores não seja visível. 23 Transparência Transparência de Localização os usuários não precisam (devem?) saber onde os recursos de hardware e software estão exatamente localizados. serviço de nomes (diretório) Transparência para Migração os recursos devem ser livres para mover de uma localização para outra sem a necessidade de alteração de nomes. propriedade interessante para tolerância a falhas 24
13 Transparência Transparência para Replicação o sistema operacional deve permitir a criação de novas cópias de recursos o número de replicas deve ser transparente ao usuário o estado das réplicas deve ser consistente a criação de réplicas pode ser expontânea (Sistema Operacional) ou intencional (programado) Transparência para Concorrência vários usuários compartilhando os mesmos recursos (sem relacionamento entre os mesmos) sistema de lock automático para os recursos Transparência quanto ao Paralelismo Atividades podem acontecer em paralelo sem o conhecimento dos usuários 25 Transparência Localização Migração Replicação Concorrência Paralelismo O usuário não pode dizer onde os recursos estão alocados Recursos podem ser movidos sem troca de nomes Os usuários não sabem quantas cópias existem Múltiplos usuários podem partilhar recursos automaticamente Atividades podem acontecer em paralelo sem o conhecimento dos usuários 26
14 Flexibilidade Permitir alterações e modificações no próprio sistema operacional Conceitos atuais podem não ser os melhores no futuro. Como a tecnologia ainda não está consolidada, a flexibilidade é importante como um meio para caminhos alternativos 27 Confiabilidade Teoria: se uma máquina falhar, outra máquina continua o serviço, sem prejuízo do cliente Prática: o sistema distribuído depende de um número de máquinas-chave Lamport: "Sistema Distribuído é aquele onde você não consegue trabalhar porque alguma máquina, da qual você nunca ouviu falar, saiu do ar..." 28
15 Disponibilidade Disponibilidade fração de tempo que o sistema é usável. Disponiblidade pode ser aumentada por meio de redundância: partes do hardware ou software podem ser replicados Quanto maior o número de cópias de software, maior a probabilidade de inconsistências. Componentes críticos devem estar operando Não requer funcionamento simultâneo de componentes críticos Redundância (consistência de réplicas) 29 Segurança uso não autorizado interrupção interceptação modificação fabricação identificação de autoridade nas mensagens criptografia 30
16 Desempenho Um Sistema Distribuído não será útil se não tiver desempenho razoável Como medir desempenho? Tempo de resposta Throughput (número de jobs por hora) Taxa de utilização do sistema Capacidadede rede consumida 31 Escalabilidade Escalabilidade "soluções que funcionam para 200 máquinas podem falhar completamente para máquinas" algoritmos centralizados não são convenientes para Sistemas Distribuídos e devem ser evitados. Aspectos de algorítmos descentralizados: nenhuma máquina tem informação completa do estado do sistema máquinas devem tomar decisões apenas baseadas em informações locais disponíveis a falha de uma máquina não deve comprometer o algoritmo Não existe um relógio global(nem sincronismo entre relogios locais) 32
17 Comunicação Comunicação é relativamente lenta Granularidade das aplicações distribuídas ex.: vale a pena a execução de uma soma remotamente? Paralelismo de granularidade fina Grande número de pequenas computações, altamente interativas umas com as outras; Paralelismo de granularidade grossa Grandes computações, poucas interações Tolerância a Falhas tem seu preço em desempenho 33 Gargalos potenciais que devem ser evitados Conceito Exemplo Componentes centralizados Tabelas centralizadas Um único servidor de mail para todos os usuários Uma única lista telefonica on-line Algorítmos Centralizados Roteamento baseado em informação completa da rota 34
18 Comunicação A diferença mais importante entre os SD e os Sistemas Uniprocessadores é a comunicação intra processo. Nos uniprocessadores esta comunicação é feita por meio de memória compartilhada Nos SD não tem memória compartilhada. Toda comunicação inter-processo deve ser reformulada 35 Modelo Cliente-Servidor Mensagem com Pedido : tipo e parâmetros faz um pedido ao servidor Cliente Servidor Processa o pedido Resposta 36
19 Modelo Cliente -Servidor A idéia é estruturar o S.O como um grupo de processos cooperativos chamados Clientes e Servidores Servidores oferecem serviços e Clientes usam os serviços oferecidos Uma máquina pode executar um único processo cliente ou servidor, pode executar múltiplos clientes, múltiplos servidores, ou ainda uma combinação dos dois 37 Principais vantagens do modelo Cliente-Servidor Simplicidade Não tem necessidade de estabelecer uma conexão (e finalizar conexão) Eficiência 3 camadas são necessárias (físico, data link e Request/Reply) Apenas 2 primitivas básicas send (dest, &mptr) receive (addr, &mptr) 38
20 Interface Interface entre cliente/servidor Bem definida O cliente precisa saber como pedir O servidor precisa saber como responder Definida antes do diálogo Formato da mensagem exemplo: SQL 39 Endereçamento Endereçamento máquina.processo 1 Cliente Kernel 2 1: requisição para : Resposta para Servidor Kernel Não é transparente (se um servidor não estiver disponível teremos recompilação para poder realizar o serviço em outro servidor Não precisa de coordenação global 40
21 Endereçamento Endereçamento randômico 3 Cliente Kernel Servidor Kernel 1: Broadcast 2: Estou aqui 3: Requisição 4: Resposta 41 Endereçamento Endereçamento Servidor de Nomes Cliente 3 4 Servidor 1 2 Servidor de Nomes Kernel Kernel Kernel 1: Buscar nome 2: Resposta do Servidor de Nomes 3: Requisição 4: Resposta 42
22 Bloqueantes Bloqueantes e Não-Bloqueantes Primitivas vistas até agora (send receive) são chamadas primitivas bloqueantes (síncronas) Enquanto a mensagem está sendo enviada ou recebida, o processo permanece bloqueado (suspenso) Não bloqueantes Assíncronas Quando um send é executado o controle retorna ao processo antes da mensagem ser enviada O processo que executa o send pode continar a executar enquanto a mensagem é enviada A escolha do tipo de primitiva a ser usado (bloqueada ou não bloqueada) é feita pelo projetista do sisteam (normalmente é usado um dos dois tipos, em poucos caso, temos os dois tipos disponívies) 43 Bloqueantes e Não-Bloqueantes Não bloqueantes O processo que executa o send não pode modificar o buffer de mensagem até a mensagem ter sido enviada Modos para o processo saber que a mensagem já foi enviada Send com cópia desperdício do tempo de CPU com a cópia extra Send com interrupção programação muito mais difícil 44
23 Bloqueantes e Não-Bloqueantes Não bloqueantes Primitiva receive não bloqueada Simplesmente informa o kernel onde é o buffer para receber a mensagem e retorna o controle ao processo que o executou Modos do receive saber que a recepção já acabou Primitiva wait Receive condicional Interrupção 45 Timeout Bloqueantes e Não-Bloqueantes Nas primitivas bloqueadas geralmente é usado um timeout para que as primitiva não fique bloqueada indefinidamente É especificado um tempo de resposta depois do qual, se nenhuma mensagem chegar, o send termina retornando um código de erro 46
24 Primitiva Bufferizada e Não Bufferizada As primitivas até agora são nãobufferizadas. O que acontece com um processo que chama receive quando o receive é executado depois do send? (a mensagem chega antes do servidor chamar o receive ) Como o kernel sabe onde colocar a mensagem que chega? Não sabe!! 47 Duas soluções possíveis 1ª solução: Descartar a mensagem e esperar o timeout expirar. A mensagem é então retransmitida Assim, a mensagem ( perfeita para ser consumida ) é descartada O cliente pode assumir que o servidor falhou, erradamente multiplos pedidos consecutivos -> alguns clientes não serão atendidos 2ª solução: O kernel receptor "segura" as mensagens que chegam Liga um timer Reduz a chance da mensagem ser descartada Problema: agora o kernel tem que gerenciar as msgs que chegam. Solução: estrutura caixa postal. Processo, agora, se cadastra para ter uma caixa postal e remove a msg. da caixa postal. 48
25 Caixa Postal: Primitivas buferizadas novo problema: caixa postal também é finita descartar as msgs.? o problema é apenas amenizado. Outra opção: processo não envia msg. enquanto não houver espaço na caixa postal de destino processo fica bloqueado até receber ACK caixa postal cheia: processo é suspenso retroativamente, antes da primitiva send Cliente Kernel Mailbox A Servidor 49 Primitivas Confiáveis e Não-Confiáveis problema principal: mensagens podem se perder. processo envia a mensagem e fica bloqueado até o núcleo despachar a mensagem o núcleo despacha a mensagem e desbloqueia o processo processo não tem garantia de que a mensagem despachada chegou ao destino 50
26 Solução 1 : Soluções a primitiva send passa a ser não confiável a confiabilidade é garantida pelo próprio usuário será feito o melhor esforço para a mensagem chegar Solução 2: o kernel da máquina que recebe a mensagem envia um ACK o processo só é desbloqueado do send quando chega o ACK o ACK é de kernel para kernel um transação REQUEST/REPLY gasta 4 msgs. 51 Mensagens de ACK individual 1 Cliente Kernel Servidor Kernel 1: requisição (Cliente para Servidor0 2: ACK (Kernel para Kernel) 3: Resposta (Servidor para Cliente) 4: ACK (Kernel para Kernel) 52
27 Resposta sendo usada como ACK Solução 3: Aproveitar o fato que a comunicação clienteserivdor é estruturada como uma requisição do cliente para o servidor seguido de uma resposta do servidor para o cliente 1 Cliente 2 Servidor Kernel 3 Kernel 1: Requisição (Cliente para Servidor) 2:Resposta (Servidor para Cliente) 3: ACK (Kernel para Kernel) 53 Implementação do Modelo Cliente-Servidor Item Opção 1 Opção 2 Opção 3 Endereçamento Número Máquina de Endereçametno Aleatório Nomes ASCII com Servidor Bloqueamento Buferização Confiabilidade Primitivas Bloqueadas Não-buferizado, decatando mensagens não esperdas Não-confiável Não-Bloqueada com cópia para o kernel Não-buferizado, mantendo temporariamente mensagens não esperadas Requisição-ACK Resposta-ACK Não-bloqueada com Interrupção Mailboxes Requisição Resposta- ACK 54
28 Implementação do Modelo Cliente-Servidor Detalhes de como a passagem de mensagem é implementada depende das escolhas feitas durante o projeto. Algumas considerações Há um tamanho máximo do pacote transmitido pela rede de comunicação Mensagens maiores precisam ser dividdas em múltiplos pacotes que são enviados separadametne Alguns dos pacores podem ser perdidos ou chegar na ordem errada. Solução: atribuir a cada mensagem o número da mensagem e um número de sequência 55 Implementação do Modelo Cliente-Servidor O acknowledgement pode ser : Para cada pacote individual Na perda de mensagem, somente um pacote precisa ser retransmitod, mas na situação normal requer mais pacotes na rede de comunicação Para a mensagem como um todo Na perda de mensagem, há a vantagem de menos pacotes na rede mas a desvantagem da recuperação no caso de perda de mensagem é mais complicada Conclusão: a escolha de um dos dois métos depende da taxa de perdas na rede 56
Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos
Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação
Sistemas Distribuídos
Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.
Sistemas Operacionais Distribuídos
Sistemas Operacionais Distribuídos Introdução O uso de redes locais e da Internet está amplamente difundido mesmo para uso doméstico. Mas para que tais recursos físicos sejam aproveitados da melhor forma
Sistemas Distribuídos
Sistemas Distribuídos Prof. Marcelo de Paiva Guimarães 1 Objetivos Apresentar uma visão geral de processamento distribuído, analisando os tópicos mais importantes sobre sistemas operacionais distribuídos,
Características de Sistemas Distribuídos
Tópicos O conceito de Características de Carlos Ferraz [email protected] Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito
Características de Sistemas Distribuídos
Características de Sistemas Distribuídos Carlos Ferraz [email protected] 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens
Caracterização de Sistemas Distribuídos
Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Ementa; Bibliografia Calendário Site Introdução Características http://sites.google.com/sitew/leonardobcampos
Conceitos de Sistemas Distribuídos
Conceitos de Sistemas Distribuídos Roteiro Definição de Sistemas Distribuídos (SD) Evolução Histórica Exemplos (SD) Modelos (Vantagens x Desvantagens) 2 O que é um Sistema Distribuído? Definição Coleção
Dados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição
6LVWHPDV'LVWULEXtGV 0GHO&OLHQWH6HUYLGU &PXQLFDom 6XPiUL Introdução Elementos Básicos de Comunicação Comunicação Cliente-Servidor Comunicação em Grupo Chamada emota de Procedimento (PC) Prof a. Cristina
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens
Sistema de Software Distribuído
Sistema de Software Distribuído É composto por uma sequência de instruções, que é interpretada e executada por um processador É composto por instruções concorrentes ou paralelas, que são interpretadas
AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação MULTIPROCESSADORES
Sistemas Distribuídos
Sistemas Distribuídos Unitri Prof: Carlos Eduardo de Carvalho Dantas Conceitos Sistema Distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente.
Programação Distribuída. Metas de um Sistema Distribuído
Programação Distribuída Metas de um Sistema Distribuído Programação Distribuída Metas de um Sistema Distribuído Um S.D. deve oferecer: 1. fácil acesso a seus recursos; 2. ocultar onde estão esses recursos,
SISTEMAS DISTRIBUÍDOS PROCESSOS. Slides cedidos pela professora Aline Nascimento
SISTEMAS DISTRIBUÍDOS PROCESSOS Slides cedidos pela professora Aline Nascimento INTRODUÇÃO Diferentes tipos de processos desempenham papel crucial em sistemas distribuídos. O conceito de um processo é
Sistemas Distribuídos
Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir
Computação Distribuída
Aula 1 Introdução aos Sistemas Distribuídos Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador Processamento Seqüencial Leitoras de cartões
Sistemas Distribuídos
Sistemas Distribuídos Processos Gustavo Reis [email protected] 1 - Processos Conceito originado do campos de sistemas operacionais no qual, em geral, são definidos como programas em execução
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação MULTICOMPUTADORES
Sistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 23 de fevereiro de 2011 Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador
Sistemas Distribuídos
Caracterização de Faculdades SENAC Análise e Desenvolvimento de Sistemas 24 de fevereiro de 2010 Caracterização de Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento
Curso: Redes de Computadores
Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg
Sistemas Operacionais
Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum
SISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Introdução a Sistemas Operacionais Andreza Leite [email protected] Plano de Aula Introdução aos Sistemas Operacionais Fundamentação Teórica Evolução Histórica Características
Arquitetura de Computadores. Processamento Paralelo
Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple
Comunicação entre Processos
Comunicação entre Processos Prof. Dr. André Carvalho [email protected] Agenda n Comunicação entre Processos n Características dos mecanismos de comunicação Comunicação direta ou indireta, sincronismos,
Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:
Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires [email protected]! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização
O que é um sistema distribuído?
Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores
Introdução aos Sistemas Operacionais
1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas
Sistemas Distribuídos
Sistemas Distribuídos Conceito Aplicações Exemplos de sistemas distribuídos Relação dos sistemas distribuídos e as redes Tipos de Sistemas Distribuídos 1 Fonte: https://sites.google.com/site/firsistemasdistribuidos/
Vamos fazer um pequeno experimento
1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira [email protected]
Sistemas distribuídos. Prof. Emiliano Monteiro
Sistemas distribuídos Prof. Emiliano Monteiro Múltiplos processadores São arquiteturas que possuem duas ou mais CPU interligadas e que funcionam em conjunto na execução de tarefas independentes ou no processamento
Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião
Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos Sistemas operacionais modernos criam vários processadores virtuais, cada um para executar um programa. Para monitorar
Introdução a Sistemas Operacionais. Adão de Melo Neto
Introdução a Sistemas Operacionais Adão de Melo Neto 41 Definição de SO Sistema Operacional É um conjunto de rotinas (programa) executado pelo processador que controla o funcionamento do computador como
Sincronização em Sistemas Distribuídos
Sincronização em Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Sincronização Como as regiões críticas são implementadas em um SD? Como
ARQUITETURA DE SISTEMAS OPERACIONAIS. VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI
ARQUITETURA DE SISTEMAS OPERACIONAIS VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI INTRODUÇÃO Programas computacionais (ou software) constituem o elo entre
Projeto de Sistemas Distribuídos. Considerações
Projeto de Sistemas Distribuídos Considerações Projeto de TI em Camadas Infraestrutura Gestão Integração Colaboração Hardware Software: sistemas operacionais, SGBDs, middleware (serviços), middleware (integração
Thread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41
Thread Sistemas Operacionais Leonard B. Moreira UNIVERSIDADE ESTÁCIO DE SÁ e-mail: [email protected] fevereiro, 2013 1 / 41 Sumário 1 Introdução 2 Ambientes Monothread 3 Ambientes Multithread
Profs. Deja e Andrei
Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,
Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Arquiteturas MIMD Arquiteturas MIMD As arquiteturas MIMD dividem-se em dois grandes modelos: Arquiteturas MIMD de
Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP
Introdução Memória Compartilhada e Distribuída _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP Um sistema de memória compartilhada faz a memória física global de um sistema igualmente
William Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:
Programação Concorrente
INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC [email protected] Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica
Sistemas Operacionais
Sistemas Operacionais 01 Introdução e Conceitos Definição: É um software que atua como intermediário entre o usuário e o hardware do computador e, serve também como intermediário entre os softwares aplicativos
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.
Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend
Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos
Processos ca 3 pítulo
Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém
Desenvolvimento de Aplicações Distribuídas
Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ESTRUTURA DE UM SISTEMA OPERACIONAL PROFESSOR CARLOS MUNIZ
INTRODUÇÃO À TECNOLOGIA DA ESTRUTURA DE UM SISTEMA PROFESSOR CARLOS MUNIZ ESTRUTURA DE SISTEMAS OPERACIONAIS O sistema operacional tem uma estrutura bem complexa, devido não funcionar como um programa
Sistemas Operacionais
Introdução 2 a edição Revisão: Fev/2003 Sistemas Operacionais Introdução Capítulo 1 O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas Sistema
Processamento Paralelo
Processamento Paralelo por Helcio Wagner da Silva Introdução Tradicionalmente, o computador tem sido visto como uma máquina seqüencial Esta visão nunca foi completamente verdadeira No nível das µo, vários
Sistemas de Troca de Mensagens
Universidade Federal do Rio de Janeiro Programa de Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquitetura de Sistemas Paralelos Sistemas de Troca de Mensagens Sistemas de Comunicação O Sistema de Comunicação
Sistemas Distribuídos Capítulo 8 - Aula 13
Sistemas Distribuídos Capítulo 8 - Aula 13 Aula de hoje Aula Passada Exclusão Mútua Algoritmos de Eleição Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo 1 Tolerância
Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.
Tópicos Comunicação Carlos Ferraz [email protected] Elementos básicos de comunicação Transmissão de dados Endereçamento Sincronismo Enfileiramento (Bufferização) Confiabilidade Portas e sockets UDP RPC:
Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos
Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS Marcelo Henrique dos Santos Marcelo Henrique dos Santos Email: Site: [email protected] www.marcelohsantos.com.br TECNOLOGIA EM JOGOS
Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela
Aula 2: Tipos de Sistemas Operacionais Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela O que veremos nesta aula? Principais tipos de sistemas operacionais
Computadores e Programação (DCC/UFRJ)
Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo
Sistemas Distribuídos Capítulo 8 - Aula 14
Sistemas Distribuídos Capítulo 8 - Aula 14 Aula Passada Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo Aula de hoje Comunicação Confiável Cliente-Servidor Comunicação
Formação de DBAs SQL Server 2008
Formação de DBAs SQL Server 2008 Parte 8: Banco de Dados Distribuído Computação Distribuída Um grupo de elementos autônomos de processamento (não necessariamente homogêneos) que estão interconectados por
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Sincronização Slide 7 Nielsen C. Damasceno Introdução Utilizando Sistemas Distribuídos, uma grande dificuldade que temos é como garantir o acesso exclusivo a um recurso compartilhado,
Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006
Capítulo 13: Sistemas de E/S Capítulo 13: Sistemas de E/S Hardware de E/S Interface de E/S da aplicação Subsistema de E/S do kernel Transformando requisições de E/S em operações de hardware Fluxos Desempenho
Barramento. Prof. Leonardo Barreto Campos 1
Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;
Organização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de
Introdução à Computação
Introdução à Computação Jordana Sarmenghi Salamon [email protected] [email protected] http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda
Sistemas Distribuídos. Capítulo 6 - Aula 10
Sistemas Distribuídos Aula Passada Capítulo 6 - Aula 10 Nomeação estruturada Implementação de um espaço de nomes Implementação de resolução de nomes Nomeação baseada em atributo Introdução ao problema
Parte I Multiprocessamento
Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez [email protected] 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento
Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos
Sistemas de arquivos distribuídos ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos - Daniel Nogueira 20938 - Felipe Castro Simões 21525 Sumário 1. Introdução 2. Sistemas de
Sistemas Operacionais. Tipos de SO
Sistemas Operacionais Tipos de SO Tipos de Sistemas Operacionais Tipos de Sistemas Operacionais Sistemas Monoprogramáveis/ Monotarefas Sistemas Multiprogramáveis/ Multitarefas Sistemas com Múltiplos Processadores
Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30
Sistema Operacional Prof. Leonardo Barreto Campos 1/30 Sumário Introdução Middleware e SO de Rede SO de Rede Processos e Threads Leitura Complementar Bibliografia 2/30 Introdução A tarefa de qualquer sistema
Sistemas Operacionais. Introdução
Sistemas Operacionais Introdução Introdução Componentes de um sistema computacional: Hardware Recursos básicos (memória, dispositivos de E/S, CPU); Sistema Operacional: Controla e coordena o uso do hardware
SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU
SOP - TADS Threads Prof. Ricardo José Pfitscher [email protected] Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Processos [1/3] Conceito:
Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica
DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso [email protected] Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas
FUNDAMENTOS DE REDES DE COMPUTADORES AULA 2: MODELO OSI. Professor: LUIZ LEÃO
FUNDAMENTOS DE REDES DE COMPUTADORES Professor: LUIZ LEÃO Conteúdo Desta Aula HISTÓRICO DAS REDES MODELO EM CAMADAS FUNÇÕES DAS CAMADAS OSI 1 2 3 4 5 CLASSIFICAÇÃO DAS REDES MODELO DE REFERÊNCIA OSI PRÓXIMOS
