Sistemas de Computação



Documentos relacionados
07-Aug-07. Informações gerais. Interfaces e Periféricos. Avaliação. Material didático. Objetivo. Tópicos principais

Disciplina: Introdução à Arquitetura de Computadores

DISCIPLINA: Arquitetura e Organização de Computadores II 2ECOM.027

Software Básico (INF1018)

PROGRAMA DE DISCIPLINA

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

PROGRAMA DE DISCIPLINA

GOVERNO DO ESTADO DO RIO DE JANEIRO SECRETARIA DE ESTADO DE CIÊNCIA, TECNOLOGIA E INOVAÇÃO FUNDAÇÃO DE APOIO À ESCOLA TÉCNICA

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

MATA49 Programação de Software Básico

Linguagem de Programação I

3 Revisão de Software

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Programa de treinamento online do IBIS / INLAND. Marcos Heil Costa UFV

Sistemas Operacionais

Plano de Ensino de Disciplina Ciência da Computação 2011

Introdução. Sistemas Operacionais

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

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C

3. O NIVEL DA LINGUAGEM DE MONTAGEM

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

ArcGIS 1: Introdução ao GIS (10.2)

Introdução à Engenharia de Computação

Plano de Trabalho Docente Ensino Técnico

Edeyson Andrade Gomes

Plano de Trabalho Docente Ensino Técnico

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

Web site. Objetivos gerais. Introdução. Profa. Patrícia Dockhorn Costa

Introdução à Arquitetura de Computadores

Júlio Arakaki Ítalo S. Vega

PIM. CST em Análise e Desenvolvimento de Sistemas. Projeto Integrado Multidisciplinar. 4º/3º Períodos 2010/2 UNIVERSIDADE PAULISTA CURSO

FundamentosemInformática

O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

UFRPE Prof. Gustavo Callou

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

Exercício de Revisão Linguagem C

Infra-Estrutura de Software. Introdução

PLANO DE AULA 1 AULA. 01. CURSO: Manutenção de Micro CARGA HORÁRIA: 4 Horas/Aula INSTRUTOR: DANILO BONTEMPO DE MELO ARAÚJO

Parceiro Oficial de Treinamentos Proxmox no Brasil

Algoritmos e Linguagem de Programação I

Sistemas Operacionais

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Instalar corretamente as ferramentas necessárias para a criação dos jogos

Plano de Trabalho Docente Ensino Técnico

Sistemas Operacionais

FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva

Estrutura, Processos e Threads

SCO UNIX. conhecida por vender três variantes de Unix para os processadores Intel x86: Xenix, SCO UNIX, e o UnixWare.

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

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal

Plano de Trabalho Docente Ensino Técnico

PHP AULA1. Prof. Msc. Hélio Esperidião

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

Apresentação da disciplina Introdução a Programação

Introdução a Informática. Prof.: Roberto Franciscatto

INF1621 Linguagens de Programação I

Carga horária: 504 horas Unidade Curricular Carga Horária (h) Carga Horária Semanal (h)

INTRODUÇÃO A REDES DE COMPUTADORES (DEFINIÇÕES) Prof. Msc. Hélio Esperidião

Proporcionar uma visão geral da metodologia de Sistemas Operacionais.

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

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

O Processo de Programação

PLANO DE ENSINO. CURSO: Sistemas de Informação PERÍODO LETIVO: SEMESTRE: 4º. C/H SEMANAL Análise, Projeto e Implementação de Sistemas I

Autores/Grupo: TULIO, LUIS, FRANCISCO e JULIANO. Curso: Gestão da Tecnologia da Informação. Professor: ITAIR PEREIRA DA SILVA GESTÃO DE PESSOAS

Capítulo 8. Software de Sistema

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

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Linguagem de Montagem

Sistemas Operacionais Introdução

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

Introdução ao Processamento de Dados (IPD)

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

Noções básicas de Informática: Software

Desenvolvimento Web TCC Turma A-1

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

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

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

Sistemas Distribuídos

UML & Padrões Aula 4 1

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA. Reflexão Criação de páginas para a web em hipertexto

Sistemas Distribuídos

IIH Introdução à Informática e Hardware

1. Apresentação Objetivos

formação em programação em c/c++

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

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

Sistemas Operacionais. Prof. André Y. Kusumoto

da Disciplina Sumário BC Sistemas Operacionais Prof. Marcelo Z. do Nascimento Motivação Apresentação

Fundamentos de Administração de Sistemas

TE11008 Arquitetura e Organização de Computadores Nível da Linguagem de Montagem p. 1

Sistemas Operacionais 1/66

Aspectos técnicos do desenvolvimento baseado em componentes

Sistemas Distribuídos Métodos de Invocação Remota II. Prof. MSc. Hugo Souza

Desenvolvendo Websites com PHP

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

Pré-Requisitos do Software Themis Pré-Requisitos do Software Themis

Transcrição:

Sistemas de Computação Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2007/02 - INF01907

Informações gerais Página web: http://www.inf.ufes.br/~jpalmeida/ensino/2007-02- sistemas-computacao Carga horária semestral total: 60 horas Horário: segunda-feira:13:00-15:00 quinta-feira: 17:00-19:00 Local: CT-IX sala 101

Avaliação Uma prova parcial e um trabalho A média parcial (MP) é calculada por: MP = 0,6*P + 0,4*T, onde: P é a média aritmética da(s) nota(s) da(s) prova(s) parcial(is) e T é a média aritmética da(s) nota(s) do(s) trabalho(s). A média final (MF) será: MF = MP, se MP 7,0 (e houver presença) MF = (PF + MP)/2, se MP < 7,0 (PF é a nota da prova final) Se MF 5,0 -> Aprovado Se MF < 5,0 -> Reprovado

Objetivo Apresentar os conceitos do ciclo de vida básico do software cobrindo as atividades de: (1) compilação (2) montagem (3) ligação (4) carga (com ênfase nas últimas três fases - 2 a 4). Apresentar as técnicas usadas nas várias atividades, incluindo os formatos de arquivos executáveis em diferentes sistemas operacionais (Linux, Windows, DOS) e as várias técnicas de modularização de software em formato binário (através de bibliotecas).

Compilação / Montagem / Ligação / Carga Programa em Ling. de Alto Nível Programa em Ling. de Alto Nível Programa em Ling. de Alto Nível Programa em ling. fonte Compilador Compilador Compilador Tradutor Programa em Ling. de Montagem Programa em Ling. de Montagem Programa em Ling. de Montagem Programa em ling. alvo Montador Montador Montador Objeto: módulo em ling de máquina Objeto: módulo em ling de máquina Objeto: módulo em ling de máquina Ligador Executável: programa em ling de máquina Carregador Memória

Compilação / Montagem / Ligação / Carga driver.c Programa em ling. fonte Compilador Tradutor asm_io.asm calc.asm Programa em ling. alvo Montador Montador Objeto: módulo em ling de máquina Objeto: módulo em ling de máquina Objeto: módulo em ling de máquina Ligador Executável: programa em ling de máquina Carregador Memória

Compilação / Montagem / Ligação / Carga driver.c Compilador printf scanf etc. asm_io.asm Montador first.asm Montador libc.a driver.obj asm_io.obj first.obj Ligador first.exe Carregador Memória

Compilação / Montagem / Ligação / Carga driver.c gcc printf scanf etc. asm_io.asm nasm first.asm nasm libc.a driver.obj asm_io.obj first.obj gcc first.exe SO Memória

Temas principais Modularização Construção de sistemas a partir de módulos de sistemas que podem ser combinados estaticamente e dinamicamente: Em tempo de projeto: Em tempo de pré-processamento Em tempo de compilação Em tempo de montagem Em tempo de ligação Em tempo de carga Em tempo de execução Diferentes unidades de composição

Perguntas a serem respondidas... Como os símbolos (rótulos, variáveis) são mapeados em endereços de memória? E os segmentos.bss,.data,.text? Qual é o formato de um arquivo binário?.com,.exe,.dll, A.OUT, COFF, ELF Como o programa vai parar na memória? Como os vários módulos interagem? Como eles sabem da existência um dos outros? Como módulos são distribuídos, instalados, configurados?

Tópicos a serem abordados (Programa) 1/3 Introdução Ciclo de vida do software: tempo de projeto, tempo de compilação, tempo de montagem, tempo de ligação, tempo de carga, tempo de execução Conceitos de montagem (assembling) e montadores (assemblers) Conceitos de ligação (linking) e ligadores (linkers) Carga (loading) e carregadores (loaders) Relocação

Tópicos a serem abordados (Programa) 2/3 Formatos de arquivos binários (executáveis) Bibliotecas (compartilhadas x não-compartilhadas) (estáticas x dinâmicas) Instalação (deployment), distribuição de software (licenças, pacotes, módulos de sistemas operacionais, dependências)

Tópicos a serem abordados (Programa) 3/3 Máquina Virtual Java Introdução à linguagem Java Compilação Just-in-Time Modularização Formatos:.class,.jar applets, carga dinâmica de classes Bibliotecas remotas com exemplo em Java RMI (Remote Method Invocation) Aspectos de segurança de carga e execução

Abordagem Aulas expositivas Aulas de laboratório

Material didático Seções 7.2, 7.3, 7.4 do livro: Andrew S. Tanenbaum, Organização Estruturada de Computadores, páginas 305-321 XEROX CT-III, pasta Sistemas de Computação Livro texto: John R. Levine, Linkers & Loaders, Morgan Kauffman Publishers, 2006. Este livro contém detalhes de muitas arquiteturas, vamos nos concentrar num subconjunto Texto adicional: Tim Lindholm, Frank Yellin, The Java Virtual Machine Specification, 2nd edition [gratuito online http://java.sun.com/docs/books/jvms/second_edition/html/v MSpecTOC.doc.html ] Tutorial Java RMI: [gratuito online http://java.sun.com/docs/books/tutorial/rmi/index.html ]