Paradigmas de Computação

Tamanho: px
Começar a partir da página:

Download "Paradigmas de Computação"

Transcrição

1 UCE- Computação Paralela e Distribuída Paradigmas de Computação João Luís Ferreira Sobral 1

2 Paradigmas de Computação Paralela Resultados da Aprendizagem! Conceber, implementar e optimizar aplicações que executem de forma eficiente numa gama alargada de arquitecturas: multi-processador (multi-core e multi-thread) e/ou arquitecturas distribuídas (clusters) Programa (resumido)! Arquitectura dos sistemas de computação " sistemas de memória partilhada e sistemas de memória distribuída.! Modelos de programação paralela e linguagens " processos comunicantes, objectos distribuídos " distribuição de componentes pelos recursos computacionais " mecanismos de especificação de concorrência/paralelismo! Projecto de aplicações paralelas " algoritmos paralelos típicos: pipelining, farming, heartbeat e divide & conquer " gestão eficiente da distribuição de componentes; medição, análise e optimização do desempenho " relação custo/benefício de concorrência/paralelismo e sua quantificação (métricas); " adaptação da granularidade da computação/comunicação; " estratégias de distribuição da carga de dados/computação/comunicação.! Análise de ambientes comerciais/tecnologias 2

3 Paradigmas de Computação Paralela Avaliação! Um trabalho prático (desenvolvimento aplicação para um ambiente de cluster) Pré-requesitos! Conhecimentos de Java e de C /SCD Bibliografia (Base)! Acetatos! M. Quinn. Parallel programming in C with C and OpenMP, McGraw Hill, 2003! I. Foster. Designing and Building Parallel Programs, Addison-Wesley, 1995.! D. Lea. Concurrent Programming in Java: Design Principles and Patterns, Addison Wesley, Bibliografia (Adicional)! R. Gerber, A. Binstock. Programming with Hyper-Threading Technology, Intel Press, 2004.! F. Buschmann, D. Schmidt, M. Stal, H. Rohnert, Pattern-oriented Software Architecture Vol 2: Patterns for Concurrent and Networked Objects, John Wiley and Sons Ltd, 2000.! T. Christopher, G. Thiruvathukal, High-performance Java platform computing, Prentice Hall,

4 Paradigmas de Computação Paralela Escalonamento 1. Inrodução à computação paralela (arquitecturas) 2. Programação de sistemas multicore: OpenMP 3. Programação de sistemas multicore: Concorrência (Java) 4. Programação de sistemas multicore: modelos de consistência de memória 5. Sistemas de memória distribuída: Modelos de progamação 6. Sistemas de memória distribuída: MPI 7. Sistemas de memória distribuída: Sistemas de objectos ditribuídos 8. Projecto de aplicações paralelas 9. Medição e optimisação de desenepenho 10. Caso de estudo: simulações de dinâmica molecular 11. Palestra: Parallel programming by refinement 12. Palestra: TBA 4

5 Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída) Arquiteturas Paralelas João Luís Ferreira Sobral 1-Março-2011

6 Paradigmas de Computação Paralela Futuro da arquitectura de computadores Microprogramação Pipelining Superescalaridade Caches Timeshared Memória Virtual RISC VLIW (EPIC) CC-UMA CC-NUMA Not-CC-NUMA Passagem de Mensagens GRID/Internet SIMD Evolução ILP Multithreading Processos comunicantes Revolução Os processadores exploram paralelismo ao nível da instrução de forma transparente Uma revolução obriga à alteração da forma de pensar dos programadores A ênfase de computação paralela é na programação deste tipo de arquitecturas 2

7 Paradigmas de Computação Paralela Memória partilhada centralizada (CC-UMA, CC-NUMA) Vários processadores partilham um barramento de acesso à memória As caches de cada processador contribuem para reduzir o tráfego no barramento e a latência dos acessos à memória Um valor pode estar replicado em vários sítios => são necessários mecanismos para assegurar a coesão entre as caches dos vários processadores e a memória A largura de banda de acesso à memória é partilhada pelos vários processadores => limitação à escalabilidade deste tipo de arquitetura: P r o c e s s o r P r o c e s s o r P r o c e s s o r C a c h e C a c h e C a c h e S i n g l e b u s M e m o r y I / O 3

8 Arquitecturas Multi-core Memória distribuída processadores conectados por uma rede de interligação (CC- NUMA, passagem de mensagens) Os sistemas interligados por um barramento tendem a limitar o número de processadores que efectivamente podem ser ligados A alternativa reside na utilização de uma rede dedicada à interligação dos vários processadores, possuindo cada processador a sua memória dedicada P r o c e s s o r P r o c e s s o r P r o c e s s o r C a c h e C a c h e C a c h e M e m o r y M e m o r y M e m o r y N e t w o r k

9 Paradigmas de Computação Paralela Endereços partilhados sobre memória distribuída Implementação mais simples => não fornecer HW para suporte a coesão de cache a cache não é utilizada em a endereços acessos remotos Serviço de directoria que mantém a informação sobre a partilha de cada bloco local de memória: A directoria é distribuída pelos processadores Cada entrada indica os processadores que contêm uma cópia do bloco de memória A invalidação dos blocos efectuada através de mensagens, com base em informação na directoria

10 Paradigmas de Computação Paralela Redes de interligação Topologias Completamente conectada (requer N 2 comutadores) Anel (requer 2N comutadores) Matriz e hipercubo Multi-nível

11 Paradigmas de Computação Paralela Redes de interligação Métricas Latência Largura de banda por ligação agregada - soma a largura de banda das ligações que podem ser realizadas simultaneamente de bisecção - obtida dividindo a máquina em dois tipos de nodos: receptores e emissores d (degree) = ligações de cada comutador Diâmetro = máximo número de ligações entre dois nodos (caminho mais curto) Distância média entre dois nodos

12 Paradigmas de Computação Paralela Cluster de máquinas Constituídos pode HW normal, interligados por uma rede de alta velocidade (Gbit/s com muito baixa latência) Cada nodo de processamento pode ser uma máquina de memória partilhada com vários processadores Cada nodo possui uma cópia do SO Alta disponibilidade: quando falha uma máquina basta substituí-la por outra Custos de administração na ordem do número de máquinas Exemplo (Cluster investigação da Universidade do Minho ): 8 nodos com SAN FC 3TB 8 nodos com NVIDIA 7800 GTX CPU Processador Freq. Relógio Memória Actual/Máxima Comunicação Nodos Máximo de nodos 14 Intel Xeon 3,2 GHz 10 GB / 112 GB 250 MB/s, 10us (2,0 Gbit/s) 2-way 7 96 Intel Xeon 3,0 GHz 2,0 GHz 96GB / 768GB 1 GB/s, 3us (10 Gbit/s) 2-way / 4-way 48 8

13 Arquitecturas Multi-core Hierarquia processador-memória Organização dos diversos níveis de cache em sistemas multi-core Consistência entre os vários níveis de memória Conectividade do processador com o exterior Topologias de interligação entre cores / CPU Barramentos, estrela, híbridos Execução simultânea de vários fios de execução (SMT) Hyper-threading Programação de sistemas multi-core Especificação de actividades paralelas Modelos de consistência da memória

14 Arquitecturas Multi-core Hierarquia processador-memória Cose Partilha de L1, L2 ou L3 entre cores? Como assegurar a coesão caches de diferentes cores? Partilha do barramento de acesso à memória externa? Exemplos: L1 = 32KB+32KB (/Core) L2 = 2MB/4MB/6MB L1 = 64KB+64KB (/Core) L2 = 512K (/Core) L3 = 2MB/6MB

15 Arquitecturas Multi-core OpenSparc T2-8 cores - 64 threads simultâneas (8/core) - 8 bancos de caches L2-4 controladores de memória

16 Arquitecturas Multi-core Hierarquia processador-memória Protocolos de coesão entre caches A utilização de protocolos write back pode originar valores inconsistentes entre a cache e a memória principal partilhada Os protocolos de coesão de caches asseguram a coesão entre os valores nas caches dos vários processadores e a memória central Coesão baseada em Snooping cada bloco da cache contém informação indicando se é partilhado. Write-invalidate: numa escrita todas as outras cópias são marcadas como inválidas» Gera menos tráfego no barramento (ex. no caso de escritas sucessivas) Write-update: numa escrita as outras cópias são também actualizadas» Reduz a latência nos acessos Falsa partilha: duas variáveis utilizadas por diferentes processadores são mapeadas no mesmo bloco da cache Problema agrava com o aumento da dimensão dos blocos da cache Caches inclusivas torna o snoop no barramento mais rápido

17 Arquitecturas Multi-core Hierarquia processador-memória Exemplo de coesão entre caches do tipo write-invalidate Estado de cada linha: Leitura (Read Only), Leitura/Escrita, Inválida A maior parte dos processadores comerciais utilizam uma variante deste protocolo (MESI), onde o estado Read Only está dividido em dois (Exclusive/Shared), indicando se o bloco é partilhado ou não.

18 Arquitecturas Multi-core Hierarquia processador-memória Implementação de operações de sincronização Com uma instrução de permuta atómica Gera um write-miss e um read-miss por ciclo O spin-lock desperdiça ciclos de CPU, não escalando com o número de processadores Exemplo para três processadores

19 Arquitecturas Multi-core Hierarquia processador-memória Implementação de operações de sincronização Com uma instrução de permuta atómica Apenas gera um write-miss quando o valor da variável é alterado

20 Arquitecturas Multi-core AMD K10 Integra o controlador de memória do próprio chip e 2 ligações externas (Hyper Transport) para ligação a outros processadores. O Hyper Transport permite a ligação até 8 processadores sem recurso a componentes adicionais: CC-NUMA - a largura de banda disponível para a memória local é superior à disponibilizada pelo Hyper Transport

21 Arquitecturas Multi-core Arquitectura do sistema (tradicional) Largura de Banda da memória: 25.6 GB/s (DDR dual 12.8 Gb/s) O controlador de memória é o gargalo!

22 Intel Core i7 Arquitecturas Multi-core Controlador de memória integrado Barramento QPI para conexão o periféricos ou outros processadores (2 x 12,8 GB/s)

23 Arquitecturas Multi-core Intel 80-core TeraScale Chip para investigação de tecnologias futuras para multi-core, que não pretende ser comercializado Protótipo actual atinge 1 TeraFlop

24 Arquitecturas Multi-core Novas arquiteturas Intel Sandy bridge Intel 48-core SSC

25 Hyper-Threading Arquitecturas Multi-core Unidade Funcional Super-escalar Multi-processador (2 vias) Hyper-Threading Ciclos de relógio 1 processador = 2 processadores? Não porque parte dos recursos do processador não são duplicados (i.é., são divididos pelos vários fios de execução) (caches, registos internos, buffers internos, etc.)

26 O futuro dos multi-core Arquitecturas Multi-core Aumento do número de núcleos por chip (100 ou mais) Desafios: Interligação - Como interligar de forma eficiente os núcleos Hierarquia de memória e coesão Partilha de cache pelos núcleos Memória Aumento proporcional ao número de núcleos Programação!!! A tendência atual é para o tipo NUMA Processadores multi-core são mais eficientes em termos energéticos As aplicações do dia-a-dia não beneficiam desta evolução

Sistemas de Computação e Desempenho (UCE Computação Paralela Distribuída)

Sistemas de Computação e Desempenho (UCE Computação Paralela Distribuída) Sistemas de Computação e Desempenho (UCE Computação Paralela Distribuída) Arquitecturas Multi-Core João Luís Ferreira Sobral jls@... 9-Dez-2008 Hierarquia processador-memória Organização dos diversos níveis

Leia mais

Arquitecturas Paralelas I. Computação Paralela. João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... http://gec.di.uminho.

Arquitecturas Paralelas I. Computação Paralela. João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... http://gec.di.uminho. Arquitecturas Paralelas I Computação Paralela João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... http://gec.di.uminho.pt/lesi/ap1 1 Computação paralela Resultados da Aprendizagem Conceber, implementar

Leia mais

Arquitecturas Paralelas I Computação Paralela em Larga Escala. Introdução

Arquitecturas Paralelas I Computação Paralela em Larga Escala. Introdução Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Introdução João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Setembro 2003 Programa Introdução e objectivos

Leia mais

Arquitectura de Computadores II. Multiprocessadores

Arquitectura de Computadores II. Multiprocessadores Arquitectura de Computadores II LESI - 3º Ano Multiprocessadores João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Janeiro 2002 Uma forma lógica de aumentar o desempenho de uma

Leia mais

Parallel Computing Paradigms

Parallel Computing Paradigms João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... Web: Elearning 1 At the end of the course, students should be able to: Design and optimise parallel applications that can efficiently run on a wide

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

Arquitectura de Computadores II. Interface com Periféricos

Arquitectura de Computadores II. Interface com Periféricos Arquitectura de Computadores II LESI - 3º Ano Interface com Periféricos João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Janeiro 2002 Aspecto frequentemente relegado para segundo

Leia mais

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro Sistemas MIMD Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas Paralelas (SISD) Single Instruction Stream, Single Data Stream: Monoprocessador

Leia mais

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França Arquitetura NUMA 1 Daniel de Angelis Cordeiro INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França 6 de Outubro de 2010 1 Baseado em slides feitos por Christiane Pousa

Leia mais

Capí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 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 mais

Computação Paralela. João Luís Ferreira Sobral

Computação Paralela. João Luís Ferreira Sobral João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... http://gec.di.uminho.pt/micei/cp 1 Computação paralela Objectivo Desenvolvimento de aplicações que executem de forma eficiente numa gama alargada

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SISTEMAS COM MÚLTIPLOS PROCESSADORES LIVRO TEXTO: CAPÍTULO 13, PÁGINA 243 Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Arquiteturas que possuem duas ou mais CPUs interligadas

Leia mais

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações Introdução aos Sistemas de Computação (6) Análise de componentes num computador Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3.

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

Arquitectura de Sistemas Paralelos e Distribuídos

Arquitectura de Sistemas Paralelos e Distribuídos Docentes Arquitectura de Sistemas Paralelos e Distribuídos 0. Introdução Prof. Paulo Marques Dep. Eng. Informática, Univ. Coimbra pmarques@dei.uc.pt Prof. Luís Silva Dep. Eng. Informática, Univ. Coimbra

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,

Leia mais

Ricardo Gonçalves 2013/2014. Arquitecturas Multicore

Ricardo Gonçalves 2013/2014. Arquitecturas Multicore Ricardo Gonçalves 2013/2014 Arquitecturas Multicore Outline Introdução Processador Multi-core: o que é? Do multi-processador ao multi-core Evolução dos processadores multi-core Arquitecturas multi-core

Leia mais

Sistema de Computação

Sistema de Computação Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU

Leia mais

Multicomputadores. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação CECOMP

Multicomputadores. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação CECOMP Multicomputadores Introdução Vimos que existem dois tipos de processadores paralelos MIMD: Multiprocessadores. Multicomputadores. Nos multiprocessadores, existe uma memória compartilhada que pode ser acessada

Leia mais

CURSO DE ENGENHARIA DE COMPUTAÇÃO Renovação de Reconhecimento pela Portaria n 123 de 09/07/12 DOU de 10/07/12 PLANO DE CURSO

CURSO DE ENGENHARIA DE COMPUTAÇÃO Renovação de Reconhecimento pela Portaria n 123 de 09/07/12 DOU de 10/07/12 PLANO DE CURSO CURSO DE ENGENHARIA DE COMPUTAÇÃO Renovação de Reconhecimento pela Portaria n 123 de 09/07/12 DOU de 10/07/12 Componente Curricular: Sistemas Concorrentes e Distribuídos Código: ENG - 436 Pré-requisito:

Leia mais

Single-Chip Cloud Computer

Single-Chip Cloud Computer IME-USP Departamento de Ciência da Computação Single-Chip Cloud Computer Diogo de Jesus Pina 6798294 (diogojpina@gmail.com) Everton Topan da Silva 6514219 (everton.topan.silva@usp.br) Disciplina: Organização

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

Arquitetura de Von Neumann e os Computadores Modernos

Arquitetura de Von Neumann e os Computadores Modernos Arquitetura de Von Neumann e os Computadores Modernos Arquitetura de Computadores e Software Básico Aula 5 Flávia Maristela (flaviamsn@ifba.edu.br) Arquitetura de Von Neumann e as máquinas modernas Onde

Leia mais

Microarquiteturas Avançadas

Microarquiteturas Avançadas Univ ersidade Federal do Rio de Janei ro Info rmátic a DCC/IM Arquitetura de Computadores II Microarquiteturas Avançadas Gabrie l P. Silva Introdução As arquiteturas dos processadores têm evoluído ao longo

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Multi-núcleos Programação de Sistemas Core : 1/19 Introdução (1) [Def] núcleo ( core ) é uma unidade de processamento. O multicore (Dual, Quad,...) possui 2 ou mais núcleos que

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Multi-núcleos Programação de Sistemas Core : 1/19 Introdução (1) [Def] núcleo ( core ) é uma unidade de processamento. O multicore (Dual, Quad,...) possui 2 ou mais núcleos que

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

4 Computação Paralela 4.1. Introdução

4 Computação Paralela 4.1. Introdução 4 Computação Paralela 4.1. Introdução Nos últimos anos observa-se uma tendência cada vez maior do aumento da demanda computacional na resolução de grandes problemas. Exemplos de aplicações que exigem alto

Leia mais

Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores

Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores Multi-processamento Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores Arquitecturas MIMD de memória distribuída Massive Parallel Computers Sistemas distribuídos Ainda

Leia mais

UCE- Computação Paralela e Distribuída Paradigmas de Computação Paralela

UCE- Computação Paralela e Distribuída Paradigmas de Computação Paralela UCE- Computação Paralela e Distribuída Paradigmas de Computação Paralela João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... http://alba.di.uminho.pt/... 2/03/2010 1 Paradigmas de Computação paralela

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 6 - ARQUITETURAS AVANÇADAS DE COMPUTADORES 1. INTRODUÇÃO As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com ela o conceito de arquitetura avançada tem se modificado. Nos

Leia mais

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Introdução Os sistemas operativos implementam mecanismos que asseguram independência entre processos (i.e., a execução de um processo

Leia mais

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 1 Processadores Computador Processador ( CPU ) Memória E/S Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 2 Pastilha 3 Processadores (CPU,, Microcontroladores)

Leia mais

Sistemas 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 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 mais

Symmetric Multiprocessing Simultaneous Multithreading Paralelismo ao nível dos dados

Symmetric Multiprocessing Simultaneous Multithreading Paralelismo ao nível dos dados Symmetric Multiprocessing Simultaneous Multithreading Paralelismo ao nível dos dados Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto SMP,

Leia mais

COMPUTAÇÃO PARALELA. uma visão geral. Guilherme Galante. v.2.0

COMPUTAÇÃO PARALELA. uma visão geral. Guilherme Galante. v.2.0 COMPUTAÇÃO PARALELA uma visão geral Guilherme Galante v.2.0 Guilherme Galante Bacharel em Informática Unioeste (2003) Mestre em Ciência da Computação UFRGS (2006) Professor Assistente do curso de Informática/Ciência

Leia mais

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Implementação Produtos 1 Memória Compartilhada Distribuída Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações

Leia mais

Computação Heterogênea Programação paralela, clusters e GPUs

Computação Heterogênea Programação paralela, clusters e GPUs Computação Heterogênea Programação paralela, clusters e GPUs Profa. Dra. Denise Stringhini (ICT- Unifesp) Primeiro Encontro do Khronos Chapters Brasil Belo Horizonte, 20/09/2013 Conteúdo Computação heterogênea:

Leia mais

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Introdução à Organização de Computadores Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Tópicos Processadores Memória Principal Memória Secundária Entrada e

Leia mais

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho. Computação Paralela Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Desenvolvimento de Aplicações Paralelas Uma Metodologia

Leia mais

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Sistemas Paralelos e Distribuídos Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Conceitos preliminares Paralelismo refere-se a ocorrência simultânea de eventos em um computador Processamento

Leia mais

Arquitecturas Paralelas I. Computação Paralela. João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... http://gec.di.uminho.

Arquitecturas Paralelas I. Computação Paralela. João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... http://gec.di.uminho. Arquitecturas Paralelas I Computação Paralela João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... http://gec.di.uminho.pt/lesi/ap1 1 Computação paralela Resultados da Aprendizagem Desenvolver aplicações

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introduçã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 mais

Comparação SDs X Scs

Comparaçã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 mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

7-1. Parte 6 Otimizações da Arquitetura

7-1. Parte 6 Otimizações da Arquitetura 7-1 Parte 6 Otimizações da Arquitetura 7-2 Bibliografia [1] Miles J. Murdocca e Vincent P. Heuring, Introdução à Arquitetura de Computadores [2] Andrew S. Tanenbaum, Modern Operating Systems [3] William

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência

Leia mais

Curso de Programação Distribuída e Paralela

Curso de Programação Distribuída e Paralela Curso de Programação Distribuída e Paralela Revisão de Tópicos Cláudio Geyer. Programação distribuída e paralela (C. Geyer) Revisão Tópicos 1 Tópicos e Conceitos Tópicos e Conceitos programação concorrente,

Leia mais

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador)

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador) Multiprocessamento Multiprocessadores com memória distribuída (multicomputador) Conjunto de processadores, cada qual com sua memória local Processadores se comunicam por troca de mensagens, via rede de

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura 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 mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS 1. Introdução a supercomputação 2. Visão geral de Mainframe 3. Cluster de computadores 4. Cluster Beowulf considerações de projeto 5. Cluster x Grid 6.

Leia mais

Organização e Arquitetura de Computadores. Hugo Barros email@hugobarros.com.br

Organização e Arquitetura de Computadores. Hugo Barros email@hugobarros.com.br Organização e Arquitetura de Computadores Hugo Barros email@hugobarros.com.br RISC X SISC RISC: Reduced Instruction Set Computer Nova Tecnologia para máquinas de alta performance; Máquina com um conjunto

Leia mais

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução Arquitetura e Organização de Computadores Capítulo 0 - Introdução POR QUE ESTUDAR ARQUITETURA DE COMPUTADORES? 2 https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender para onde os computadores estão

Leia mais

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S Estruturas de sistemas de computação Sumário! Operação de um sistema de computação! Estruturas de E/S! Estruturas de armazenamento! Hierarquia de armazenamento 2 1 Arquitectura de um sistema de computação

Leia mais

Programação Paralela e Distribuída 2009/10. Fundamentos

Programação Paralela e Distribuída 2009/10. Fundamentos Programação Paralela e Distribuída 1 Porquê Programação Paralela? Se um único computador (processador) consegue resolver um problema em N segundos, podem N computadores (processadores) resolver o mesmo

Leia mais

7 Processamento Paralelo

7 Processamento Paralelo 7 Processamento Paralelo Yes, of course, who has time? Who has time? But then if we do not ever take time, how can we ever have time? (The Matrix) 7.1 Introdução Classificação de Sistemas Paralelos Diversas

Leia mais

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina Arquitetura e Organização de Computadores 2 Apresentação da Disciplina 1 Objetivos Gerais da Disciplina Aprofundar o conhecimento sobre o funcionamento interno dos computadores em detalhes Estudar técnicas

Leia mais

Arquiteturas de Computadores Paralelos

Arquiteturas de Computadores Paralelos Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Paralelismo O estudo de paralelismo

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (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 mais

Ferramentas para Programação em Processadores Multi-Core

Ferramentas para Programação em Processadores Multi-Core Ferramentas para Programação em Processadores Multi- Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Programação multithread Ferramentas de programação Prática

Leia mais

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão (rma@fe.up.pt)

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão (rma@fe.up.pt) Sistemas Operativos Princípios de sistemas operativos Rui Maranhão (rma@fe.up.pt) Agenda objectivos de um computador objectivos de um sistema operativo evolução dos sistemas operativos tipos de sistemas

Leia mais

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Introdução à Organização de Computadores Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 CPU (Central Processing Unit) é o coordenador de todas as atividades

Leia mais

Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução.

Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução. Processadores Atuais Eduardo Amaral Sumário Introdução Conceitos Básicos Microprocessadores Barramentos Bits internos e bits externos Clock interno e clock externo Memória cache Co-processador aritmético

Leia mais

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Trabalho elaborado por: 980368 - Sérgio Gonçalves Lima 1010949 - Nisha Sudhirkumar Chaganlal Clusters O que é

Leia mais

SSC510 Arquitetura de Computadores. 12ª aula

SSC510 Arquitetura de Computadores. 12ª aula SSC510 Arquitetura de Computadores 12ª aula EVOLUÇÃO DA ARQUITETURA INTEL PROFA. SARITA MAZZINI BRUSCHI 1 Pentium - Modelos 2 Pentium - Arquiteturas Netburst P7 Sétima geração dos processadores da arquitetura

Leia mais

FACULDADE PITÁGORAS PRONATEC

FACULDADE PITÁGORAS PRONATEC FACULDADE PITÁGORAS PRONATEC DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Objetivos Ao final desta apostila,

Leia mais

Hardware. Objetivos da aula. Fornecer exemplos de processadores Intel. Esclarecer as diferenças e as tecnologias embutidas nos processadores Intel.

Hardware. Objetivos da aula. Fornecer exemplos de processadores Intel. Esclarecer as diferenças e as tecnologias embutidas nos processadores Intel. Hardware UCP Unidade Central de Processamento Características dos processadores Intel Disciplina: Organização e Arquitetura de Computadores Prof. Luiz Antonio do Nascimento Faculdade Nossa Cidade Objetivos

Leia mais

Redes de Computadores Grupo de Redes de Computadores

Redes de Computadores Grupo de Redes de Computadores Redes de Computadores Grupo de Redes de Computadores Interligações de LANs: Equipamentos Elementos de interligação de redes Aplicação Apresentação Sessão Transporte Rede Ligação Física LLC MAC Gateways

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS 1. Histórico Primeiros computadores Computadores dos anos 50 e 60 Primeiros computadores com sistemas operacionais Surgimento das redes de computadores Nos anos 70 início das pesquisas

Leia mais

Memória compartilhada (shared memory): - o espaço de endereçamento é único; - comunicação através de load e store nos endereços de memória.

Memória compartilhada (shared memory): - o espaço de endereçamento é único; - comunicação através de load e store nos endereços de memória. 4. Arquiteturas ID áquinas ID (ultiple Instruction ultiple Data) são arquiteturas caracterizadas pela execução simultânea de múltiplos fluxos de instruções. Essa capacidade deve-se ao fato de que são construídas

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012

Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012 Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012 As redes de computadores possibilitam que indivíduos possam trabalhar em equipes, compartilhando informações,

Leia mais

Componentes de um Sistema de Computador

Componentes de um Sistema de Computador Componentes de um Sistema de Computador HARDWARE: unidade responsável pelo processamento dos dados, ou seja, o equipamento (parte física) SOFTWARE: Instruções que dizem o que o computador deve fazer (parte

Leia mais

09/06/2011. Profª: Luciana Balieiro Cosme

09/06/2011. Profª: Luciana Balieiro Cosme Profª: Luciana Balieiro Cosme Revisão dos conceitos gerais Classificação de redes de computadores Visão geral sobre topologias Topologias Barramento Anel Estrela Hibridas Árvore Introdução aos protocolos

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito - Anéis Ópticos em Backbone www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Introdução Em 1980 foi formado o grupo de trabalho ANSI X3T9.5 com a finalidade de desenvolver

Leia mais

Universidade de Brasília

Universidade de Brasília Universidade de Brasília Introdução a Microinformática Turma H Redes e Internet Giordane Lima Porque ligar computadores em Rede? Compartilhamento de arquivos; Compartilhamento de periféricos; Mensagens

Leia mais

Modelo Genérico de Módulo de E/S Grande variedade de periféricos

Modelo Genérico de Módulo de E/S Grande variedade de periféricos Conteúdo Capítulo 7 Entrada/Saída Dispositivos externos Módulos E/S Técnicas de E/S E/S Programada E/S Conduzida por interrupções Processamento de interrupções Controlador Intel 82C59A Acesso Directo à

Leia mais

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução Arquitetura e Organização de Computadores Capítulo 0 - Introdução POR QUE ESTUDAR ARQUITETURA DE COMPUTADORES? 2 https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender para onde os computadores estão

Leia mais

Organização de Computadores 2005/2006 Processamento Paralelo

Organização de Computadores 2005/2006 Processamento Paralelo Organização de Computadores 2005/2006 Processamento Paralelo Paulo Ferreira paf a dei.isep.ipp.pt Maio de 2006 Introdução 2 Porquê?...........................................................................................

Leia mais

Sistemas Distribuídos Conceitos HW e SW. Edeyson Andrade Gomes www.edeyson.com.br

Sistemas Distribuídos Conceitos HW e SW. Edeyson Andrade Gomes www.edeyson.com.br Sistemas Distribuídos Conceitos HW e SW Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Roteiro da Aula Conceitos de Hardware Conceitos de Software Combinações de SW e HW 3 Sistemas Distribuídos

Leia mais

Sistemas Distribuídos. Introdução

Sistemas Distribuídos. Introdução Sistemas Distribuídos Introdução Definição Processos Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Executados

Leia mais

Introdução às arquiteturas paralelas e taxonomia de Flynn

Introdução às arquiteturas paralelas e taxonomia de Flynn Introdução às arquiteturas paralelas e taxonomia de Flynn OBJETIVO: definir computação paralela; o modelo de computação paralela desempenhada por computadores paralelos; e exemplos de uso da arquitetura

Leia mais

Unidade 13: Paralelismo:

Unidade 13: Paralelismo: Arquitetura e Organização de Computadores 1 Unidade 13: Paralelismo: SMP e Processamento Vetorial Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura SMP e alguns detalhes

Leia mais

Máquinas Multiníveis

Máquinas Multiníveis Infra-Estrutura de Hardware Máquinas Multiníveis Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Classificação de arquiteturas Tendências da tecnologia Família Pentium

Leia mais

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo 1 Professores: Aula 10 Lúcia M. A. Drummond Simone de Lima Martins Conteúdo: Arquiteturas Avançadas - Arquiteturas RISC - Processamento Paralelo 2 Arquiteturas RISC Reduced Instruction Set Computer se

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Introdução Aplicações em rede de computadores As redes de computadores atualmente estão em todos os lugares. Ex.: Internet, redes de telefones móveis, redes corporativas, em fábricas,

Leia mais

Curso Técnico de Nível Médio

Curso Técnico de Nível Médio Curso Técnico de Nível Médio Disciplina: Informática Básica 2. Hardware: Componentes Básicos e Funcionamento Prof. Ronaldo Componentes de um Sistema de Computador HARDWARE: unidade

Leia mais

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Prof. 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 mais

Tecnologia de Sistemas Distribuídos Capítulo 8: Sistemas de Ficheiros Distribuídos Paulo Guedes

Tecnologia de Sistemas Distribuídos Capítulo 8: Sistemas de Ficheiros Distribuídos Paulo Guedes Tecnologia de Sistemas Distribuídos Capítulo 8: Sistemas de Ficheiros Distribuídos Paulo Guedes Paulo.Guedes@inesc.pt Alves Marques jam@inesc.pt INESC/IST 1 Sistema de Ficheiros Distribuídos Permite a

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br ESQUEMA DE UM COMPUTADOR Uma Unidade Central de

Leia mais

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas: Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; - pesquisa em fusão de energia; - diagnóstico médico; - simulações

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 02 - Estrutura dos Sistemas Operacionais Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

SISTEMA DE ARMAZENAMENTO (STORAGE)

SISTEMA DE ARMAZENAMENTO (STORAGE) SISTEMA DE ARMAZENAMENTO (STORAGE) Possuir capacidade instalada, livre para uso, de pelo menos 5.2 (cinco ponto dois) TB líquidos em discos SAS/FC de no máximo 600GB 15.000RPM utilizando RAID 5 (com no

Leia mais

Capítulo 9. Arquitecturas Reais e Alternativas

Capítulo 9. Arquitecturas Reais e Alternativas Capítulo 9 Arquitecturas Reais e Alternativas Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Ábaco (3000 AC) do Lat. abacu < Gr. abax, quadro,

Leia mais

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação Disciplina A Disciplina B Código Disciplina C/H Curso Disciplina C/H Código Curso Ano do Currículo 66303 ESTRUTURA DE DADOS I 68/0 ENG. DE

Leia mais