Otimizações do GCC para Processadores Intel. Rodrigo Vivi - FISL13

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

Download "Otimizações do GCC para Processadores Intel. Rodrigo Vivi - FISL13"

Transcrição

1 Otimizações do GCC para Processadores Intel Rodrigo Vivi - FISL13

2 Eugeni Dodonov Russo 31 anos PhD em Ciência da Computação pela UFSCar Contribuidor de diversos projetos Open Source Contribuidor chave para a distribuição Mandriva e drivers gráficos da Intel para o Kernel do Linux Co-apresentaria 2 palestras no FISL13 Apaixonado pelo Brasil, pela sua Família e pelo Corinthians 2

3 Quem sou eu? Linux a mais de 10 anos FISL IBM Linux Technology Center SELinux FISL Collabora/Nokia MeeGo FISL Intel Open Source Technology Center GCC 3

4 Comprometimento da Intel 4

5 OTC Contribuindo Upstream 5 Linux Kernel Android Mesa KVM Xorg Xen Wayland ofono Cairo ConnMan Qt Yocto EFL GCC Tizen E muitos outros...

6 OTC no Brasil Sim, nós temos devs no Brasil Grupo de Visualização 04 Desenvolvedores no Brasil E Crescendo... 6

7 GCC 7

8 25 Anos deste Ícone do Software Livre Primeira Release em Março de 1987 Richard Stallman iniciou o projeto em

9 Desenvolvimento Atual Manter alta qualidade Suportar cada vez mais plataformas Continuar com melhorias de Infraestrutura Releases mais frequentes 9

10 Básico de Compiladores

11 int main() { printf( Hello World\n ); } Linguagem que nós Humanos entendemos Compilador Linguagem que as Máquinas entendem

12 Compiladores em Duas Etapas Etapa 1 Análise da linguagem que Humanos entendem: Analisador Léxico Analisador Sintático Analisador Semântico Etapa 2 Síntese da linguagem que as Máquinas entendem: 12 Gerador de código intermediário Otimizador de código Gerador de código

13 Otimizador de Código Input: Código Intermediário Independente da arquitetura Minimiza uso de memória Otimiza performance Output: Código Intermediário 13

14 Gerador de Código Input: Código Intermediário Dependente da arquitetura Otimiza a alocação de memória Otimiza o uso de registradores Output: Código que a Máquina entende 14

15 Otimizações do GCC para Intel

16 GCC cada vez melhor para Intel

17 GCC cada vez melhor! Mais é melhor Inclinação mostra melhoria mais acentuada para Intel 17

18 GCC cada vez melhor! Menos é melhor Inclinação mostra melhoria mais acentuada para Intel 18

19 GCC cada vez melhor! Mais é melhor Inclinação mostra melhoria mais acentuada para Intel 19

20 Outras comparações em IvyBridge

21 GCC e seus Concorrentes em IvyBridge Menos é melhor 21

22 GCC e seus Concorrentes em IvyBridge Mais é melhor 22

23 GCC e seus Concorrentes em IvyBridge Menos é melhor 23

24 GCC e seus Concorrentes em IvyBridge Menos é melhor 24

25 GCC e seus Concorrentes em IvyBridge Mais é melhor 25

26 GCC e seus Concorrentes em IvyBridge Mais é melhor 26

27 GCC e seus Concorrentes em IvyBridge Menos é melhor 27

28 O bom e velho GCC continua sendo a melhor opção!

29 Como extrair o máximo do seu processador Intel 29

30 Niveis de otimização: gcc -O{0,1,2,s,3} gcc -O0 Compilação padrão gcc -O1 Compilação rápida gcc -O2 Balanceamento entre performance e tamanho gcc -Os Aplica todas otimizações do 2 que não aumentam tamanho do código gerado gcc -O3 Código mais rápido, porem provavelmente maior 30

31 Otimizando para arquitetura: gcc -march=cpu-type gcc -march=native gcc -march=i386 - Original Intel's i386 CPU. gcc -march=atom - Intel Atom CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3 instruction set support. gcc -march=corei7 - Intel Core i7 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 instruction set support. gcc -march=corei7-avx - Intel Core i7 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES and PCLMUL instruction set support. gcc -march=core-avx-i - Intel Core CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND and F16C instruction set support. 31

32 O Trabalho Continua 32

33 O Trabalho continua Performance Estabilidade CILK Futuras plataformas 33

34 Estado do GCC 4.8

35 GCC 4.8 Mais é melhor 35

36 GCC 4.8 Menos é melhor Mais é melhor 36

37 GCC 4.8 Menos é melhor 37

38 Phoronix.com facilitou minha vida. Programas de desenvolvimento da Intel facilitam a sua!

39

40 Perguntas? Dúvidas? freenode

Plasma Active. Thiago Macieira

Plasma Active. Thiago Macieira Plasma Active Thiago Macieira Quem sou eu? Desenvolvedor Open Source há 15 anos Atualmente arquiteto de software no Open Source Technology Center (OTC) na Intel Mantenedor do módulo QtCore e QtDBus do

Leia mais

UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE

UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMPILADORES PROFESSOR: JOHNI DOUGLAS MARANGON Back-End Compilação 1. Compilação etapa Back-end

Leia mais

Novidades no opensuse 11.0. Carlos Gonçalves Membro opensuse cgoncalves@opensuse.org

Novidades no opensuse 11.0. Carlos Gonçalves Membro opensuse cgoncalves@opensuse.org Novidades no opensuse 11.0 Carlos Gonçalves Membro opensuse cgoncalves@opensuse.org O opensuse Introdução História do opensuse Visão geral do projecto Objectivos do projecto Relação entre Novell & opensuse

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação 08 - Licenças, Tipos de Softwares, Tradutores. Linguagens de Máquina, de Baixo Nível e de Alto Nível Márcio Daniel Puntel marcio.puntel@ulbra.edu.br Software Livre GPL BSD Software

Leia mais

Algoritmos e Linguagem de Programação I

Algoritmos e Linguagem de Programação I Algoritmos e Linguagem de Programação I Roberto Ferreira roberto.ferreira@lapa.ifbaiano.edu.br 2014.1 Módulo I Aula 4 Introdução ao C Linguagem de Programação É um conjunto de regras sintáticas e semânticas

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

MC-102 Aula 01. Instituto de Computação Unicamp

MC-102 Aula 01. Instituto de Computação Unicamp MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2015 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos

Leia mais

A SALA DE AULA é meu paraíso. Nela me realizo, nela exercito minha cidadania e nela me sinto útil.

A SALA DE AULA é meu paraíso. Nela me realizo, nela exercito minha cidadania e nela me sinto útil. Virtualização Meu nome: Nome de guerra: Meu e-mail: Marcos Vinicios Bueno Marques Professor Cidão marcos@cidao.com.br Quem sou? Professor e coordenador de cursos de TI do Senac Informática em Porto Alegre,

Leia mais

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 01 Fundamentos de Computadores Sumário : Conceitos básicos: computador,

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

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

Introdução. Sistemas Operacionais

Introdução. Sistemas Operacionais FATEC SENAC Introdução à Sistemas Operacionais Rodrigo W. Fonseca Sumário Definição de um S.O. Características de um S.O. História (evolução dos S.O.s) Estruturas de S.O.s Tipos de Sistemas Operacionais

Leia mais

Fundamentos de Software Livre

Fundamentos de Software Livre Fundamentos de Software Livre 01 de Agosto de 2011 Augusto Vinhaes Agenda 1) Software Conceitos básicos Tipos: Software básico e aplicativos 2) Sistemas Operacionais Conceitos básicos Estrutura Alguns

Leia mais

SISTEMAS OPERACIONAIS 2007

SISTEMAS OPERACIONAIS 2007 SISTEMAS OPERACIONAIS 2007 VISÃO GERAL Sumário Conceito Máquina de Níveis Conceituação de SO Componentes do SO Visões do SO Conceito de Sistemas O que se espera de um sistema de computação? Execução de

Leia mais

Arquitetura de computadores - Endianness

Arquitetura de computadores - Endianness Arquitetura de computadores - Endianness Há diversos sistemas computacionais existentes no mercado. É de extrema importância destacar um ponto de diferenciação entre eles, que são as plataformas e arquiteturas.

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

Introdução à Programação

Introdução à Programação Introdução à Programação Linguagens de Programação: Ambientes de desenvolvimento Engenharia da Computação Professor: Críston Pereira de Souza Web: www.univasf.edu.br/~criston.souza/algoritmos.html email:

Leia mais

CISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com

Leia mais

Análise Comparativa de Desempenho do Hipervisor Xen: Paravirtualização versus Virtualização Total

Análise Comparativa de Desempenho do Hipervisor Xen: Paravirtualização versus Virtualização Total de Desempenho do Hipervisor Xen: Paravirtualização versus Total Andrea Schwertner Charão e Ronaldo Canofre M. dos Santos LSC - Laboratório de Sistemas de Computação Curso de Ciência da Computação UFSM

Leia mais

Desenvolvimento em Linux. Conceitos básico sobre Desenvolvimento na plataforma Linux. CEFET-PE 19/10/2006

Desenvolvimento em Linux. Conceitos básico sobre Desenvolvimento na plataforma Linux. CEFET-PE 19/10/2006 Conceitos básico sobre Desenvolvimento na plataforma Linux. CEFET-PE 19/10/2006 Agenda Os Primeiros Passos Ferramentas Compiladores Linguagens Ambiente de Desenvolvimento DEMO Quais os primeiros passos?

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

Virtualização: VMWare e Xen

Virtualização: VMWare e Xen Virtualização: VMWare e Xen Diogo Menezes Ferrazani Mattos Professor: Otto Carlos Disciplina: Redes I Universidade Federal do Rio de Janeiro POLI/COPPE 1 Introdução Virtualização Divisão da máquina física

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

Departamento de Tecnologia da Informação

Departamento de Tecnologia da Informação Xen - O case de virtualização da Alergs XIII Enial - Brasília Novembro/2010 DTI Superintendência Administrativa e Financeira Assembleia Legislativa do RS Tópicos abordados: A infraestrutura de TI Alergs

Leia mais

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega Android Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega Universidade Federal de Santa Catarina November 18, 2008 Agenda 1 Introdução 2 Dalvik 3 Linux 2.6 Introdução

Leia mais

Java Básico. Aula 1 por Thalles Cezar

Java Básico. Aula 1 por Thalles Cezar + Java Básico Aula 1 por Thalles Cezar + Histórico Green Project (1991) Desenvolver plataforma para eletrodomésticos inteligentes Tentaram usar C++ Mas resolveram desenvolver uma linguagem própria Oak

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de ção I Curso de Sistemas de Informação Karla Donato Fook karladf@ifmaedubr DESU / DAI 2015 O que é um programa de computador? 2 1 de computador E_1 E_n Resultado Entrada(s) Processamento Saída(s)

Leia mais

Introdução a Computação

Introdução a Computação Sistemas Operacionais: Software Oculto Introdução a Computação Sistemas Operacionais Serve como um intermediário entre o hardware e os softwares aplicativos. Sistema Operacional Software de sistemas Kernel

Leia mais

Prof. Dr. Charlie Antoni Miquelin BÁSICO DE COMPUTAÇÃO EM TC

Prof. Dr. Charlie Antoni Miquelin BÁSICO DE COMPUTAÇÃO EM TC BÁSICO DE COMPUTAÇÃO EM TC Definições O computador digital é uma máquina capaz de receber informações, processá-las e devolver resultados. Estes resultados podem ser mostrados em um monitor, armazenados,

Leia mais

Agenda do Mini-Curso. Sérgio Yoshio Fujii. Ethan Boardman. sergio.fujii@areva-td.com. ethan.boardman@areva-td.com

Agenda do Mini-Curso. Sérgio Yoshio Fujii. Ethan Boardman. sergio.fujii@areva-td.com. ethan.boardman@areva-td.com Agenda do Mini-Curso Sérgio Yoshio Fujii sergio.fujii@areva-td.com Ethan Boardman ethan.boardman@areva-td.com Agenda do Mini-Curso Evolução de sistemas SCADA/EMS nos Centros de Controle: Sistemas operacionais

Leia mais

Java de missão crítica. Um artigo técnico da Oracle

Java de missão crítica. Um artigo técnico da Oracle Java de missão crítica Um artigo técnico da Oracle Java de missão crítica A família de produtos Oracle JRockit é um portfólio abrangente de soluções de tempo de execução de Java que aproveita a JVM básica

Leia mais

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão Máquinas Virtuais Agenda Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão Histórico Mainframe É um computador de grande porte, dedicado

Leia mais

Controle de Versão com GIT

Controle de Versão com GIT Controle de Versão com GIT Túlio Toffolo tulio@toffolo.com.br http://www.toffolo.com.br Conteúdo Extra Algoritmos e Estruturas de Dados História do GIT Linus usa BitKeeper para gerenciar o código de suas

Leia mais

3. O NIVEL DA LINGUAGEM DE MONTAGEM

3. O NIVEL DA LINGUAGEM DE MONTAGEM 3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também

Leia mais

Software Básico (INF1018)

Software Básico (INF1018) Software Básico (INF1018) http://www.inf.puc-rio.br/~inf1018 Noemi Rodriguez (noemi@inf.puc-rio.br) Ana Lúcia de Moura (amoura@inf.puc-rio.br) 1 Objetivo do curso Entender como funciona um computador típico,

Leia mais

A Academia Brasileira de Letras diz que este verbete não existe.

A Academia Brasileira de Letras diz que este verbete não existe. Virtualização Virtualização? A Academia Brasileira de Letras diz que este verbete não existe. Virtual: Segundo o Dicionário da Língua Portuguesa, significa: adj (lat virtuale) 1- Que não existe como realidade,

Leia mais

Introdução a Computação Móvel

Introdução a Computação Móvel Introdução a Computação Móvel Computação Móvel Prof. Me. Adauto Mendes adauto.inatel@gmail.com Histórico Em 1947 alguns engenheiros resolveram mudar o rumo da história da telefonia. Pensando em uma maneira

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Arquitetura de Computadores Definições... a estrutura de um computador que um programador de código máquina tem de entender para escrever corretamente um programa para essa

Leia mais

GINGA - Software Livre para TV Digital Brasileira

GINGA - Software Livre para TV Digital Brasileira 1 of 6 23/6/2010 22:40 GINGA - Software Livre para TV Digital Brasileira Autor: Paulo Roberto Junior - WoLF Data: 13/04/2009 O que é GINGA Posso falar com minhas próprias indagações

Leia mais

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores Máquinas Virtuais e Emuladores Marcos Aurelio Pchek Laureano Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware sistema operacional aplicações Sistemas

Leia mais

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura Dispositivos móveis e o mercado Mercado cresce a cada ano Muitos recursos Múltiplas plataforma Symbian

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 1 Linguagens de Programação Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto

Leia mais

Virtualização Gerencia de Redes Redes de Computadores II

Virtualização Gerencia de Redes Redes de Computadores II Virtualização Gerencia de Redes Redes de Computadores II *Créditos: baseado no material do Prof. Eduardo Zagari Virtualização - Introdução Introduzido nos anos 60 em Mainframes Em 1980 os microcomputadores

Leia mais

FIREBIRD: UMA ANÁLISE DE PERFORMANCE

FIREBIRD: UMA ANÁLISE DE PERFORMANCE FIREBIRD: UMA ANÁLISE DE PERFORMANCE Tiago Gomes Fagundes 1, Renato Stocco Bonatto 2, Leacir Nogueira Bastos 3, Brauliro Gonçalves Leal 4 RESUMO: Avaliou-se a performance do gerenciador de banco de dados

Leia mais

Princípios de TI - Computadores. Sistema Operacional. CECOMP Colegiado de Engenharia da Computação. Prof. Fábio Nelson. Slide 1

Princípios de TI - Computadores. Sistema Operacional. CECOMP Colegiado de Engenharia da Computação. Prof. Fábio Nelson. Slide 1 Sistema Operacional Slide 1 Sistema Operacional Um conjunto de programas que se situa entre os softwares aplicativos e o hardware: Gerencia os recursos do computador (CPU, dispositivos periféricos). Estabelece

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias Visão Geral da Arquitetura de Computadores Prof. Elthon Scariel Dias O que é Arquitetura de Computadores? Há várias definições para o termo arquitetura de computadores : É a estrutura e comportamento de

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 03 Conceitos de Hardware e Software parte 02. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 03 Conceitos de Hardware e Software parte 02. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 03 Conceitos de Hardware e Software parte 02 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed.

Leia mais

Introdução aos Sistemas da InformaçãoAula 4 p. 1

Introdução aos Sistemas da InformaçãoAula 4 p. 1 Introdução aos Sistemas da Informação Aula 4 Ivan da Silva Sendin ivansendin@yahoo.com FACOM - Universidade Federal de Uberlândia Introdução aos Sistemas da InformaçãoAula 4 p. 1 Software O que é software?

Leia mais

Geração e Otimização de Código

Geração e Otimização de Código Geração e Otimização de Código Representação de código intermediária Código de três endereços, P-código Técnicas para geração de código Otimização de código Prof. Thiago A. S. Pardo 1 Estrutura geral de

Leia mais

Conceitos sobre Sistemas Operacionais. Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu.

Conceitos sobre Sistemas Operacionais. Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu. Conceitos sobre Sistemas Operacionais Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu.br Agenda Retrospectiva da aula anterior Processo de Boot do SO Diversidade

Leia mais

Conjunto de Instruções e Arquitectura p.1

Conjunto de Instruções e Arquitectura p.1 Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC UNIVERSIDADE FEDERAL DE SANTA CATARINA DANIEL CARLOS CASAROTTO JOSE OTÁVIO CARLOMAGNO FILHO MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC Florianópolis, 2004 DANIEL CARLOS

Leia mais

Aula 26: Arquiteturas RISC vs. CISC

Aula 26: Arquiteturas RISC vs. CISC Aula 26: Arquiteturas RISC vs CISC Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Arquiteturas RISC vs CISC FAC 1 / 33 Revisão Diego Passos

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade II - Threads 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Threads Processos Threads Conceituação Descrição e Imagem de uma Thread Tipos de thread

Leia mais

MATA49 Programação de Software Básico

MATA49 Programação de Software Básico MATA49 Programação de Software Básico Leandro Andrade leandrojsadcc.ufba.br PROF. LEANDRO ANDRADE 1 Planejamento Avaliação Uma prova Dois trabalhos práticos Média Final = (P1 + T1 + T2) / 3 Provável

Leia mais

COMPILADORES E INTERPRETADORES

COMPILADORES E INTERPRETADORES Aula 16 Arquitetura de Computadores 12/11/2007 Universidade do Contestado UnC/Mafra Curso Sistemas de Informação Prof. Carlos Guerber COMPILADORES E INTERPRETADORES Um compilador transforma o código fonte

Leia mais

Implementação de Soluções de VDI assentes em Plataforma de virtualização Open Source

Implementação de Soluções de VDI assentes em Plataforma de virtualização Open Source Implementação de Soluções de VDI assentes em Plataforma de virtualização Open Source Sumário VDI: Porquê? VDI: Como? Porque já não consigo viver sem VDI? Conclusões VDI: Porquê? Redução dos custos de manutenção/administração

Leia mais

Programação em Memória Compartilhada com OpenMP

Programação em Memória Compartilhada com OpenMP Programação em Memória Compartilhada com OpenMP Esbel Tomás Valero Orellana Bacharelado em Ciência da Computação Departamento de Ciências Exatas e Tecnológicas Universidade Estadual de Santa Cruz evalero@uesc.br

Leia mais

Esse documento está licenciado pela licença Creative Commons Atribuição-Uso Não-Comercial-Compatilhamento pela mesma licença 3.0.

Esse documento está licenciado pela licença Creative Commons Atribuição-Uso Não-Comercial-Compatilhamento pela mesma licença 3.0. Esse documento está licenciado pela licença Creative Commons Atribuição-Uso Não-Comercial-Compatilhamento pela mesma licença 3.0. Para saber o que você pode fazer ou não com este arquivo, leia este link

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

RISC X CISC - Pipeline

RISC X CISC - Pipeline RISC X CISC - Pipeline IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 25 e 26/30 Prof. Msc. Antonio Carlos Souza Referências

Leia mais

INE651600 Sistemas Operacionais I

INE651600 Sistemas Operacionais I INE651600 Sistemas Operacionais I Thiago Machado Seminário sobre Virtualização de Sistemas Operacionais Virtualização Definição: Permite abstrair os recursos de hardware que uma máquina possui. Criando

Leia mais

Universidade Federal de Goiás. Alexandre Ferreira de Melo CERCOMP / UFG

Universidade Federal de Goiás. Alexandre Ferreira de Melo CERCOMP / UFG Universidade Federal de Goiás Ubuntu Desktop Alexandre Ferreira de Melo CERCOMP / UFG Conpeex / 2010 Agenda Introdução Conceitos Categorias de Software História do Linux Arquitetura do Linux Ubuntu Projeto

Leia mais

Monitoramento Open source com Zabbix Giovanni Oliveira Renato Resende

Monitoramento Open source com Zabbix Giovanni Oliveira Renato Resende Monitoramento Open source com Zabbix Giovanni Oliveira Renato Resende Apresentação dos palestrantes Tópicos Gerenciamento de redes O que é Zabbix Porque escolher o Zabbix Principais recursos Dicas de instalação

Leia mais

Trabalho Prático Nº2 Escrita e Leitura em Portos IO

Trabalho Prático Nº2 Escrita e Leitura em Portos IO Trabalho Prático Nº2 Escrita e Leitura em Portos IO 1. OBJECTIVOS - Saber efectuar a escrita e leitura em portos de entrada saída num PC num com operativo DOS e Windows. 2. INTRODUÇÃO Para este trabalho

Leia mais

INOVANDO CARREIRAS COM LINUX

INOVANDO CARREIRAS COM LINUX INOVANDO CARREIRAS COM LINUX Meu nome: Nome de guerra: Meu e-mail: Marcos Vinicios Bueno Marques Professor Cidão marcos@cidao.com.br Quem sou? Professor e coordenador de cursos de TI do Senac Informática

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

01/04/2012. Voltar. Voltar

01/04/2012. Voltar. Voltar Introdução à Informática Capítulo 3 Sistemas Operacionais: Software em Segundo Plano Objetivos Descrever as funções de um sistema operacional. Explicar os fundamentos do sistema operacional de um computador.

Leia mais

Introdução ao Processador CELL BE

Introdução ao Processador CELL BE 1 Introdução ao Processador CELL BE por: José Ricardo de Oliveira Damico 17 / Maio / 2007 São Paulo SP 2 SUMÁRIO LISTA DE FIGURAS 3 RESUMO 4 1.) INTRODUÇÃO 5 1.1) O que é? 5 2.) Utilização 5 3.) FUNCIONAMENTO

Leia mais

Deivide Possamai e Fernando Fernandes

Deivide Possamai e Fernando Fernandes Deivide Possamai e Fernando Fernandes Introdução o o Baixa Visão Amplificação Digital Motivação xlupa embarcado Desafios de Implementação Otimização do tempo de processamento do frame via mudança de fluxo

Leia mais

ANDRE KUSUMOTO VIRTUALIZAÇÃO

ANDRE KUSUMOTO VIRTUALIZAÇÃO ANDRE KUSUMOTO VIRTUALIZAÇÃO OBJETIVO Objetivo do deste trabalho é o autoaprendizado e a disseminação do conhecimento empregado no conceito de virtualização. Assim como a demostração de seu uso em conjunto

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Aula 04: Sistema Operacional Material Didático do Livro: Introdução à Informática Capron,, H. L. e Johnson, J. A Pearson Education Sistemas Operacionais: Software Oculto Serve

Leia mais

PROFESSOR ÉVERSON MATIAS DE MORAIS SISTEMAS OPERACIONAIS. Sistemas operacionais (so) Roteiro

PROFESSOR ÉVERSON MATIAS DE MORAIS SISTEMAS OPERACIONAIS. Sistemas operacionais (so) Roteiro PROFESSOR ÉVERSON MATIAS DE MORAIS Graduação em Processamento de Dados Especialização em Ciência da Computação Mestrado em Ciência da Computação SISTEMAS OPERACIONAIS Aula 1 Sistemas operacionais (so)

Leia mais

Arquitetura e Organização de Computadores Aula 5 Consolidando Conhecimentos de Desempenho e Resumindo Prof. Julio Saraçol

Arquitetura e Organização de Computadores Aula 5 Consolidando Conhecimentos de Desempenho e Resumindo Prof. Julio Saraçol Universidade Federal do Pampa Campus-Bagé Arquitetura e Organização de Computadores Aula 5 Consolidando Conhecimentos de Desempenho e Resumindo Prof. Julio Saraçol juliosaracol@gmail.com Slide1 AULA 5:

Leia mais

Linux. Guia do Administrador do Sistema. Rubem E. Ferreira. Novatec Editora Ltda. www.novateceditora.com.br

Linux. Guia do Administrador do Sistema. Rubem E. Ferreira. Novatec Editora Ltda. www.novateceditora.com.br Linux Guia do Administrador do Sistema Rubem E. Ferreira Novatec Editora Ltda. www.novateceditora.com.br 1 O início de tudo Entre os vários sistemas operacionais existentes, o Unix é um exemplo de maturidade

Leia mais

Comparativo de desempenho do Pervasive PSQL v11

Comparativo de desempenho do Pervasive PSQL v11 Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive

Leia mais

Arquitetura e Programação de GPU. Leandro Zanotto RA: 001962 Anselmo Ferreira RA: 023169 Marcelo Matsumoto RA: 085973

Arquitetura e Programação de GPU. Leandro Zanotto RA: 001962 Anselmo Ferreira RA: 023169 Marcelo Matsumoto RA: 085973 Arquitetura e Programação de GPU Leandro Zanotto RA: 001962 Anselmo Ferreira RA: 023169 Marcelo Matsumoto RA: 085973 Agenda Primeiras Placas de Vídeo Primeira GPU Arquitetura da GPU NVIDIA Arquitetura

Leia mais

Prof. Jefferson Costa www.jeffersoncosta.com.br

Prof. Jefferson Costa www.jeffersoncosta.com.br O que é Linux? Open Source (software Livre) é a mesma coisa que Software Gratuito? Quem é melhor? Qual é mais seguro? Encontramos muitas diferenças entre as distribuições de Linux? Posso desinstalar o

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais

Leia mais

Software Livre. Carlos José Pereira carlao2005@gmail.com

Software Livre. Carlos José Pereira carlao2005@gmail.com Software Livre Carlos José Pereira carlao2005@gmail.com Professor Ens. Bas. Tecnológico - IFSP - São Carlos, SP Doutor em Geografia - UNESP - Rio Claro, SP http://creativecommons.org/licenses/by-nc-sa/2.5/br/

Leia mais

UTILIZAÇÃO DAS EXTENSÕES MULTIMÍDIA DOS PROCESSADORES INTEL PARA REDUÇÃO DO NÚMERO DE CICLOS PARA A EXECUÇÃO DE PROGRAMAS

UTILIZAÇÃO DAS EXTENSÕES MULTIMÍDIA DOS PROCESSADORES INTEL PARA REDUÇÃO DO NÚMERO DE CICLOS PARA A EXECUÇÃO DE PROGRAMAS UTILIZAÇÃO DAS EXTENSÕES MULTIMÍDIA DOS PROCESSADORES INTEL PARA REDUÇÃO DO NÚMERO DE CICLOS PARA A EXECUÇÃO DE PROGRAMAS RESUMO: A utilização das extensões multimídias com registradores que realizam a

Leia mais

Virtualização de Sistemas Operacionais

Virtualização de Sistemas Operacionais Virtualização de Sistemas Operacionais Felipe Antonio de Sousa 1, Júlio César Pereira 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipeantoniodesousa@gmail.com, juliocesarp@unipar.br Resumo.

Leia mais

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. About Eugenio Chleba Product Sales Specialist - PM (11) 5189-1211 (11) 96060-2687 eugenio.chleba@oracle.com Experience Skills Products

Leia mais

A Evolução dos Sistemas Operacionais

A Evolução dos Sistemas Operacionais Capítulo 3 A Evolução dos Sistemas Operacionais Neste capítulo, continuaremos a tratar dos conceitos básicos com a intensão de construirmos, agora em um nível mais elevado de abstração, o entendimento

Leia mais

C3SL - Centro de Computação Científica e Software Livre. Estudo sobre Android

C3SL - Centro de Computação Científica e Software Livre. Estudo sobre Android C3SL - Centro de Computação Científica e Software Livre Estudo sobre Android Relatório que apraaesenta o estudo realizado pelo C3SL analisando os aspectos gerais do Android e de outros sistemas similares

Leia mais

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas ATIVIDADE 1 MÁQUINAS VIRTUAIS Existem hoje diversas tecnologias e produtos para virtualização de computadores e ambientes de execução, o que pode gerar uma certa confusão de conceitos. Apesar disso, cada

Leia mais

Capítulo 1 Introdução

Capítulo 1 Introdução Capítulo 1 Introdução Programa: Seqüência de instruções descrevendo como executar uma determinada tarefa. Computador: Conjunto do hardware + Software Os circuitos eletrônicos de um determinado computador

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

FundamentosemInformática

FundamentosemInformática FundamentosemInformática 04 Software Conteúdo Conceito de Software Classificação de Softwares Conceito de Sistema Operacional(S.O.) FunçõesBásicasdeumS.O. um Arquivos Atributos Diretórios 1 -Conceitos

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

Programação Avançada em Linux

Programação Avançada em Linux Programação Avançada em Linux Gleicon da Silveira Moraes Novatec Editora Capítulo 1 Características do Linux Neste capítulo são descritos detalhes e características do sistema operacional GNU/Linux importantes

Leia mais

RSB Firewall Language Linguagem de Programação Para Segurança de Redes

RSB Firewall Language Linguagem de Programação Para Segurança de Redes RSB Firewall Language Linguagem de Programação Para Segurança de Redes Roberth Souza Belter Centro Tecnológico Universidade Federal de Santa Catarina (UFSC) Florianópolis SC Brasil roberth@inf.ufsc.br

Leia mais

SOFTWARE LIVRE. Fábio Rodrigo Barby Informática - IFPR

SOFTWARE LIVRE. Fábio Rodrigo Barby Informática - IFPR SOFTWARE LIVRE Fábio Rodrigo Barby Informática - IFPR Software Livre x Software Proprietário Software Proprietário O que é? Copyright; Cópia é proibida; Redistribuição é proibida; Modificação é proibida;

Leia mais

Linux pra mim, Linux pra você!

Linux pra mim, Linux pra você! Linux pra mim, Linux pra você! Almir Mendes de Araújo Analista de Sistemas - Certificado LPIC-1 Membro Organizador do PHP-ES Membro ativo do Linux-ES almir@almirmendes.net www.almirmendes.net 2 Objetivos

Leia mais

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br Introdução a Computação 07 Sistemas operacionais Márcio Daniel Puntel marcio.puntel@ulbra.edu.br O que é? Pra que serve? Onde se usa? Como funciona? O que é? Uma coleção de programas Inicia e usa do HW

Leia mais

LEI Sistemas de Computação 2014/15. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença

LEI Sistemas de Computação 2014/15. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença LEI Sistemas de Computação 2014/15 Níveis de Abstração TPC4 e Guião laboratorial Luís Paulo Santos e Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------

Leia mais

Go para programação paralela

Go para programação paralela Go para programação paralela SECOMP Alexandre Medeiros alexandre.n.medeiros@gmail.com Instituto de Computação Universidade Estadual de Campinas 14 de agosto de 2014 Uma versão mais completa desses slides

Leia mais

Unidade 14: Arquiteturas CISC e RISC Prof. Daniel Caetano

Unidade 14: Arquiteturas CISC e RISC Prof. Daniel Caetano Arquitetura e Organização de Computadores 1 Unidade 14: Arquiteturas CISC e RISC Prof. Daniel Caetano Objetivo: Apresentar os conceitos das arquiteturas CISC e RISC, confrontando seus desempenhos. Bibliografia:

Leia mais

Infra-Estrutura de Software. Introdução

Infra-Estrutura de Software. Introdução Infra-Estrutura de Software Introdução Aula Extra Assembly! NASM 32bits e 16bits (para uso no projeto do bootloader) quinta-feira, dia 18/08, 17h no Anfiteatro 2 Computador Moderno Componentes físicos

Leia mais