https://tecflag.blogspot.com/2018/10/respostas-exercicios-programacao.html1- No contexto da compilação de programas, explique qual é a função das análises (léxica, sintática e semântica).
=> Léxica: é o processo de analisar a entrada de linha de caracteres e produzir símbolos léxicos, verificando se são pertencentes ao alfabeto da linguagem .
=> Sintática: Verifica se uma sequência dos símbolos formam um programa válido obedecendo a gramática da linguagem.
=>Semântica: Verifica se há sentido nas instruções a serem realizadas

2- Quais são as principais funções de um Sistema Operacional?
Gerenciamento de recursos como o processador,memória,dispositivos,arquivos e a gerência de proteção ao sistema, além de criar abstrações.

3- Cite dois exemplos de Sistemas Operacionais de tipos diferentes (finalidades diferentes) e indique o que caracteriza esses Sistemas Operacionais nos seus respectivos contextos.
Windows - S.O utilizado geralmente em desktop foi projetado para atividades corriqueiras, tendo como principal característica a sua interface gráfica e o suporte a interatividade e operação em rede.
Linux - Permite uma gestão eficiente de grandes recursos.

4- Indique se a afirmação abaixo é verdadeira ou falsa e justifique sua resposta.
É possível executar vários programas em um computador simultaneamente mesmo com um número de processadores menor do que o número de programas a serem executados.
Sim, devido a técnica de pipeline que permite quebrar as tarefas e as processar simultaneamente. 

5- O escalonador de tarefas do sistema operacional implementa a política de escalonamento de tarefas.

Esboce um gráfico com os comportamentos do Escalonamento de Tarefas First-Come-First-Served (FCFS) indicando qual tarefa usou o processador em um intervalo de tempo. Suponha que o quantum (q) é de 2 segundos.

Baseie-se na tabela para saber quando as tarefas ingressaram no sistema assim como a duração de cada uma. Suponha que o sistema possui apenas um processador.

Marque com um “X” o ingresso de cada tarefa nas suas respectivas linhas e preencha os retângulos para indicar que uma tarefa usou o processador naquele instante.

Tarefa
T1
T2
T3
T4
Tempo de ingresso no sistema (seg.)
0
0
1
3
Duração (seg.)
5
2
4
3

Veja a seguir, um exemplo de como o gráfico deve ser esboçado.




6A execução desse código, escrito em Julia, retorna False impresso na tela. Explique por quê.


if (0.1 + 0.2 == 0.3)
println("True")
else
println("False")
end



7-Explique quais as diferenças entre um sistema operacional multitarefa e um sistema operacional de tempo compartilhado (time-sharing).

8-No contexto da compilação de programas, explique o que são a Análise Léxica e a Análise Sintática. Exemplifique suas explicações baseando-se na figura a seguir.

9-Para os itens “a” e “b” indique se você optaria por uma linguagem de programação de alto nível ou de baixo nível. Justifique suas respostas.

a) Se você fosse desenvolver um programa cuja finalidade é calcular a trajetória de um cometa.

b) Se você fosse desenvolver um Sistema Operacional.


10-Cite um exemplo de abstração que o Sistema Operacional disponibiliza e explique como o Sistema Operacional consegue facilitar a utilização do hardware através dessa abstração.



11-A figura abaixo ilustra uma ULA. É possível construir uma ULA que opere na base decimal? Justifique sua resposta.



12-Se um computador realiza operações binárias, como é possível utilizarmos a base decimal durante a programação? Justifique sua resposta.



13-Baseie-se na figura abaixo e explique com o Sistema Operacional trata as interrupções. 



1. O processador está executando um programa qualquer (em outras palavras, um fluxo de execução); 2. Um pacote vindo da rede é recebido pela placa Ethernet; 
3. A placa envia uma solicitação de interrupção (IRQ) ao processador; 
4. O processamento é desviado do programa em execução para a rotina de tratamento da interrupção; 5. A rotina de tratamento é executada para receber as informações da placa de rede (via barramentos de dados e de endereços) e atualizar as estruturas de dados do sistema operacional; 
6. A rotina de tratamento da interrupção é finalizada e o processador retorna à execução do programa que havia sido interrompido.

14-Explique como o compilador gera o arquivo (código) binário a partir de um programa (código fonte).
Ele traduz o código fonte para instruções de baixo nível, cria o link com as bibliotecas que vc tá usando e a partir daí traduz o conjunto pra binário. Um binário compilado pra determinada arquitetura só funciona pra ela.