Baixe o app para aproveitar ainda mais
Prévia do material em texto
SD e TR – TRABALHO 03 Regras: 1. Data de entrega: até 14/12/2021 às 8h. 2. Forma de entrega: O trabalho é individual e deverá ser enviado para o e-mail rogeriocosta.iftm@gmail.com 3. A responsabilidade do envio do trabalho é do aluno. A data de entrega não sofrerá alteração em virtude de problemas de acesso à internet ou qualquer outro problema vinculado ao envio do arquivo via e-mail por parte do aluno. 4. Valor: 10,0 pontos 5. Caso o trabalho não seja entregue na data e hora estabelecida o mesmo passará a ter a nota dividida por 2, e para cada dia de atraso será descontado 0,25 pontos do total remanescente até a nota do trabalho ser igual a zero, indicando que o trabalho não foi entregue pelo aluno. 6. No campo assunto do e-mail deve ser inserido o seguinte texto: SD e TR – Trabalho 03 – NOME_DO_ALUNO. 7. Caso a regra 06 não seja seguida, será descontado 0,5 ponto da nota final do trabalho. 8. Não devem ser utilizados apenas materiais de sites da internet, o trabalho deve conter a coleta de informações de livros e artigos científicos por possuírem conteúdo confiável. A biblioteca da Unidade I do campus Avançado Uberaba – Parque Tecnológico possui materiais que podem ser utilizados. 9. O professor poderá a qualquer momento, a partir da entrega do trabalho pelo aluno, solicitar uma apresentação do mesmo. A apresentação também terá impacto na nota atribuída ao trabalho apresentado, confirmando assim o entendimento e conhecimento do que foi elaborado e entregue. Responda as questões abaixo 1. Por que é importante aprender sobre sistemas de tempo real? Pois com ele conseguimos evitar problemas causados por divergências/restrições temporais 2. Cite 5 exemplos de sistemas de tempo real e explique por que são considerados de tempo real 1. F-16 tem embutido Sistemas de Tempo Real rígidos para controlar em tempo real a "saúde" da aeronave e do voo. 2. AMX A-1 assim como o F-16 é uma aeronave caça, desta vez italo-brasileiro que possui o Sistemas de Tempo Real para o mesmo motivo. 3. X-Real Time Kernel - um STR desenvolvido pela eSysTech voltado a processadores ARM possui Sistemas de Tempo Real para acompanhamento dos processos do processador e SO 4. BRTO é um SO para microcontroladores com Sistemas de Tempo Real para ter um bom tempo de resposta para com relação ao que está controlando 5. RHEL é também um SO porem desta vez voltado pro mercado corporativo, muito utilizado para implementação e sincronização de equipamentos nestas empresas. 3. Defina tarefa e instância de tarefa. ● Tarefa - coleção de 1 ou mais configurações de processamentos, podendo precisar também de 1 ou + thread vinculados. ● Instancia de Tarefa - ocorrencia de execução do modelo da tarefa, herda propriedades da tarefa 4. O hardware de tempo real é muito diferente do hardware convencional? Quais cuidados devem ser tomados para implementação de arquiteturas de hardware para tempo real? Não é muito diferente, a principal diferença está no tempo de execução 5. Por que é importante usar um kernel de tempo real? Há razões para não usar? Pois através dele conseguimos configurar pontos muito importantes para o SO como calibração da latência. E não existe razão para não usá-lo uma vez que ele pode estar no SO mesmo sem ser usado e não possuir contra indicação. 6. Como é o diagrama de estados de tarefas de tempo real, principalmente quando se deve transicionar de um estado para outro. 7. Defina teste de escalonabilidade. Por que esse teste é importante em sistemas de tempo real? Como o próprio nome sugere, um teste de escalabilidade é um teste para ver como o Software trabalharia dada uma ampliação de sua usabilidade testando sua eficiência e eficácia. Esse teste é muito importante para poder avaliar o software caso haja um maior número de usabilidade, podendo assim caso tenha alguma alteração no desempenho do sistema, Já realizar os ajustes necessarios 8. Defina instante crítico. Por que esse conceito é importante em sistemas de tempo real? Instante crítico é a ativação simultânea de todas as tarefas, sendo assim mais sujeito a ocorrência de falhas, ele é muito importante para análise da escalabilidade, cujo deve ser feita no instante crítico, pois sendo escalonável neste cenário então será escalável em qualquer outro. 9. Defina tarefas periódicas, esporádicas e aperiódicas. Por que tarefas aperiódicas não podem ser de tempo real estritas? As tarefas periódicas são dirigidas por tempo e executam atividades de controle com restrições temporais rígidas e que devem ser ativadas em taxas regulares. Tarefas aperiódicas são dirigidas por eventos e podem ter requisitos temporais rígidos, brandos ou então sem restrições temporais. Já esporádicas, possuem um comportamento temporal determinista, facilitando assim a obtenção de garantias em tempo de projeto. 10. Explique o jitter no início e jitter no final. São diferentes? O jitter é uma medida que é obtida a partir dos testes de pings, considerando a largura da rede e o tempo entre a troca de dados, mas os jitter no início tende a ser o mesmo que no final, pois é a mesma rede, eles podem ser alterados caso haja mudanças no download e upload da rede. 11. Por que as restrições temporais são usualmente expressas como valores exatos (determinísticos) ao invés de valores agregados (médias, por exemplo)? Pois para esses tipos de sistemas a precisão dos resultados são essenciais . 12. Teste de escalonabilidade é feito online, offline ou ambos. Explique. Online para que seja feito o teste de comunicação entre maquinas. 13. Por que a utilização de metodologias e ferramentas convencionais não é apropriada para o desenvolvimento de sistemas de tempo real? Pois esses tipos de ferramentas e métodos podem ter comportamentos imprevisíveis com relação ao tempo, podendo assim causar problemas além do fato de não garantir a integridade de sistemas de tempo real 14. Um sistema de tempo real é um sistema computadorizado que exige não apenas que os resultados da computação sejam corretos, mas também que os resultados sejam produzidos dentro de um período de tempo especificado. Dessa maneira, a característica típica de um sistema de tempo real é a) [ ] finalidade múltipla. b) [X] escalonamento preemptivo. c) [ ] Kernel não é preemptivo. d) [ ] suporte a uma série de dispositivos periféricos, tais como telas gráficas, unidades de CD e DVD. e) [ ] múltiplos usuários. 15. Os sistemas de tempo real são exemplos de sistemas: a) [ ] de tempo compartilhado não preemptivos. b) [ ] do tipo monoprocessadores. c) [ ] monoprogramáveis e monotarefa d) [X] multiprogramáveis e multitarefas. e) [ ] batch. 16. Acerca de sistemas de tempo real, assinale a opção correta. a) [X] O conceito de hard real-time define que a correção da resposta está associada à especificação de temporização. b) [ ] No soft real-time, a especificação temporal é encarada como uma média a ser mantida, mas nenhuma resposta pode ocorrer fora da temporização especificada. c) [ ] O conceito de firm real-time se refere à existência de uma especificação soft e nenhuma especificação hard para a temporização. d) [ ] Em geral, em sistemas de tempo real, as tarefas não são fortemente acopladas. e) [ ] Em um sistema de tempo real, há necessidade de um escalonamento não preemptivo que suporte tarefas periódicas, aperiódicas, eventuais e eventos assíncronos. 17. No escalonamento de processos de um Sistema Operacional, é característica específica dos sistemas de tempo real: a) [ ] Manter a CPU ocupada o tempo todo. b) [ ] Responder rapidamente às requisições. c) [X] Evitar a degradação da qualidade em sistemas multimídias. d) [ ] Dar a cada processo uma porção justa da CPU. e) [ ] Manter ocupadas todas as partes do sistema. 18. Nos sistemas de tempo real, são fatores a serem considerados antes do desenvolvimento da aplicação, EXCETO: a) [X] a fatia de tempo disponibilizada pelo processador b) [ ] o hardware que suportará a aplicação. c) [ ] o tempo de resposta exigido no processamento. d) [ ] a linguagem de programaçãoa ser utilizada. e) [ ] o sistema operacional que irá suportar a aplicação. 19. Frequentemente usado para modelagem de sistemas de tempo real. Descreve como um sistema responde aos estímulos internos e externos. Mostra as diferentes situações do sistema e os estímulos que provocam transições de uma para outra situação. Trata-se do modelo de a) [ ] eventos. b) [ ] agregação de objetos. c) [ ] dados. d) [ ] fluxo de dados. e) [X] máquina de estado. 20. Uma preocupação de sistemas de tempo real é a latência de um evento, ou seja, o tempo decorrido do momento de um evento até o respectivo atendimento. Acerca dos diferentes tipos de latência em um sistema operacional, assinale a alternativa CORRETA. a) [ ] O montante de tempo requerido para que o despachante do scheduling interrompa um processo e inicie outro é conhecido como latência de interrupção. b) [ ] A latência de interrupção é o período de tempo que vai da chegada de uma interrupção na CPU até o final da rotina que atende à interrupção. c) [ ] A técnica mais eficaz para manter a latência de interrupção baixa é o fornecimento de kernels preemptivos. d) [X] O sistema operacional deve salvar o estado do processo corrente antes de atender à interrupção usando a rotina de serviço de interrupção (ISR – interrupt service routine) específica. e) [ ] Quando ocorre uma interrupção, o sistema operacional não deve concluir a instrução que está executando e determinar o tipo de interrupção que ocorreu. 21. Em sistemas de tempo real que usam memória compartilhada ou uma interface de passagem de mensagens, pode acontecer do produtor e consumidor de dados funcionarem a velocidades diferentes. Caso haja uma falha de projeto, esse fato pode gerar um erro de timing e o consumidor pode obter informações desatualizadas. O teste aplicável neste caso e que visa prevenir tais ocorrências é o a) [ ] de partições. b) [X] de interfaces. c) [ ] de caminho. d) [ ] de componentes. e) [ ] estrutural. 22. O que melhor caracteriza um Sistema Operacional de Tempo Real é a) [ ] ser extremamente rápido em suas decisões. b) [ ] a necessidade de operar em um hardware com poucos recursos de processamento. c) [ ] de permitir a gestão eficiente de grandes quantidades de recursos. d) [ ] de garantir todos os recursos de forma transparente ao usuário. e) [X] ter um comportamento temporal previsível. 23. Com relação a um sistema de controle supervisor, aplicado na supervisão e controle de um sistema elétrico em tempo real, análise: I. estimação de estado é uma função vital para um sistema de controle supervisor. II. o acúmulo de erro de tempo na operação de um sistema elétrico indica violações no controle de frequência e/ou de intercâmbio. III. a simulação e o cálculo de sistemas elétricos em tempo real é uma função com pouco uso em um controle supervisor. É correto o que consta APENAS em a) [ ] I. b) [ ] I e III. c) [X] II. d) [ ] I e II. e) [ ] II e III. 24. De acordo com o texto, em um sistema de tempo real, a exatidão depende a) [ ] da existência de um dado confiável na entrada e do tempo necessário para produzir um dado estável na saída. b) [ ] da resposta a uma entrada e do tempo gasto para gerar a resposta. c) [ ] da necessidade de existir um dado na entrada do sistema e da possibilidade de se produzir um dado na sua saída. d) [ ] das diferentes entradas possíveis no sistema e dos diferentes tempos para a produção das respectivas respostas a essas entradas e) [ ] do valor da entrada e do tipo de resposta gerada. 25. Um sistema operacional (SO) moderno possui diversas características que o distinguem de um sistema operacional dos computadores de primeira geração. Acerca das características dos sistemas operacionais modernos podemos dizer que em um sistema operacional de tempo real, o conceito de multithread difere de um sistema operacional de rede porque, neste último, a thread não tem prioridade de execução. a) [ ] Certo b) [X] Errado 26. Analise o texto abaixo O que é um sistema operacional em tempo real (RTOS)? Em geral, um sistema operacional (SO) é responsável por gerenciar os recursos de hardware de um computador e hospedar aplicativos executados no computador. Um RTOS executa essas tarefas, mas também é especialmente projetado para executar aplicativos com temporização muito precisa e um alto grau de confiabilidade. Isso pode ser especialmente importante em sistemas de medição e automação onde o tempo de inatividade é caro ou um atraso do programa pode causar um risco à segurança. Para ser considerado “tempo real”, um sistema operacional deve ter um tempo máximo conhecido para cada uma das operações críticas que executa (ou pelo menos ser capaz de garantir esse máximo na maioria das vezes). Algumas dessas operações incluem chamadas do sistema operacional e tratamento de interrupções. Os sistemas operacionais que podem garantir absolutamente um tempo máximo para essas operações são comumente referidos como “hard real-time”, enquanto os sistemas operacionais que só podem garantir o máximo na maioria das vezes são chamados de “soft real-time”. Conforme o texto, alguns dos sistemas operacionais de tempo real a) [ ] apresentam relógios com precisão de milésimos de segundo. b) [ ] fornecem apoio ao hardware do computador, denominado “hard real-time”, e ao software, denominado “soft real-time”. c) [ ] limitam a quantidade máxima de programas que podem ser executados simultaneamente. d) [ ] limitam os programas que podem ser executados a um tamanho máximo do código executável. e) [X] possuem chamadas do sistema operacional e manipulador de interrupção. 27. Analise o texto abaixo O que é um sistema operacional em tempo real (RTOS)? Em geral, um sistema operacional (SO) é responsável por gerenciar os recursos de hardware de um computador e hospedar aplicativos executados no computador. Um RTOS executa essas tarefas, mas também é especialmente projetado para executar aplicativos com temporização muito precisa e um alto grau de confiabilidade. Isso pode ser especialmente importante em sistemas de medição e automação onde o tempo de inatividade é caro ou um atraso do programa pode causar um risco à segurança. Para ser considerado “tempo real”, um sistema operacional deve ter um tempo máximo conhecido para cada uma das operações críticas que executa (ou pelo menos ser capaz de garantir esse máximo na maioria das vezes). Algumas dessas operações incluem chamadas do sistema operacional e tratamento de interrupções. Os sistemas operacionais que podem garantir absolutamente um tempo máximo para essas operações são comumente referidos como “hard real-time”, enquanto os sistemas operacionais que só podem garantir o máximo na maioria das vezes são chamados de “soft real-time”. De acordo com o texto, um sistema operacional de tempo real desempenha as tarefas realizadas por um sistema operacional normal, porém deve a) [ ] evitar carregar programas com temporização precisa e que exijam alto grau de segurança. b) [ ] evitar executar programas sem restrição temporal e que tenham alto grau de confiabilidade. c) [X] executar programas com temporização precisa e alto grau de confiabilidade. d) [ ] priorizar programas sem restrição temporal e aplicações que exijam alto grau de confiabilidade. e) [ ] priorizar a execução de programas com temporização precisa e alto grau de segurança. 28. Tendo o tempo como um parâmetro fundamental, os sistemas operacionais de tempo real são geralmente empregados quando ações devem ser tomadas em instantes determinados ou intervalos de tempo determinados, como o controle de máquinas em linhas de produção. a) [X] Certo b) [ ] Errado 29. Com relação às linguagens de modelagem de sistemas a UML 2.0 é uma linguagem utilizada para especificar, construir, documentar e visualizar a fase de modelagem de sistemas. A modelagem auxilia na eliminação de erros do sistema ainda na fase de projeto, sendo muito importante para sistemas de tempo real como softwares embarcados, os quais possuem hardware dedicado e podem adotar linguagens proceduraisembarcadas (PL/Pgsql, PL/SQL, PL/Lua). a) [ ] Certo b) [X] Errado 30. O que melhor caracteriza um Sistema Operacional de Tempo Real é a) [ ] ser extremamente rápido em suas decisões. b) [ ] a necessidade de operar em um hardware com poucos recursos de processamento. c) [ ] de permitir a gestão eficiente de grandes quantidades de recursos. d) [ ] de garantir todos os recursos de forma transparente ao usuário. e) [X] ter um comportamento temporal previsível. 31. Analise o texto abaixo Os computadores são usados para controlar uma ampla gama de sistemas, desde simples máquinas domésticas, passando por controladores de jogos, até fábricas inteiras. Esses computadores interagem diretamente com dispositivos de hardware. Seu software deve reagir a eventos gerados pelo hardware e, freqüentemente, emitir sinais de controle em resposta a esses eventos. Esses sinais resultam em uma ação, como o início de uma chamada telefônica, o movimento de um personagem na tela, a abertura de uma válvula ou a exibição do status do sistema. O software nesses sistemas é incorporado ao hardware do sistema, muitas vezes em memória somente leitura e geralmente responde, em tempo real, a eventos do ambiente do sistema. Por tempo real, quero dizer que o sistema de software tem um prazo para responder a eventos externos. Se esse prazo for perdido, o sistema geral de hardware-software não funcionará corretamente. O software embarcado é muito importante economicamente porque quase todos os dispositivos elétricos agora incluem software. Existem, portanto, muito mais sistemas de software embarcados do que outros tipos de sistema de software. Se você olhar ao redor de sua casa, poderá ter três ou quatro computadores pessoais. Mas você provavelmente tem 20 ou 30 sistemas embarcados, como sistemas em telefones, fogões, microondas, etc. A capacidade de resposta em tempo real é a diferença crítica entre os sistemas embarcados e outros sistemas de software, como sistemas de informação, sistemas baseados na web ou sistemas de software pessoal, cujo objetivo principal é o processamento de dados. Para sistemas não em tempo real, a exatidão de um sistema pode ser definida especificando como as entradas do sistema são mapeadas para as saídas correspondentes que devem ser produzidas pelo sistema. Em resposta a uma entrada, uma saída correspondente deve ser gerada pelo sistema e, freqüentemente, alguns dados devem ser armazenados. Por exemplo, se você escolher um comando de criação em um sistema de informações do paciente, a resposta correta do sistema é criar um novo registro do paciente em um banco de dados e confirmar que isso foi feito. Dentro de limites razoáveis, não importa quanto tempo isso leve. No entanto, em um sistema de tempo real, a exatidão depende tanto da resposta a uma entrada quanto do tempo gasto para gerar essa resposta. Se o sistema demorar muito para responder, a resposta exigida pode ser ineficaz. Por exemplo, se o software embarcado que controla o sistema de frenagem de um carro for muito lento, pode ocorrer um acidente porque é impossível parar o carro a tempo. (Extraído de: Engenharia de Software, I. Sommerville, 9ª Edição, 2011, pág. 538.) De acordo com o texto, em um sistema de tempo real, a exatidão depende a) [ ] da existência de um dado confiável na entrada e do tempo necessário para produzir um dado estável na saída. b) [ X ] da resposta a uma entrada e do tempo gasto para gerar a resposta. c) [ ] da necessidade de existir um dado na entrada do sistema e da possibilidade de se produzir um dado na sua saída. d) [ ] das diferentes entradas possíveis no sistema e dos diferentes tempos para a produção das respectivas respostas a essas entradas e) [ ] do valor da entrada e do tipo de resposta gerada.
Compartilhar