Buscar

Resumo SO de Tempo Real

Prévia do material em texto

Resumo: Sistemas Operacionais de Tempo Real
December 2019
1 Lista 1
1. Quais as diferentes restrições temporais que podem ocorrer em um sistema?
Dê exemplos de cada uma.
Resposta:
• Restrição de atraso (delay) ou de tempo mı́nimo.
• Restrição de prazo (deadline) ou de tempo máximo.
• Restrição de duração (duration) ou duracional.
Exemplos:
• Para mudar o modo de operação de uma máquina de lavar roupas
(lavar, enchagoar, etc) um botão deve ser pressionado com um atraso
de pelo menos 0.5 segundos entre um evento e outro (restrição de
atraso). Caso contrário, a restrição é violada e o modo não é alterado.
• Para que um avião comece a ganhar velocidade na decolagem, o trem
de pouso deve ser levantado em no máximo 30 segundos após o avião
sair do chão (restrição de atraso).
• Para que uma máquina de lavar complete a lavagem de roupas, deve
permanecer ligada no modo de lavagem por 15 minutos (restrição de
duração).
2. O que ocorre durante uma troca de contexto?
Resposta:
Durante a troca de contexto, o processo em execução é interrompido e
é dada a chance para um outro processo correr. O núcleo deve parar o
processo que esta em execução, copiar os valores dos registros de hardware
para seu PCB, e atualizar os registros de hardware com os valores do PCB
do novo processo.
3. Em sistemas de tempo real, qual a diferença entre restrições comportamentais
e de desempenho? Cite exemplos reais de cada uma das restrições.
Resposta:
1
• Restrições comportamentais: são impostas por est́ımulos gerados pelo
ambiente. Asseguram que o sistema seja bem comportado.
• Restrições de desempenho: são impostas pelas respostas do sistema
a est́ımulos. Asseguram que o sistema execute de forma satisfatória.
Exemplos:
• Após a sobretemperatura ser detectada pelo sistema(comportamental),
o sistema deve ser automaticamente desligado em até 1 segundo(prazo).
• Identificação de um evento de duplo clique do mouse(desempenho/atraso).
4. Quais os fatores que complicam o cálculo do Worst Case Execution Time(WCET)?
Resposta:
• Processador
– DMA(Acesso direto a memória)
– cache miss
– interrupções
• Kernel
– Chamadas de sistema: primitivas não-preemptáveis.
– Semáforos: inversão de prioridades
– Gerenciamento de memória: paginação
• Implementação:
– laços
– estruturas dinâmicas
– chamadas recursivas
5. Um sistema de defesa anti-mı́sseis deve atender aos seguintes requisitos:
• Cada mı́ssil deve ser detectado em, no máximo, 0.2 segundos após
entrar na área de cobertura do radar.
• O mı́ssil de interceptação deve estar engajado (pronto para disparo)
em, no máximo, 5 segundos após detecção do mı́ssil invasor.
• O mı́ssil interceptador deve ser disparado após 0.1 segundos do seu
engajamento mas não após 1 segundo.
Identifique e represente as restrições temporais do seguinte sistema de
defesa aérea por meio de um diagrama de máquina de estados. Classifique
cada restrição em comportamental ou de desempenho.
Resposta:
6. Uma máquina de lavar roupas possui as seguintes especificações de funcionamento:
2
• A máquina de lavar deve esperar que o botão start seja pressionado
• Uma vez pressionado o botão start, a máquina enche o tambor com
água quente ou fria, dependendo da posição da chave HotWash.
• O processo de enchimento do tambor continua até que o ńıvel alto
da água seja detectado pelo sensor de ńıvel.
• A agitação da água no tubo continua por um tempo pré-determinado
ou até que o botão stop seja pressionado.
• Após a parada da agitação, a máquina espera que o usuário pressione
o botão start drying.
• Após pressionado o botão start drying, o ar quente é soprado para
dentro da câmara de secagem por um tempo pré-determinado ou até
que o botão stop seja pressionado.
Represente o funcionamento da máquina de lavar roupas através de um
diagrama de máquina de estados.
Resposta:
7. Represente as restrições de um sistema de prevenção de colisão na forma
de um diagrama de máquina de estados. As atividades realizadas pelo
sistema de prevenção de colisão são:
• A primeira sub-tarefa chamada Radar Proc processa os sinais do
radar e gera registros de rastreio em termos de localização e velocidade
do alvo em até 100 ms do recebimento do sinal do radar.
• O registro de rastreio é transmitido ao processador de dados em até
1ms após sua determina¸c ao.
• Uma sub-tarefa no processador de dados correlaciona o rastreio recebido
com o de outros alvos que se aproximam de forma a determinar
potenciais colisões que podem ocorrer nos próximos 500ms.
• Se uma colisão for antecipada, uma ação corretiva é determinada
dentro de 10 ms por outra sub tarefa executada no processador de
dados.
• A ação corretiva deve ser enviada á sub-tarefa de correção de curso
em até 25 ms.
Resposta:
8. Considere um véıculo sobre rodas equipado com um sensor de distância e
movendo-se com velocidade v. Ele é dotado de um sistema de frenagem
automática que detecta um obstáculo a frente e aciona os freios de forma a
evitar a colisão. A Brake Control Unit (BCU) é a unidade computacional
responsável por:
3
• adquirir as leituras do sensor de distância
• calcular a distância do obstáculo (caso exista)
• atualizar as variáveis de estado do véıculo
• decidir se uma frenagem de emergência deve ser executada
Dada á criticidade da ação, estas funções serão todas incorporadas em
uma task periódica denominada τs, cujo peŕıodo será dado pelo valor Ts,
conforme ilustração abaixo (assume-se, neste exerćıcio que o tempo de
computação é infinitamente menor que o peŕıodo)
Para que se possa determinar um valor seguro para Ts, diversos fatores
devem ser considerados. O sistema deve, portanto, garantir que a latência
máxima do instante em que o obstáculo aparece e o que o véıculo alcança
uma parada completa seja menor que o instante de impacto. De maneira
equivalente, a distância D em que o obstáculo é visualizado pelo sensor
deve ser maior que o espaço mı́nimo L para a parada total. Para tal,
considere a figura abaixo que ilustra a velocidade do véıculo em função do
tempo durante uma parada de emergência.
Considere então os seguintes intervalos:
• Atraso de detecção, normalmente considerado igual a Ts e conforme
figura acima.
• Atraso de transmissão, ∆, é o tempo entre o comando de ativação
dos freios ser ativado pela BCU e o instante em que os freios são
efetivamente ativados
• Duração da frenagem, Tb, necessária para parada completa assumindo
desaceleração constante
4
Sabendo que a desaceleração devido a frenagem é dada por af = µfg, onde
µf é o coeficiente de atrito e g é a aceleração da gravidade, determine o
máximo valor para Ts em função de D, v, µf , g e ∆.
Resposta:
9. Quais as três informações que descrevem o comportamento de uma task
periódica.
Resposta:
Deve ser ativada em um certo peŕıodo de tempo. Deve cumprir prazos.
Possuem prazos fixos.
10. Dado um mecanismo de exclusão mútua implementado utilizando uma
variável do tipo semáforo denominada s, qual o efeito de cada uma das
primitivas signal(s) e wait(s) tanto na variável em si como nas consequências
no funcionamento do sistema operacional?
Resposta:
A primitiva wait(s) é instanciada assim que um recurso é acessado. Se o
recurso está ocupado e uma task tenta acessar este recurso, o valor de wait
é incrementado. Quando acontece um signal(s), significa que o recurso s
foi liberado, e, portanto, pode ser acessado.
11. Dentro de um sistema de tempo-real, qual potencial problema pode ocorrer
devido á utilização de semáforos?
Resposta:
Quando há a utilização de semáforos, e as tasks são definidas por prioridades,
pode haver inversão de prioridades, onde uma task de menor prioridade
T2 pode preemptar uma task de maior prioridade T1 quando as mesmas
possuem compartilhamento de recursos e, T2 foi ativada e começou a
executar antes da chegade de T1,onde T2 acessou o recurso compartilhado
e quando T1 chega, preempta T2, porém, quando T1 tenta acessar o
recurso compartilhado que portanto está ocupado, há a inversão de prioridades,
onde T2 herda a prioridade de T1 até o momento em que T2 liberar o
recurso compartilhado.
5