Você está na página 1de 4

1) Defina sistemas de tempo real.

Liste três aplicações de software que podem ser


claramente identificadas como apresentando requisitos de tempo real (exemplo:
piloto automático do avião).

O sistema de tempo real é um software que gerencia os recursos de um sistema e


deve garantir que todos os eventos sejam atendidos dentro da sua restrição de tempo, ou
seja, o sistema deve satisfazer restrições explicitas de tempo de resposta independente
da velocidade de resposta ser elevada ou não, gerenciando da forma mais eficiente
possível, caso contrário irá gerar uma falha.
- Sistema de defesa de um avião militar Caça, o mesmo utiliza sistema de tempo real para
monitorar misseis teleguiados e realizar a liberação de flares dentre outras funções.
- Sistema de monitoramento de batimentos cardíacos, é necessário que uma resposta
rápida seja dada aos médicos e enfermeiros assim que for detectada qualquer
irregularidade nos batimentos cardíacos.
- Sensor de temperatura em um sistema microcontrolado, se o sensor não realizar o envio
dos dados para o microcontrolador ativar a refrigeração e o sistema atingir altos níveis de
temperatura todo o sistema poderá danificar-se.

2) Diferencie sistemas de tempo real críticos de não-críticos.

Um sistema de tempo real crítico é um tipo de sistema que é mais rigoroso, pois
caso ele chegue a atrasar na realização de determinada tarefa o efeito pode ser
catastrófico, portanto, ele deve realizar as tarefas dentro do prazo estimado e não falhar.
Já o sistema de tempo real não crítico pode chegar a falhar pois o efeito não será
algo catastrófico, não que o sistema deva falhar, ele sempre vai buscar realizar as tarefas
no prazo certo, porém caso ocorra uma falha não vai ser algo muito grave como a perda
de uma vida por exemplo.

3) Descreva os algoritmos de escalonamento a seguir:

a) Taxa monotônica (RM)

É um algoritmo do tipo de tarefas periódicas, possui uma prioridade das tarefas


fixas, as tarefas possuem um período pré-estabelecido período esse que é realizada a
chamada das tarefas, tarefas essas que são independentes, seu deadline sempre é igual a
seu período e quanto menor o período maior sua prioridade.

b) Earliest Deadline First (EDF)

É um algoritmo do tipo de tarefas periódicas, possui uma prioridade das tarefas


variável, a prioridade é baseada no deadline e tempo atual, a tarefa que possuir o
deadline mais próximo do tempo atual será a com maior prioridade, assim como na taxa
monotônica seu deadline sempre é igual ao período.
c) Deadline Monotônico (DM)

É um algoritmo do tipo de tarefas periódicas, possui uma prioridade das tarefas


fixas, a prioridade é determinada baseada no deadline, a tarefa com deadline relativo
menor terá prioridade mais alta, o deadline das tarefas sempre é igual ao período das
mesmas.

d) Background (BS)

É um algoritmo do tipo de tarefas aperiódicas, um servidor de prioridade fixas, ele


realiza as tarefas de forma simples, sua forma de realizar as tarefas aperiódicas ocorre
quando o CPU está sem uso, ou seja, o CPU está realizando normalmente as tarefas
periódicas, assim que ele terminar de realizar e não tiver alguma outra tarefa periódica
para ser processada ocorre a execução da tarefa aperiódica. Com isso o tempo de
resposta para uma tarefa aperiódica pode ser muito alto, pois se tiver muitas tarefas
periódicas sempre em execução o CPU ficara pouco tempo sem utilização para realizar o
processamento das tarefas aperiódicas.

e) Polling (PS)

É um algoritmo do tipo de tarefas aperiódicas, um servidor de prioridade fixas,


porém diferentemente do servidor Background este não espera o CPU ficar sem uso para
que somente assim realize tarefas aperiódicas, uma tarefa servidora possui um periódico
e sempre no período dela é executada uma tarefa aperiódica. Desta maneira o tempo de
resposta para tarefas aperiódica se torna muito menor que o servidor Background.

f) Deferrable (DS)

É um algoritmo do tipo de tarefas aperiódicas, um servidor de prioridade fixas, é


semelhante ao servidor Polling, porém neste modelo a tarefa servidora armazena
capacidade, então é possível utilizar a capacidade do servidor fora dos tempos que eram
atribuídos a ele, essa capacidade é reposta periodicamente, dessa maneira o tempo
médio de resposta das tarefas aperiódicas se torna ainda menor.

g) Esporádico (SS)

É um algoritmo do tipo de tarefas aperiódicas, um servidor de prioridade fixas,


bastante semelhante ao Deferrable, o servidor também armazena capacidade para ser
utilizada, porém o que difere neste algoritmo é que a reposição da capacidade não é
efetuada periodicamente e sim de acordo com os instantes em que é consumida.
4) Diferencie Plataforma Alvo de Plataforma de Desenvolvimento.

A plataforma alvo é o local onde meu software vai ser usado e a plataforma de
desenvolvimento é onde eu vou desenvolver meu software, por exemplo, utilizando o
Windows que é um sistema operacional de propósito geral usando compiladores pode-se
desenvolver um software de tempo real que vai ser utilizado no sistema de um avião
militar caça, dessa maneira a plataforma alvo foi o sistema de um caça e a plataforma de
desenvolvimento foi no Windows utilizando compiladores.

5) Descreva, em linhas gerais, por que um Sistema Operacional de Propósito Geral


não é adequado para a execução de aplicações com tarefas de tempo real críticas.

Um sistema operacional de propósito geral não é indicado para executar tarefas


de tempo real críticas pois pode haver falhas, por exemplo, o sistema não foi
desenvolvido especificadamente para aquilo e ele ainda gerencia diversas funções do
sistema, podendo chegar a travar ou exceder o prazo limite para realização da tarefa,
como é uma tarefa crítica a não execução ou a execução fora do prazo gera um efeito
catastrófico, sendo a melhor alternativa a utilização de um sistema de tempo real.

6) Defina quais os princípios básicos da Linguagem para Tempo real Esterel.

Os princípios básicos são a reatividade, sincronismo, difusão instantânea e


determinismo. A presença de estímulos vindos de ambientes faz com que o sistema entre
em ação reagindo a elas, portanto é um modelo reativo, suas entradas e saídas são
sincronizadas, portanto, as reações são instantâneas.
7) Escreva um código utilizando a linguagem Esterel para o seguinte exemplo: “Cada
manhã, o corredor faz um número fixo de voltas num estádio. A cada volta, ele
corre devagar durante 100 metros, depois ele pula a cada passo durante 15
segundos e termina a volta correndo rápido”. Dica: Consultar material
bibliográfico (Sistemas de Tempo Real – Farines).

module Corredor
Constante nvoltas: integer;
Input Manha, Metro, Passo, Segundo, Volta;
relation Manha => Segundo, Volta =>Metro;
output Corre-Devagar, Corre-Rápido;
every Manha do
abort
abort
abort
sustain Corre-Devagar
when 100 Metro;
abort
every Passo do
emit Pular
end Every
when 15 Segundo;
sustain Corre-Rápido
when Volta
when nvoltas Volta
end every
end module

Você também pode gostar