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