Software básico E Aplicativo
Trabalho Escolar: Software básico E Aplicativo. Pesquise 862.000+ trabalhos acadêmicosPor: montenegro88 • 28/3/2015 • 15.430 Palavras (62 Páginas) • 316 Visualizações
Primeira Parte:
1. Softwares Básicos:
1.1. Compiladores
1.2. Montadores
1.3. Ligadores
1.4. Carregadores
2. Formatos de Programas:
2.1. Programa Fonte em alto nível
2.2. Programa Fonte em assembly
2.3. Programas Executáveis (ELF)
2.4. Programas Objeto (ELF)
2.5. Bibliotecas de Programas Objeto
e1. Bibliotecas estáticas
e2. Bibliotecas compartilhadas
e3. Bibliotecas dinâmicas
3. Execução de Programas
3.1 Formato das Instruções
3.2. Uso de memória
3.3. Programas executáveis
3.4. Programas interpretáveis
3.5. Chamadas de Procedimentos
3.6. Chamadas de Sistemas (System calls)
1. Software Básicos
Entende-se como softwares básicos aqueles que convertem o programas
de um formato que subentende execução para um formato mais próximo
ao formato executável compreendido pela máquina. Estes software
(estas ferramentas) são as seguintes:
a) Compiladores: Os compiladores convertem programas que estão no
formato de linguagens de alto nível para formato
objeto. Exemplos de linguagens de alto nível incluem "C",
"Java", "Fortran", "Pascal" entre outros.
b) Montadores: convertem programas em linguagem assembly para
código objeto.
c) Ligadores: Convertem programas que estão em formato objeto para
formato executável.
1.4) Carregadores:
Carregam os arquivos que contém formato executável para a
execução. Para isto ele lê partes dos arquivos objeto e copia
estas partes para a memória.
Um programa fonte deve primeiro ser transformado em linguagem de
máquina para só então ser carregado na memória para
execução. Como o processo de geração do programa em linguagem de
máquina é distinto do processo de carregar este programa na
memória, duas ferramentas distintas são utilizadas. A ferramenta
que gera o arquivo em linguagem de máquina é chamado de ligador,
e o resultado desta ferramenta é um arquivo executável. A
ferramenta que lê este arquivo executável e o carrega na memória
é chamado de carregador.
Existem dois tipos básicos de carregador: carregadores binários
e relocáveis. Os carregadores binários (ou carregadores
absolutos), é o tipo mais simples, e simplesmente copia o
arquivo em formato binário para a memória, de tal forma que o
arquivo executável é simplesmente uma imagem binária do programa
em execução na memória. Um programa que usa carregadores
absolutos é associado com localizações específicas de memória, e
por isso deve sempre ser carregado na mesma área de memória para
ser executado corretamente. Os programa DOS com extensão .com
são exemplos de programas absolutos.
O segundo tipo de carregador é o carregador relocável. Neste
caso, o programa pode ser colocado em qualquer local da memória
para execução. O programa executável relocável é semelhante ao
programa executável absoluto, exceto que:
1) Os endereços são todos relativos a zero (não são absolutos)
2) A informação de quais os endereços relativos devem ser
alterados quando o programa for colocado em execução estão
junto com o arquivo executável.
Os programas DOS com extensão .exe são exemplos de programas
executáveis relocáveis.
Atualmente também existem carregadores que fazem a ligação de
partes do programa em tempo de execução. Estes são chamdos
carregadores ligadores.
Desenho1: O processo de Compilação
1. Programas Fonte
("C", "Fortran, "C++", etc) (Assembly)
|| || || || || || || ||
\/ \/ \/ \/ \/ \/ \/ \/
...