Software Básico - 99.2

Programa

Objetivo do Curso: Entender em profundidade como funciona um computador típico, como visto pelo nível de Linguagem de Montagem e pela Linguagem de Máquina.

  1. Introdução - Hierarquia de abstrações em um computador: Hardware, Linguagem de Máquina, Sistema Operacional, Linguagens de Alto Nível, Aplicativos.
  2. Linguagem de montagem: Motivação. Labels, mnemônicos, variáveis (estáticas), strings; programa montador. Exemplos e exercícios de pequenos programas em uma linguagem de montagem.
  3. Arquitetura Clássica: CPU, memória principal, memória secundária, dispositivos de Entrada/Saída.
  4. Conjunto típico de instruções:
  5. Modelo de Execução de Uma Linguagem de Alto Nível (C) Implementação de instruções:
  6. Pilha de execução: registro de ativação, suporte a chamadas recursivas. Modelo de Chamadas e passagem de parâmetros. Criação e eliminação de registros de ativação; cadeia dinâmica. Organização de memória: área estática, pilha, heap.
  7. Armazenamento e Representação de tipos básicos:
  8. Visão geral do Sistema Operacional. O Sistema Operacional como uma biblioteca prestadora de serviços. Formas de chamar rotinas do S.O.: chamadas diretas (interrupções, como no DOS) e chamadas via biblioteca convencional (como no UNIX). Entrada e saída via terminal. Gerenciamento de Memória.
  9. ``Link-edição": o problema da (re)locação de um programa. Endereçamento relativo e absoluto. Compilação independente; programa objeto e tabelas de relocação. Funcionamento de um ligador.

    Noemi Rodriguez
    Sun Aug 30 10:49:56 EST 1998