Escolar Documentos
Profissional Documentos
Cultura Documentos
Sumrio
Sistemas Computacionais
Introduo Noes de Hardware Terminologia de Sistemas Operativos Sistemas Distribudos
introduo
Introduo
Componentes de um Sistema de Computao
Introduo
Hardware
Recursos fsicos: CPU, memria, dispositivos de E/S (ou I/O)
Programas de Sistema
Inclui o Sistema Operativo, que controla e coordena a utilizao do hardware durante a execuo de vrios programas de aplicao
Programas de Aplicao
Permitem a utilizao dos recursos do sistema para resoluo de problemas dos utilizadores (Sistemas de base de dados, jogos, programas de gesto, etc.)
hardware
Hardware
Elementos Bsicos
Processador Memria Principal Voltil tambm conhecida como memria principal Mdulos de Entrada e Sada (E/S ou I/O) Dispositivos de memria secundria Dispositivos de comunicao Terminais Barramento do Sistema Comunicao entre processadores, memria e mdulos de entrada e sada
Hardware
Componentes de um Computador Pessoal Simples
Monitor
Bus
8
Hardware
Processador
The brain of the computer is the CPU. (Tanenbaum) Busca instrues da memria e executa-as Cada CPU tem/conhece um conjunto de instrues bem definidas
Um Pentium no sabe executar programas para SPARC e vice-versa
Hardware
Ciclos de Clock
Em cada ciclo de clock, um ou dois operandos so lidos de registos e combinados na Unidade Lgica e Aritmtica
Frequncia
Nmero de ciclos de clock, por segundo Unidade o Hz
200 MHz, 1 GHz = 1000 MHz,
Pipeline
Tcnica que permite colocar instrues numa linha de execuo
CPU executa instruo n, enquanto instruo n+1 j est sendo descodificada, e instruo n+2 sendo lida da memria Pretende superar limitaes do tradicional mtodo Ler descodificar executar uma instruo
10
Hardware
Pipeline
11
Hardware
Memria
Registos internos do CPU
Mesmo material que o CPU (internos a este), praticamente sem atrasos no acesso Tipicamente 32 x 32 bits (CPUs de 32 bits) e 64 x 64 (CPUs de 64 bits)
Cache
Quando CPU necessita de aceder RAM, verifica primeiro na cache Cache hits encontra o que pretende na cache Diferentes nveis de cache (ex.: Cache L1, Cache L2)
Hardware
Hierarquia de memria
Hardware
Discos
Estrutura de um disco
14
Hardware
Discos
Hardware
Bus
Barramento de interligao Via de comunicao que liga dois ou mais dispositivos um meio de transmisso partilhado (vrios dispositivos ligam-se a ele para transmitir/receber dados) Geralmente so constitudos por vrias linhas de comunicao (cada linha poder transmitir os sinais binrios [0, 1]) Tipos de barramentos
Barramento de Sistema (ou local) interliga componentes principais (ex.: CPU, memria, E/S) Barramentos de Expanso interliga controladores de E/S (permite isolar o trfego entre CPU e RAM do trfego E/S)
16
Hardware
Implementaes de Bus
IDE Integrated Drive Electronics
um padro tipo para discos em sistemas Pentium (e no s)
Hardware
Bus
Ponte PCI estabelece uma conexo/interface entre o barramento do sistema e o barramento PCI (uma espcie de chip especial)
Hardware
Device Controllers
Dispositivos de E/S contm duas partes: mecnica e electrnica A parte electrnica denominada controlador do dispositivo Device Controller um chip ou conjunto de chips Aceita comandos provenientes do SO, como ler, escrever, etc., apresentando uma interface acessvel ao SO Converte bits transmitidos em srie num bloco de Bytes Executa aces de correco sobre erros
19
Hardware
Device Controllers Propriedades Principais
Transferncia sncrona VS Assncrona transferncias de uma s vez VS geridas por interrupes Buffering dados provenientes de um dispositivo no so armazenados directamente no destino final Dispositivos partilhados VS Dedicados discos podem ser partilhados, mas tape drives no
20
Hardware
DMA Direct Memory Access
Acesso directo memria Dados de E/S so trocados directamente entre a memria e dispositivo (sem interveno do processador) Processador d autoridade inicial ao mdulo de E/S para ler de/escrever na memria CPU fica liberta desta gesto para realizar outras tarefas
21
Hardware
DMA Direct Memory Access
22
Sistemas operativos
23
Sistemas Operativos
Sistema Operativo
Esconde os detalhes necessrios ao funcionamento/gesto da mquina Apresenta ao utilizador uma mquina virtual de fcil utilizao Gere os recursos (memria primria, secundria, CPU), atribuindo a cada programa um conjunto bem definido de tempo e espao para utilizao dos recursos Explora recursos de hardware de um ou mais processadores Disponibiliza um conjunto de servios ao utilizador
24
Sistemas Operativos
Kernel
Ncleo/parte central do Sistema Operativo o primeiro/principal programa do sistema a executar
Responsvel pela gesto do prprio sistema (gere processos e hardware)
Kernel Mode
permitido executar todas as instrues, tendo o SO acesso total ao hardware
Quase todos os processadores suportam os dois modos de execuo (excepto, por exemplo, os embebidos mais simples)
25
Sistemas Operativos
Espao de memria
Kernel Space Espao onde o kernel executa User Space Espao de execuo dos processos de utilizador
System Calls
Chamadas ao sistema, solicitando servios
Ex.: Operaes de E/S, criao de processos
Sistemas Operativos
Interrupts
Interrupes - interrompem a sequncia normal da execuo do CPU Dispositivos de E/S so geralmente mais lentos do que a CPU
(a)
27
(b) a) Passos desde iniciar o mdulo E/S at receber um interrupt b) Tratamento do interrupt (aceitar executar respectivo programa voltar ao prog.)
Sistemas Operativos
Tipos de Interrupts
Programa ocorre como resultado de uma instruo (ex.: diviso por 0) Timer (relgio) gerada por relgio interno ao CPU (SO executa certas operaes com regularidade) E/S gerada por um controlador (driver) de um dispositivo de E/S Falha no hardware ex.: falta de energia, erro paridade na memria
28
Sistemas Operativos
Interrupt Handler
Programa ou rotina que executado quando uma determinada interrupo ocorre Geralmente faz parte do SO Ex.: programa que serve um dispositivo de E/S
Ex.: movimento do rato
29
Sistemas Operativos
Device Drivers
Dispositivos Controladores
Device Drivers (software) Device controllers (hardware)
Software prprio desenvolvido para cada device controller Responsvel pela comunicao com o device controller, numa linguagem comum a ambos, pelo envio de comandos e recepo de respostas Colocado no SO de forma a executar em kernel mode
Teoricamente, os drivers podem executar fora do kernel, mas restries de segurana normalmente impedem essa abordagem/aceitao pelos SOs
30
Sistemas distribudos
31
Sistemas Distribudos
O que um Sistema Distribudo?
A collection of independent computers that appears to its users as a single coherent system.
(Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 PrenticeHall, Inc. All rights reserved. 0-13-239227-5)
Conjunto de componentes (hardware e software) autnomos que, por cooperarem entre si, tentam dar ao utilizador uma imagem una
32
Sistemas Distribudos
Implementao
Adaptao e utilizao dos sistemas clssicos
Exemplos:
Servidores de CPU, servio de ficheiros, WWW, etc.
33
Sistemas Distribudos
Modelo Cliente Servidor
Modelo de comunicao de referncia na Internet Assenta no conceito de prestao de servios Separa clientes e servidores Dois grupos de intervenientes comunicam entre si geralmente utilizando uma rede de computadores Um cliente envia solicitaes ao servidor No servidor executam processos que implementam servios especficos (impresso, partilha de ficheiros, Web, Bases de Dados, etc.)
34
Sistemas Distribudos
Servidor
Desempenha um papel passivo Aguarda pelo contacto dos clientes No conhece os clientes at ser contactado por eles Executa o servio solicitado pelo cliente, devolvendo-lhe uma resposta Exemplo de servios
Servio de ficheiros Servio de impresso Servio proxy Servio Web
35
Sistemas Distribudos
Cliente
Desempenha um papel activo Contacta o servidor, efectua um pedido e aguarda pela resposta Tipicamente utilizado directamente pelo utilizador Tem de conhecer previamente o endereo do servidor
36
Sistemas Distribudos
Modelo Cliente Servidor
37
Sistemas Distribudos
Modelo Cliente Servidor
Sistemas Distribudos
Modelo Cliente Servidor
Dois clientes e um servidor com SO de rede (ex.: GNU/Linux) Comunicao com base num conjunto de protocolos
39
Sistemas Distribudos
Modelo Cliente Servidor
Vantagens
Concentrao de recursos (ficheiros, impressoras, aplicaes, etc.) num nico ponto permite melhor controlo e administrao Maior segurana Acesso mais simples
Desvantagens
Ponto nico de falha servidor inoperacional implica que a rede no funcione Necessidade de administrador experiente para gerir e colmatar rapidamente possveis falhas
40
Sistemas Distribudos
Peer-to-peer (P2P)
Arquitectura descentralizada Proveniente do ingls Ponto-a-Ponto Rede linear, rede distribuda ou rede no hierrquica Caracteriza pela descentralizao das funes na rede Um computador pode actuar simultaneamente como servidor e/ou cliente Cada utilizador controla os seus prprios recursos
Sistemas Distribudos
Peer-to-peer (P2P)
Sistemas Distribudos
Arquitecturas Modernas
43
Sistemas Distribudos
Cluster Computing
Tornaram-se populares devido melhoria da relao preo / performance Construo de super-computadores com base em mquinas relativamente baratas, acopladas atravs de uma rede de elevado dbito Permite a uma aplicao executar paralelamente em vrias mquinas Normalmente, o cluster assenta num conjunto homogneo de mquinas (mesmas caractersticas de hardware, mesmo SO, ligadas mesma rede)
44
Sistemas Distribudos
Cluster Computing
O n mestre
45
Pode consistir num par de alta-disponibilidade Contm informao sobre o cluster (ex.: contas de utilizador) Monitora o correcto funcionamento do cluster
Sistemas Distribudos
Cluster Computing
Propriedades desejadas
Utilizadores no sabem que esto a usar um cluster Os ns desconhecem que fazem parte de um cluster Aplicaes desconhecem pertencer a um cluster Servidores da rede no necessitam saber que esto a servir um n do cluster
Vantagens
Alta disponibilidade continuidade de servio, mesmo em caso de falha de hardware ou software Aumento de escalabilidade possibilita a introduo de novos componentes/ns conforme o aumento de carga do sistema Simplificao da tarefa de administrao administrao do grupo como se de um s sistema/n se tratasse No existe um nico ponto de falha
46
Sistemas Distribudos
Grid Computing
A ideia ter um conjunto de recursos disponvel ao utilizador Infra-estrutura semelhante rede elctrica de fornecimento de electricidade Utilizador liga-se para obter poder computacional CPU, armazenamento, software, perifricos, etc. Utilizador no se preocupa com detalhes do local onde os dados so armazenados ou qual o computador que processa o seu pedido
47
Sistemas Distribudos
Grid Computing
Utilizao de recursos computacionais interligados e geograficamente dispersos , para partilha de recursos (ex.: espao e computao) Combinao do poder de mltiplas mquinas para entregar performance superior (velocidade, escalabilidade, dbito) Ao contrrio de um cluster, as mquinas associadas a uma Grid so bastante heterogneas (Grids so dinmicas, heterogneas e podero incluir dispositivos partilhados) No existe regra para hardware, SO, rede, domnios administrativos, segurana, polticas, etc. Uma Grid pode conter clusters, mas um cluster no contm Grids
48
Sistemas Distribudos
Grid Computing Caractersticas
Heterogeneidade
Recursos heterogneos, variedade de tecnologia
Escalabilidade
Capacidade de crescer, sem perda de desempenho ()
Partilha de recursos
Recursos no devem ser consumidos por uma nica aplicao
Dinamicidade e adaptabilidade
Ateno disponibilidade dos recursos
49
Sistemas Distribudos
Grid Computing
50
Sistemas Distribudos
Cloud Computing
Aplicaes disponveis como um servio acessvel atravs da Internet Sistemas e hardware em datacenters que suportam estes servios Utiliza e implementa tcnicas de virtualizao, escalabilidade, interoperabilidade, qualidade de servio, mecanismos de supresso de falhas, elasticidade, etc.
51
Sistemas Distribudos
Cloud Computing
Camadas de servio
Utilizador final Acesso a aplicaes Plataforma para construo e disponibilizao de aplicaes Eucalyptus Nimbus OpenNebula Etc.
52
Sistemas Distribudos
Importncia do Cloud Computing
D ao utilizador a iluso de um conjunto infinito de recursos Capacidade de pagar o uso efectivo dos recursos computacionais Decremento da electricidade consumida, largura de banda, operaes, software economia de escala Os recursos so disponibilizados medida das necessidades dos utilizadores Elimina os custos associados compra, configurao e gesto de hardware e software necessrio disponibilizao das aplicaes As aplicaes so disponibilizadas como um servio
53
Sistemas Distribudos
Cloud Computing
Virtual Applications
Virtual Client Virtual Client Virtual Client
Virtual Client
App Loads
Private Cloud
App Loads
App Loads
App Loads
App Loads
Information Security
Internal Cloud
Sistemas Distribudos
Cloud Computing Casos de Uso
A team at Clemson University and CERN has used OpenNebula to deploy thousands of VMs on 400 hosts (3,200 cores) running Xen OpenNebula was integrated in internal network and configuration management Contributed drivers for using LVM based disk images
The Dgrid Resource Center Ruhr (DGRZR) has used OpenNebula to manage 248 Blades with a total of 1,984 cores. OpenNebula is used to support the execution of a virtualized Grid site in D-Grid and EGEE
SARA High Performance Computing Center uses OpenNebula in its new HPC Cloud service on 128 cores across 16servers with KVM OpenNebula is used to support the execution of virtual clusters and HPC applications Authors of the OpenNebula Management Console
55
Bibliografia recomendada
Curiosidades:
http://www.zdnet.com/news/ibm-supercomputer-top-rankedblade-machine/139595
Andrew S. Tanenbaum. Modern Operating Systems (2nd Edition). Prentice Hall, 2001 ISBN: 9780130313584 Katarina Stanoevska-Slabeva, Thomas Wozniak, Santi Ristol. Grid and Cloud Computing: A Business Perspective on Technology and Applications (1st Edition). Springer, 2009 ISBN: 978-3642051920
56