Fundamentos de Sistemas Operacionais e Tradutores

Classificado em Computação

Escrito em em português com um tamanho de 4,95 KB

1. Linguagem-fonte e linguagem-alvo

R: A linguagem-fonte é a linguagem de alto nível, enquanto a linguagem-alvo é a linguagem de nível inferior. É necessária uma tradução da linguagem-fonte para a linguagem-alvo.

2. Classificação de programas tradutores

R: Os tradutores dividem-se em assembler (montador) e compilador:

  • Assembler: Traduz linguagem de montagem (Assembly) para linguagem de máquina.
  • Compilador: Traduz linguagem de alto nível para linguagem de máquina.

A diferença reside na complexidade: no processo de montagem, há uma relação de 1:1 (cada instrução resulta em uma instrução de máquina), enquanto na compilação a relação é múltipla (uma instrução gera várias instruções de máquina).

3. Por que usar linguagem de montagem?

R: Para melhorar o desempenho e permitir um acesso mais direto ao hardware.

4. Uso de macros em linguagem de montagem

R: Macros são abreviaturas simbólicas para trechos do programa fonte, utilizadas para reduzir o tamanho do código quando um mesmo trecho aparece repetido várias vezes.

5. O processo de montagem

R:

  • O montador analisa as instruções até encontrar a pseudo-instrução de fim (END).
  • Constrói uma Tabela de Símbolos utilizando uma Tabela de Códigos de Operação.
  • Analisa as instruções em sequência com base no ILC (Contador de Localização de Instruções).
  • Gera o programa objeto e a expansão binária.
  • Produz informações para o procedimento de ligação e mensagens de erro, se houver.

6. Definição de programas tradutores

R: Programas tradutores têm a função de converter uma linguagem de um nível para outra de nível inferior.

7. Segurança no nível OSM

R: A motivação para remover instruções de E/S potencialmente danosas do nível ISA ao criar o nível OSM é garantir a segurança do sistema.

8. Definição de arquivo

R: Em sua forma mais simples, um arquivo consiste em uma sequência de bytes gravados em um dispositivo de E/S.

9. Manipulação de arquivos

R: A manipulação é realizada por chamadas de sistema (abrir, ler, escrever e fechar). Antes da leitura, o arquivo deve ser aberto para que o S.O. o localize no disco e carregue as informações necessárias na memória.

11. Verdadeiro ou Falso

(V) Alguns algoritmos podem ser programados com maior conveniência para processos cooperativos em paralelo.
(V) A maioria dos sistemas operacionais modernos permite que processos sejam criados e encerrados dinamicamente.
(V) A criação de um novo processo é realizada através de uma chamada de sistema.
(V) A chamada de sistema que cria novos processos pode clonar o processo que a chamou.
(V) A chamada de sistema pode permitir ao chamador a criação de um processo especificando seu estado inicial (programa, dados e endereços).

12. Condição de corrida

R: Ocorre quando dois ou mais processos competem pelo mesmo recurso simultaneamente.

13. Semáforos de Dijkstra

R: É uma solução para sincronização de processos. Quando o valor é 0, o recurso está liberado; a operação down altera o estado para 1, bloqueando o acesso.

14. Exemplos de Sistemas Operacionais

R: Windows XP, Ubuntu e SteamOS.

15. Chamadas de sistema

R: São instruções do nível ISA combinadas com instruções do S.O., utilizadas também para manipular arquivos.

16. Nível OSM

(X) O nível OSM (nível de sistema operacional da máquina) é sempre interpretado.

17. Técnica de sobreposições (Overlay)

R: O programador dividia o programa em porções (overlays), cada uma cabendo na memória, permitindo executar programas maiores que a capacidade física disponível.

18. Memória virtual

R: Técnica de gerenciamento que combina memória principal e secundária, dando ao usuário a ilusão de uma memória maior que a capacidade real.

19. Vantagem da memória virtual

R: Permite que um número maior de processos compartilhe a memória principal, já que apenas partes de cada processo precisam estar residentes.

20. Preenchimento de lacunas

Em ambientes que implementam memória virtual, o espaço de endereçamento do processo é conhecido como espaço de endereçamento virtual e representa o conjunto de endereços virtuais que o processo pode endereçar. O conjunto de endereços reais que o processador pode referenciar é chamado espaço de endereçamento real.

Entradas relacionadas: