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.