Linguagens Flashcards

1
Q

O que é uma linguagem de programação ?

A

É um método padronizado, formado por um conjunto de regras semânticas e sintáticas de implementação de um código fonte, que dará instruções de processamento ao computador.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quais as diferenças entre linguagens compiladas e linguagens interpretadas ? ( ver pag24, lc vs li)

A

Linguagem compilada:
- Linguagem de programação onde o código fonte é executado diretamente pelo sistema operacional ou pelo processador, após ser traduzido por um programa de computador chamado compilador.
Linguagem interpretada:
- Linguagem de programação em que o código fonte nessa linguagem é executado por um programa de computador chamado interpretador,
que em seguida executado pelo sistema operacional ou processador.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quais as mais eficientes?

A

São as compiladas visto que tem de se referir o input a cada uso, no entanto as interpretadas são as mais adequadas para um desenvolvimento de protótipos mais rápido, já que apenas se refere um input uma vez.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é o código fonte?

A

É um conjunto de palavras/símbolos escritos de forma ordenada, contendo instruções em uma das linguagens de programação existentes, de maneira lógica.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que é o código nativo?

A

É o código executado diretamente pelo computador.

A implementação das funcionalidades e bibliotecas desta linguagem são dependentes da plataforma.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O que é um compilador?

A

É um programa de computador que , a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente, escrito noutra linguagem, código objeto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é o assembly de uma arquitetura?

A

O código assembly é uma representação textual do código binário de um programa escrito num ISA. No fundo uma linguagem de programação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que é um ficheiro objecto?

A

Código resultante da compilação do código fonte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que é um ficheiro binário executável?

A

É um programa de computador que executa as tarefas indicadas de acordo com as instruções, devendo ser interpretado por um sistema operacional como um programa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O que é uma biblioteca?

A

Coleção de subprogramas utilizados no desenvolvimento de software.
As bibliotecas contêm código e dados auxiliares, o que possibilita o compartilhamento e a alteração do código e dados de forma modular.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que entendes por “Portabilidade” ?

A

Capacidade de um programa ser compilado ou executado em diferentes arquiteturas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qual a portabilidade de código fonte e código binário?porquê?

A

O código nativo é menos portável que o código fonte por estar escrito em binário.(resposta do stor pág25)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quais são as linguagens mais portáteis, as compiladas ou as interpretadas? Why?

A

Uma linguagem compilada é mais portátil que uma linguagem interpretada, pois basta compilar uma vez o programa para que esse possa ser executado em qualquer plataforma que possua a respetiva máquina virtual.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quais são as 3 fases básicas na compilação?

A
  • Análise sintática ;
  • Análise semântica ;
  • Geração de código.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que faz a Análise sintática ?

A

Analisa uma sequência que foi dada entrada para verificar a sua estrutura gramatical segundo uma determinada gramática formal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

O que faz a Análise semântica ?

A

Verificação dos erros semânticos no código fonte e coletadas as informações necessárias para a próxima fase.

17
Q

O que é e o que faz a Geração de código ?

A

Ferramenta que possui a capacidade de gerar código a partir de um determinado modelo de software.

18
Q

Após estas fases o que faz o linker?

Como ele descobre o código em falta num ficheiro objeto?

A

O linker verifica o ficheiro objeto para identificar o código binário necessário que está ausente.
Para isso, pesquisa outros arquivos de objetos e bibliotecas do sistema operacional para aqueles pedaços de código. Determina em qual posição eles devem ser inseridos ne ficheiro objeto e ajusta referências, e produz arquivo executável (ou falha).

19
Q

O que faz o loader ?

A
  • Cria um espaço de endereço grande na memória principal o suficiente para conter o programa, um heap e uma pilha ;
  • Copia o código e os dados do programa para o espaço de endereço e os argumentos da linha de comando para a pilha ;
  • Inicializa valores de registro, incluindo o ponteiro da pilha e o contador do programa ;
  • O programa original agora está pronto para ser executado e é agora denominado de processo.
20
Q

O que é um processo ?

A

Um processo e uma instância de um programa de computador que está a ser executada.
Ele contém o código do programa e a sua atividade atual.

21
Q

O que é o espaço de endereçamento de um processo?

Como está organizado?

A

Um espaço de endereçamento define uma faixa de endereços discretos, cada um dos quais pode corresponder a um registador físico ou virtual.