Nome da Disciplina
PROGRAMAÇÃO DE SISTEMAS
CÓDIGO
22000237
Carga Horária
60 horas
Atividade Complementar
Não
Periodicidade
Semestral
Unidade responsável
CRÉDITOS
4
CARGA HORÁRIA TEÓRICA
2
CARGA HORÁRIA PRÁTICA
2
CARGA HORÁRIA OBRIGATÓRIA
4
FREQUÊNCIA APROVAÇÃO
75%

Ementa

Fundamentos da tradução de programas. Construção de montadores e macromontadores. Construção de ligadores ecarregadores de programas.

Objetivos

Objetivo Geral:

A disciplina visa proporcionar ao aluno uma introdução teórico-prática aos sistemas de programação. São objetivos específicos da disciplina, colocar os alunos em contato direto com os recursos elementares de programação de baixo nível, associados à construção de componentes básicos em sistemas de programação de computadores, tratando aspectos elementares da tradução de programas como as linguagens de montagem, a ligação de módulos, bem como a carga e a execução de programas. A disciplina também visa exercitar o estudante na utilização da linguagem de programação C para a construção de módulos básicos de sistemas de
programação.

Conteúdo Programático

1. Introdução
• Linguagens fonte, tradução de linguagens de programação e seus mecanismos
• Tipos de tradutores
• Principais funções dos tradutores e generalidades sobre suas implementações
2. Linguagens Mnemônicas e Construção de Montadores
• Características das linguagens mnemônicas ou de montagem
• Exemplos de programação em linguagem mnemônica
• Montadores de uma passagem e montadores de duas passagens
• Principais funções de um montador (assembler)
• Implementação de um montador para uma máquina hipotética
3. Processador de Macros
• Considerações sobre subprogramas e macros: conceitos, comparações, bibliotecas, definição e expansão de macros,
parâmetros e marcadores sintáticos
• Exemplos de uso de macros em linguagem mnemônica (macro assembler)
• Processadores de macros de uma passagem e processadores de macros de duas passagens: principais funções
• Definições aninhadas e chamadas aninhadas
• Implementação de um pré-processador de macros para uma linguagem mnemônica hipotética
4. Ligadores e Carregadores
• Considerações e conceitos sobre as funções da compilação à execução: relocação de endereços, ligação de módulos,
tratamento de bibliotecas, alocação de memória, carga do programa
• Carregadores: tipos e funções
• Ligadores: tipos, funções, tabelas de símbolos associadas, vetor de transferência
• Implementação de um ligador e um carregador para uma máquina hipotética

Bibliografia

Bibliografia Básica:

  • AHO, Alfred V., SETHI, Ravi, ULLMAN JEFFREY D. Compilers: principles, techniques, and tools. Reading: Addison-Wesley,1988. 796 p. ISBN 0201100886
  • PITTMAN, Thomas, PETERS, James. The art of compiler design: theory and practice. Englewood Cliffs: Prentice Hall, 1992.420 p. ISBN 0130481904
  • HANLY, Jeri R. Essential C++ for engineers and scientists. 2. ed. Boston: Addison Wesley, 2002. 534 p. ISBN 0201741253

Bibliografia Complementar:

  • PRICE, Ana Maria de Alencar, TOSCANI, Simao Sirineo. Implementação de linguagens de programação. Porto Alegre: UFRGS.Instituto de Informática, 2001. 195 p. (Série Livros Didáticos. n.9) ISBN 8524106395
  • CALINGAERT, Peter. Assemblers, compilers, and Program translation. Potomac: Computer Science, 1979. 270 p. (Computersoftware engineering series) ISBN 0914894234
  • JOSÉ NETO, João. Introducão à compilação. Rio de Janeiro: LTC, 1987. 222 p. ISBN 8521604831
  • HENDRIX, James E. A small C compiler. 2. ed. Redwood City: M&T Books, 1990. 628 p. ISBN 0934375887
  • LEWIS, Philip M. II, ROSENKRANTZ, Daniel J. Stearns, Richard E. Compiler design theory. Reading: Addison-Wesley, 1978.647 p. (The Systems Programming Series) ISBN 0201144557

Turmas Ofertadas

Turma Período Vagas Matriculados Curso / Horários Professores
M1 2020 / 1 44 43 Ciência da Computação (Bacharelado)
Engenharia de Computação (Bacharelado)
Horários
ManhãTardeNoite
SEG08:00 - 08:50
08:50 - 09:40
SEX10:00 - 10:50
10:50 - 11:40
ANDERSON PRIEBE FERRUGEM
Professor responsável pela turma

Disciplinas Equivalentes

Disciplina Curso
PROJETOS EM COMPUTAÇÃO I Ciência da Computação (Bacharelado)
PROGRAMAÇÃO DE SISTEMAS Engenharia de Computação (Bacharelado)

Página gerada em 14/08/2020 10:59:49 (consulta levou 0.175996s)