Software Básico - 98.2
-
Introdução - Hierarquia de abstrações em um computador:
Hardware, Linguagem de Máquina, Sistema Operacional,
Linguagens de Alto Nível, Aplicativos.
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.
-
Arquitetura Clássica: CPU, memória principal, memória secundária,
dispositivos de Entrada/Saída.
-
Memória principal: bits e bytes; palavras e endereçamento.
Armazenamento e Representação de tipos básicos:
- base binária, inteiros, magnitude-sinal, complemento a dois,
excesso-K. Operações básicas. Overflow.
- caracteres: código ASCII, código ISO, outros códigos.
- strings.
- ponto flutuante: o padrão IEEE.
- instruções e endereços.
Exercícios.
-
CPU: ciclo de execução. Registradores (PC, Flags, SP).
Conjunto típico de instruções:
- transferência de dados: modos de endereçamento, alinhamento
- aritméticas
- lógicas
- condições e saltos
- pilha e chamadas
- Entrada/Saída
- Interrupções; tipos de interrupções: instrução explícita,
erros de execução (traps), e geradas pelo hardware (assíncronas).
-
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.
-
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.
-
Modelo de Execução de Uma Linguagem de Alto Nível (C)
Implementação de instruções:
- expressões aritméticas (uso de temporários/registradores)
- atribuição
- loops e condicionais
Implementação de arrays e registros; ``padding";
arrays e registros aninhados; cálculo de tamanho e código de endereçamento.
-
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.
-
``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.
-
Discos: rotinas básicas (nível BIOS), blocos.
Leitura, escrita, e endereçamento de blocos.
-
Gerência de discos: papel do Sistema de Arquivos.
Nomes e Diretórios.
Serviços básicos oferecidos por um Sistema de Arquivos.
Exercícios/Trabalhos.
This document was generated using the LaTeX2HTML translator Version 96.1-h (September 30, 1996) Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html -split 0 prog.tex.
The translation was initiated by Noemi Rodriguez on Sun Aug 30 10:49:56 EST 1998
Noemi Rodriguez
Sun Aug 30 10:49:56 EST 1998