ICC - Aula 13 Compiladores, Linguagens e Software



Documentos relacionados
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

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

Infra-Estrutura de TI: Hardware e Software

UFG - Instituto de Informática

Introdução à Linguagem Java

Introdução às Linguagens de Programação

Linguagem de Programação Introdução a Linguagem Java

O Hardware e o Software do Computador

FundamentosemInformática

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

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

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Curso de Aprendizado Industrial Desenvolvedor WEB

Introdução à Sistemas Operacionais. Glauber Magalhães Pires

Unidade IV ADMINISTRAÇÃO DE. Prof. Luiz Fernando

Introdução a Computação

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

WebApps em Java com uso de Frameworks

Disciplina: Introdução à informática Profª Érica Barcelos

3 Revisão de Software

Cursos de Computação. Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 01 - História e Funções dos Sistemas Operacionais

Programação Orientada a Objetos

Linguagens de Programação. Introdução. Carlos Bazilio

Sistemas de Informações Gerenciais

Curso Técnico em Informática Organização Curricular. A carga horária total dos módulos é oferecida conforme quadro síntese abaixo:

Algoritmos e Linguagem de Programação I

Parte II Introdução à Informática. O Computador e o Software

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

4 Estrutura do Sistema Operacional Kernel

Orientação a Objetos com Java

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Máquinas Multiníveis

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

UFG - Instituto de Informática

IIH Introdução à Informática e Hardware

COMPILADORES E INTERPRETADORES

Sistemas Distribuídos

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

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

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

Sistemas Operacionais Introdução. Professora: Michelle Nery

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos

Sobre C. Linguagem de Programação C

Sistemas Operacionais

Introdução. Sistemas Operacionais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Prof.: Roberto Franciscatto. Capítulo 1 Introdução

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Sistemas Operacionais

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

PROGRAMAÇÃO JAVA. Parte 1

INTRODUÇÃO À LINGUAGEM C/C++

Modelos de Arquiteturas. Prof. Andrêza Leite

Figura 01 Kernel de um Sistema Operacional

Everson Scherrer Borges João Paulo de Brito Gonçalves

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com

ALP Algoritmos e Programação. . Linguagens para Computadores

Banco de Dados I. Introdução. Fabricio Breve

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Sistemas Distribuídos

Sistemas Operacionais. Professor Leslier Soares Corrêa

SISTEMAS OPERACIONAIS

Construção de Compiladores. Construção de Compiladores. Motivação. Motivação. Contexto Histórico. Classificações: Gerações 09/03/2010

Sistemas Operacionais II. Prof. Gleison Batista de Sousa

Edeyson Andrade Gomes.

Informática - Prof. Frank Mattos

Edeyson Andrade Gomes

Sistemas Distribuídos

Fundamentos de Sistemas Operacionais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Programação de Computadores - I. Profª Beatriz Profº Israel

Introdução ao Modelos de Duas Camadas Cliente Servidor

SISTEMA GERENCIADOR DE BANCO DE DADOS

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

FBV - Linguagem de Programação II. Um pouco sobre Java

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Programação de Computadores II TCC Turma A-1

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Sistemas Operacionais

Rede de Computadores (REC)

AULA 3 Introdução ao Software

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AOS SISTEMAS OPERACIONAIS. Prof. Dr. Daniel Caetano

2. Conceitos e Arquitetura de Bancos de Dados

Introdução a Sistemas Operacionais Aula 04. Prof. Msc. Ubirajara Junior biraifba@gmail.com

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

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

Programação de Computadores

Conceitos Básicos sobre Sistemas Operacionais

Breve Histórico & Conceitos Básicos

PROGRAMA DE DISCIPLINA

Transcrição:

ICC - Aula Compiladores, e January 9, 05 ICC - Aula Compiladores, e

enquanto ( x <0) x=x+... Tradução manual 0 x0 0 x f f 0 x0 0 xab 0 x9 0 xcc... ICC - Aula Compiladores, e

movl $5, 8(%rbp ) movl $, 4(%rbp ) jmp. L. L : movl 4(%rbp ), %eax i m u l l 8(%rbp ), %eax movl %eax, 4(%rbp ) s u b l $, 8(%rbp ). L : cmpl $0, 8(%rbp ) j g. L popq %rbp Tradutores ICC - Aula Compiladores, e

Cartões perfurados Difícil programar difícil manter Específico para um computador ( sem portabilidade ) Rotinas ICC - Aula Compiladores, e

Era necessário alguma coisa melhor que o Assembly de Programação ( Formais) Mais rigidas ICC - Aula Compiladores, e

Compiladores Compilação transforma uma arquivo em uma linguagem em um outro arquivo em outra linguagem Esta outra linguagem pode ser Assembly Compiladoes para linguagens de máquina diferentes Portabilidade ICC - Aula Compiladores, e

primeiro.asm primeiro.c ICC - Aula Compiladores, e

Interpretadores em tempo de execução Máquina Virtual bytecode Maior portabilidade Compilação just-in-time ICC - Aula Compiladores, e

Maquina Virtual meuprimero.py primeiro.pyc Primergy Maquina Virtual ICC - Aula Compiladores, e

Ninguem é uma ilha... Independente de compilação/interpretação, existem as bibliotecas Conjunto de tarefas similares são armazenaas em bibliotecas Eficientes e seguras(?) Um programa complexo geralmente é composto por várias biliotecas ICC - Aula Compiladores, e

Paradigmas Imperativas Declarativas: programação logica Funcional Orientada a Objetos: encapsulamento/abstração e reuso ICC - Aula Compiladores, e

Uma vez compilado, o software pode ser usado por um ser humano normal...as pessoas não querem (nem precisam) aprender computação para usar um computador Com a popularização do computador houve o nascimento da industria do software ICC - Aula Compiladores, e

Lotus --: primeira killer app planilha: permite ao contadore/gerente fazer balanço, calcular custos, etc, sem conhecer uma linguagem de programação processador de texto banco de dados Demorou para usar interface grafica 980 a 0 ICC - Aula Compiladores, e

A solução de banco de dados do Lotus -- não é robusta Sistema Gerenciador de Banco de Dados Solução corporativa Banco de dados relacional Tabelas e relações Por exemplo, a tabela de funcionarios contem as informações sobre os funcionarios de uma empresa (com uma ficha ) A tabela Setor armazena as informações sobre um determinado setor da empresa A tabela Lotado em relaciona os funcionarios que trabalham em cada setor ICC - Aula Compiladores, e

Um banco de dados é um bom exemplo de arquitetura cliente-servidor. Primergy ICC - Aula Compiladores, e

Um copmutador servidor atende a inumeros clientes Lógica e dados em um unico lugar $ facilidade de manutenção O servidor pode ser cliente de alguem (n-camadas) ICC - Aula Compiladores, e

Um navegador (chrome, firefox,...) é outro sistema cliente-servidor Serviços e informações são acessadas remotamente Mensagem mande a pagina xyz A servidor deve ser um computador muito rapido para servir milhares de paginas... ainfraestrutura de rede também deve ser rápida ICC - Aula Compiladores, e

PP peer to peer (PP) os elementos são pares não existe servidor diminuição de custo Direitos autorais privacidade ICC - Aula Compiladores, e

4 5 ICC - Aula Compiladores, e

4 5 ICC - Aula Compiladores, e

4 5 ICC - Aula Compiladores, e

4 4 5 ICC - Aula Compiladores, e

4 4 4 5 5 4 5 ICC - Aula Compiladores, e

4 5 4 5 4 5 4 5 4 5 ICC - Aula Compiladores, e