SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar
|
|
- Larissa Mendonça Carreira
- 8 Há anos
- Visualizações:
Transcrição
1 - 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 operacionais no qual ele é definido como um programa em execução. Da perspectiva de Sistema Operacional, o gerenciamento e o escalonamento de processos são talvez as questões mais importantes. 2. PROCESSOS Sistemas Operacionais modernos criam vários processadores virtuais, cada um para executar um programa. Para monitorar os processadores virtuais o sistema operacional tem uma tabela de processos que contém entradas para armazenar valores de registradores de CPU, mapas de memória, arquivos abertos, etc. Como visto os processos podem ser considerados programas em execução, na qual o Sistema Operacional é o responsável por assegurar que processos independentes não afetem (modos intencional, malicioso ou acidental) a correção do comportamento dos outros processos sendo executados. Nesta ótica deve também existir transparência no compartilhamento da mesma CPU e outros recursos de hardware. A transparência implica em custos como: - Criação de espaço de endereços completamente independente - Chavear a CPU entre dois processos - Salvar o contexto da CPU - Troca de informações entre disco e memória principal Neste sentido, em sistemas tradicionais, cada processo deve possuir o seu próprio espaço de endereçamento e um único fluxo de execução. No entanto, em alguns casos é desejável haver diversos fluxos de execução compartilhando um único espaço de endereçamento, ou seja, mesma região de memória. Em havendo um único fluxo de execução ocorre certa perda de desempenho. Como exemplo, um servidor de arquivos deve esperar por requisições feitas ao disco, visto que o fluxo de execução que fez a requisição é bloqueado aguardando a resposta. Com vários fluxos de execução existe melhor vazão (throughput) e ganho de desempenho. Seguindo o mesmo exemplo, se um servidor de arquivos é implementado usando diferentes fluxos de execução, outras requisições de clientes podem ser processadas, enquanto o primeiro fluxo aguarda a resposta do disco. Este é o princípio das threads. 1
2 3. THREADS Embora processos formem um bloco de construção em sistemas distribuídos, a prática indica que a granularidade de processos proporcionada pelos sistemas operacionais sobre os quais os sistemas distribuídos são construídos não é suficiente. Em vez disso, observa-se que ter granularidade sob a forma de múltiplos threads de controle por processo facilita muito a construção de aplicações distribuídas e a obtenção de melhor desempenho. Figura 1 - Processo vs Thread Cada um dos fluxos de execução de um processo é chamado de thread, ou seja, as threads podem ser vistas como mini-processos, onde cada thread executa sua própria porção de código. Cada thread compartilha a CPU do mesmo modo que diferentes processos compartilham (timesharing) Threads em sistemas não-distribuídos As threads que fazem parte de um mesmo processo não são independentes como no caso de diferentes processos. Todas as threads em um mesmo processo possuem a mesma região de memória e compartilhando as mesmas variáveis globais. Sendo assim, uma determinada thread pode ler, escrever ou mudar a pilha de dados de outra thread. Dessa forma, a proteção deve ser implementada na aplicação. As threads podem estar em diferentes estados: - Executando - Bloqueado - Pronto - Finalizado Dadas as características observa-se a seguinte diferença quanto ao conteúdo das threads e processos: 2
3 Quadro 1 Itens da Thread e do Processo Itens por Thread PC Pilha Registradores Threads Filhas Estado Itens por Processo Espaço de endereçamento Variáveis Globais Arquivos abertos Processos filhos Sinais Timers Informações da Conta Semáforos VANTAGENS - Explorar paralelismo ao executar um programa em um sistema multiprocessador. Ex.: Cada thread é designado a uma CPU, enquanto dados compartilhados são armazenados em memória compartilhada. - Em grandes aplicações, desenvolvidas como um conjunto de programas cooperativos evita chaveamento entre diferentes processos devido comunicação através de Interprocess Communication (IPC). Figura 2 - Chaveamento de contexto como resultado de IPC Nas threads a comunicação pode ser feita com a utilização de dados compartilhados. O chaveamento ocorre entre espaços de usuário IMPLEMENTAÇÃO DE THREADS EM SISTEMAS NÃO-DISTRIBUÍDOS Nível Usuário - As threads rodam sobre o runtime system coleção de procedimentos que gerenciam as threads. 3
4 - Quando uma thread executa uma chamada de sistema, ela entra no estado de espera e opera um semáforo enquanto o runtime system verifica se o thread deve ser suspensa. - Existe um custo de criação e alocação da memória para a pilha. - Chaveamento de contexto de thread pode ser feito em apenas algumas instruções. Não há necessidade de mudar mapas de memória, descarregar o TLB (Translation Lookaside Buffer) - As threads precisam entrar em sincronia. Figura 3 - Implementação em nível de usuário A desvantagem de threads de nível de usuário está em como chamadas de sistemas bloqueantes são implementadas, como por exemplo, ler um pipe vazio, na qual a chamada de sistema acarretará em bloqueio de todas as threads. Nível Kernel - A criação, encerramento e sincronização deverão ser feitos pelo kernel. - Chamadas de sistema deverão ser realizadas. - Chavear contextos de threads é tão caro quanto chavear contexto de processos. Figura 4 - Implementação em nível do Kernel 4
5 3.2. Threads em Sistemas Distribuídos Na implementação de threads em sistemas distribuídos uma importante propriedade é que eles podem proporcionar um meio conveniente de permitir chamadas bloqueantes de sistema sem bloquear o processo inteiro. As threads são particularmente atraentes para utilização em sistemas distribuídos, pois facilitam a comunicação na forma de manter múltiplas conexões lógicas ao mesmo tempo CLIENTES MULTITHREADS Os Sistemas distribuídos que operam em redes de longa distância escondem longos tempos de propagação de mensagens entre processos. A maneira de ocultar latências de comunicação é iniciar a comunicação e imediatamente prosseguir com outra atividade. Em um browser web, o documento Web consiste em um texto, imagens, ícones, etc. Cada elemento, browser estabelece uma conexão TCP/IP, para ler os dados e passar ao monitor do usuário. Operações bloqueadoras fazem o estabelecimento da conexão e leitura de dados. Os browsers começam a exibir dados enquanto, à medida que novas informações chegam. Enquanto o texto está sendo disponibilizado para o usuário, incluindo as facilidades de rolamento, o browser continua buscando outros arquivos, como imagens. A vantagem é que o usuário não precisa esperar até que todos os componentes sejam buscados. Threads separados são ativados para se encarregar de buscar diferentes partes de uma página, assim caso o servidor esteja em sobrecarga, ter um cliente multithread possibilita estabelecer conexões com diferentes servidores, permitindo transmissão dos dados em paralelo, onde o cliente pode manipular fluxos de dados de entrada em paralelo, por meio de threads SERVIDORES MULTITHREADS Um servidor de arquivos normalmente espera pela entrada de uma requisição para uma operação de arquivo e, na seqüência, executa a requisição e então devolve a resposta. Com a utilização de threads é possível aumentar seu desempenho. Os servidores multithreads funcionam da seguinte maneira: - requisições são enviadas por clientes para uma porta no servidor. - Uma thread despachante lê requisições que entram para uma operação de arquivo. - O servidor escolhe uma thread operária. - Se o thread escolhido estiver suspenso, outro thread é selecionado para ser executado, como por exemplo, o thread despachante pode ser selecionado para adquirir mais trabalho. 5
6 Figura 5 - Servidor multithread organizado segundo modelo despachante/operário Se o servidor é inteiramente CPU-bound, não existe necessidade de diversos threads, ocorre um aumento de complexidade sem ganho de desempenho. 4. VIRTUALIZAÇÃO Threads e processos podem ser vistos como um modo de fazer diversas tarefas ao mesmo tempo. Em computadores monoprocessados, a execução simultânea é uma ilusão, pois possuem uma única CPU, ou seja, somente uma instrução de um único thread ou processo será executada por vez. A virtualização de recursos possibilita fingir que um determinado recurso está replicado no sistema. Dessa forma, estende ou substitui uma interface existente de modo a imitar o comportamento de outro sistema. Figura 6 - (a) Organização geral entre Programa, Interface e Sistema. (b) Organização geral da virtualização do sistema A sobre o B Na década de 1970 a virtualização foi aplicada com sucesso nos mainframes IBM, que ofereciam uma máquina virtual para executar softwares que incluíam aplicações e também os sistemas operacionais. 6
7 Softwares em nível mais alto são mais estáveis que o hardware e sistemas de software de baixo nível. Assim a virtualização pode ajudar transportando as interfaces de softwares para novas plataformas. As novas plataformas são capazes de executar softwares existentes anteriormente Arquiteturas de Máquinas Virtuais Existem vários modos pelos quais a virtualização pode ser realizada na prática. Existem quatro tipos diferentes de interfaces em quatro níveis diferentes como representado na figura a seguir: Figura 7 - Várias interfaces oferecidas por sistemas de computadores A essência da virtualização é imitar o comportamento das interfaces (instruções de máquina, chamadas de sistema) Máquina Virtual de Processo Aplicações desenvolvidas para um Sistema Operacional são executadas em outro Sistema Operacional. A virtualização é feita somente para um único processo. Funcionam como emuladores, com a finalidade de imitar chamadas de sistema Monitor de Máquina Virtual Fornece o conjunto de instruções completo do hardware. Vários sistemas operacionais diferentes executando independente e concorrentemente na mesma plataforma. Importantes no contexto de confiabilidade e segurança proporcionando isolamento de uma aplicação e seu ambiente. As falhas não afetam a máquina inteira. Exemplo: VMware, VirtualBox, VitualPC, etc. 7
8 Figura 8 - (a) Máquina Virtual de processos com várias aplicações (instâncias). (B) Monitor de Máquina Virtual com várias aplicações (instâncias) 5. CLIENTES E SERVIDORES Uma tarefa muito importante de máquinas clientes é proporcionar aos usuários meios de interagir com servidores remotos. Isto pode se dar de duas formas: - Para cada serviço remoto, a máquina cliente terá um servidor separado, com o qual possa estabelecer contato. Algumas operações são feitas no próprio cliente. - Fornecer apenas uma interface de usuário conveniente. Máquina cliente é usada somente como um terminal sem nenhuma necessidade de armazenamento. Figura 9 - Soluções cliente-servidor 5.1. Transparência na Distribuição no Cliente O software no lado cliente pode ser mais do que uma interface. Em alguns casos, parte do nível de processamento e dados são executadas no lado cliente. 8
9 TRANSPARÊNCIA DE MIGRAÇÃO Se um cliente já está vinculado a um servidor, ele pode ser informado quando o servidor mudar de localização. Um Middleware no cliente oculta do usuário a corrente localização do servidor TRANSPARÊNCIA A FALHA O Middleware cliente pode ser configurado para tentar a conexão com um servidor repetidas vezes, ou tentar outro servidor após várias tentativas. O uso de cachê minimiza uma falha na conexão com o servidor Servidores QUESTÕES DE PROJETO Cada servidor é organizado do mesmo modo: - Espera por uma requisição de um cliente. - Assegura o atendimento. - Espera pela próxima requisição TRATAMENTO DE REQUISIÇÕES Em um Servidor Iterativo, o próprio servidor manipula a requisição e, se necessário, retorna uma resposta ao cliente. Um Servidor Concorrente não manipula por si próprio a requisição. Como nos servidores multithreads e processos ou threads que devolvem a resposta ao cliente REQUISIÇÃO DO CLIENTE Clientes enviam requisições a uma porta, na máquina em que o servidor está executando Para alguns serviços conhecidos (FTP,HTTP) existem portas pré-definidas. Para serviços que não requerem porta pré-determinada, uma opção é ter um daemon, onde o cliente o acessa e o sistema operacional informa dinamicamente uma porta. Outra maneira de manipular portas é o uso de superservidores. Para os casos onde diversos servidores que possuem uma porta específica estão rodando em uma mesma máquina. O monitoramento passa a ser realizado por um superservidor à escuta em cada porta associada com um serviço específico. Exemplo é o daemon inetd no Unix. 9
10 Figura 10 - (a) Daemon. (b) Supervisor INTERROMPENDO A COMUNICAÇÃO Na abordagem mais simples o usuário sai abruptamente da aplicação cliente. O servidor encerrará a conexão antiga. Na abordagem mais completa são usados os dados urgentes (fora da banda). Pacotes TCP possuem no header o campo URG. O servidor ao receber um pacote com o campo URG setado é interrompido, através de um sinal MANUTENÇÃO DE ESTADO São três os estados: - Sem estado - Estado flexível - Com estado Servidores sem estado: Não mantém informações sobre os estados dos clientes e podem mudar seu próprio estado sem ter de informar a nenhum cliente, como por exemplo, o Servidor Web que, após processar uma requisição, esquece o cliente. Mesmo sem estado, servidor Web guarda informações de clientes. A perda não resulta na interrupção do serviço. 10
11 Servidores com estado flexível: Servidor promete manter estado em nome do cliente, por um tempo limitado. Após o tempo limitado, o servidor descarta estas informações. Exemplo: Servidor promete manter um cliente informado sobre atualizações Servidores com estado: O servidor mantém as informações persistentes sobre seus clientes. As informações precisam ser explicitamente removidas pelo servidor. Exemplo: Servidor de arquivos que permite a um cliente manter cópia local de um arquivo. O servidor mantém uma tabela, com entradas (cliente, arquivo). Permite monitorar as permissões sobre um arquivo, etc. O problema aqui é a recuperação de Falhas. 6. MIGRAÇÃO DE CÓDIGO Além a passagem de dados entre diferentes máquinas, em alguns casos é importante migrar código de uma máquina para outra. A principal razão em se fazer a migração de código é obter um aumento de desempenho Desempenho O envio de processos de máquinas sobrecarregadas para máquinas com cargas mais leves evita grande quantidade de mensagens trocadas entre aplicações cliente-servidor. Exemplos: - Operações de banco de dados que envolvem uma grande quantidade de dados (aplicação cliente/servidor) - Formulários enviados do servidor para o cliente Modelos para Migração de Código A migração de código é algo muito mais amplo: podemos também migrar status de um programa, sinais pendentes e outras partes do ambiente. Um processo consiste em três segmentos: - Segmento de código: contém o conjunto de instruções que compõem o programa que está em execução. - Segmento de recursos: contém referências a recursos externos (arquivos, impressoras). -Segmento de execução: armazenar o estado em execução de um processo no momento da migração (dados privados, pilha, contador de programa). A mobilidade pode ser de dois tipos: - Mobilidade Fraca: possível transferir somente o segmento de código, junto com alguns dados de inicialização. Requer somente que a máquina-alvo possa executar o código (portabilidade). 11
12 - Mobilidade Forte: segmento de execução também pode ser transferido. O processo em execução pode ser parado e movido para uma outra máquina e retomar a execução no ponto original. Em relação do ponto de início da migração: - Iniciada pelo remetente: a migração é iniciada na máquina em que o código está em execução no momento em questão. Exemplo é enviar programa de busca pela Internet a um servidor de banco de dados para realização de pesquisas. - Iniciada pelo destinatário: Iniciativa da migração de código é tomada pela máquina-alvo. Figura 11 - Alternativas para migração de código 6.3. Migração e Recursos Locais Segmentos de recursos requerem uma atenção especial. Exemplo: A comunicação de um processo sendo feita através de uma porta TCP. Ao mudar de localização, este processo deverá devolver a porta e requisitar uma nova no destino. Existem três tipos de vinculações do processo-recurso: - Vinculação por identificador: o processo requer exatamente o recurso referenciado (URL de um site). - Vinculação por valor: É necessário somente um valor. Se outro recurso fornece o mesmo valor, execução não é afetada (bibliotecas padronizadas) - Vinculação por tipo: Processo requer um recurso de um tipo específico (monitores, impressoras). Existem também três tipos de vinculações recurso-máquina: - Recursos não ligados: recursos podem ser movidos com facilidade entre maquinas diferentes (arquivos de dados). 12
13 - Recursos amarrados: recursos podem ser movidos ou copiados, mas só a custo relativamente alto (banco de dados locais). - Recursos fixos: recursos estão intimamente vinculados a uma máquina ou ambiente especifico e não podem ser movidos (porta). - Referência global: Caso vários processos referenciem um recurso, uma alternativa é estabelecer uma referência global, que atravesse as fronteiras das máquinas. Exemplo: URL (baixa complexidade), Memória compartilhada entre processos (referência global significa memória compartilhada). Pode haver várias combinações entre vinculação processo-recurso e recurso-máquina. Exemplos: - Processo admite que a memória pode ser compartilhada entre processos (recurso fixo, vinculação de valor). - Bibliotecas de tempo de execução (recurso amarrado, vinculação de valor). A complexidade está ligada aos tipos de vínculo processo-recurso e recurso-máquina. - Recursos não ligados: Melhor solução é copiar ou mover o recurso para o novo destino. - Vinculações por tipo: A solução é vincular novamente o processo a um recurso do mesmo tipo disponível no local Migração em Sistemas Heterogêneos A migração em sistemas heterogêneos requer segmento de código que possa ser executado em cada plataforma e um segmento de execução pode ser adequadamente representado em cada plataforma. O efeito global é migrar sistema operacional inteiro, em vez de migrar processos. 13
Sistemas 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 maisSistemas 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 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 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 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
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 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 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 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 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 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 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 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 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 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
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 maisSistema Operacional Correção - Exercício de Revisão
Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.
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 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 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 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 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 maisAula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.
Sistemas Operacionais Aula 3 Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.com Nunca cone em um computador que você não pode jogar pela janela.
Leia maisComo foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.
5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo
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 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 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 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 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 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 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 maisSistemas Operacionais
Sistemas Operacionais Gerenciamento de Memória Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos Sementille, Paula Prata e nas transparências
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 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 maisLaboratório de Redes. Professora Marcela Santos marcela@edu.estacio.br
Laboratório de Redes Professora Marcela Santos marcela@edu.estacio.br Active Directory (AD) Samba Máquina virtual Criação de uma máquina virtual Instalação do Windows Server O Active Directory (AD) é um
Leia maisE/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO
E/S PROGRAMADA QUANDO A CPU FAZ TODO O TRABALHO RELACIONADO A UMA OPERAÇÃO DE E/S, NO CASO DO PROCESSO QUERER IMPRIMIR (NA IMPRESSORA) ABCDEFGH : ESTES CARACTERES SÃO COLOCADOS EM UMA ÁREA DE MEMÓRIA DO
Leia maisProfs. 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,
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
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 maisOrganização e Arquitetura de Computadores
Organização e Arquitetura de Computadores MemóriaVirtual Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Gerência de memória convencional Divide um programa em unidades menores Partes
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 5 Estrutura de Sistemas de Computação Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
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 Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental
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 maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Processos e Threads Andreza Leite andreza.leite@univasf.edu.br Plano de Aula 2 Gerenciamento de Processos Threads Aplicações com múltiplas Threads Concorrência e Compartilhamento
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 maisSistemas Operacionais Gerência de Dispositivos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência
Leia maisSISTEMAS OPERACIONAIS
1 SISTEMAS OPERACIONAIS Profª Josiane T. Ferri Licenciada em Computação prof.jositf@yahoo.com.br facebook.com/josiferri ESTRUTURA DO SISTEMA OPERACIONAL Embora a definição de níveis de privilégio imponha
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 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 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 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 maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre
Leia maisIntrodução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Leia maisMÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos
MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada
Leia maisMáquina de estados UNIX O
Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que
Leia maisMáquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de
Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que
Leia maisArquitetura dos Sistemas de Informação Distribuídos
Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa
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 maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas de Computação O sistema operacional precisa garantir a operação correta do sistema de computação. Operação
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 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 mais8 Threads. 8.1 Introdução
1 8 Threads 8.1 Introdução Uma thread, também chamada de tarefa, pode ser definida como uma parte ou rotina de um processo em execução que compartilha o mesmo espaço de endereçamento, mas tem seu próprio
Leia maisEscalonamento no Linux e no Windows NT/2000/XP
Escalonamento no Linux e no Windows NT/2000/XP 1 Escalonamento no Linux Os requisitos do escalonador do Linux eram: Apresentar boa performance em programas interativos, mesmo com carga elevada; Distribuir
Leia maisMODELO CLIENTE SERVIDOR
SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;
Leia maisSISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as
Leia maisIMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET
1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com
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 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 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 maisMaestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação
Maestro Arthur Kazuo Tojo Costa 317497 Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Introdução Sistema Operacional de Redes Detalhes do hardware Multiplexação
Leia maisArquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
Leia maisTRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente
Leia maisSistemas Operacionais
Sistemas Operacionais O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas Sistema Operacional (SO) é um programa colocado entre o hardware do
Leia maisGerência de Entrada/Saída
Gerência de Entrada/Saída Prof Clodoaldo Ap Moraes Lima 1 Princípios básicos de hardware Periférico é um dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo
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 maisIntrodução aos Sistemas
Introdução Introdução aos Sistemas Operacionais 1 2 3... n Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Compilador Editor de texto Browser Programas
Leia mais7 Processos. 7.1 Introdução
1 7 Processos 7.1 Introdução O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não se importando com qual programa
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação
Leia maisSistemas Operacionais. Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias
Sistemas Operacionais Microsoft Windows R Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias Histórico Início da década de 80 MS-DOS (vai evoluindo, mas sem nunca deixar de ser um SO orientado à linha
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 maisArquitetura e Organização de Computadores I
Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções
Leia maisSistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais
Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode
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 mais1 http://www.google.com
1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou
Leia maisO que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional
O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais Laboratório de Sistemas Operacionais Aula 1 Flávia Maristela (flavia@flaviamaristela.com) Tudo o que já vimos antes... Introdução
Leia maisDocumento de Análise e Projeto VideoSystem
Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas
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ÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA
8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente
Leia maisProf.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais
Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e
Leia maisSistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br
Sistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br INTRODUÇÃO O que é um sistema operacional? História dos sistemas operacionais Conceitos dos Sistemas Operacionais Estrutura
Leia mais