Apresenta...empo Real - apresenta??o sistemas operacionais de tempo real, Notas de estudo de Engenharia Informática
wellington-cassio-faria-8
wellington-cassio-faria-8

Apresenta...empo Real - apresenta??o sistemas operacionais de tempo real, Notas de estudo de Engenharia Informática

16 páginas
28Números de download
1000+Número de visitas
Descrição
Apresentação Sistemas Operacionais de Tempo Real
30 pontos
Pontos de download necessários para baixar
este documento
Baixar o documento
Pré-visualização3 páginas / 16
Esta é apenas uma pré-visualização
3 mostrados em 16 páginas
Esta é apenas uma pré-visualização
3 mostrados em 16 páginas
Esta é apenas uma pré-visualização
3 mostrados em 16 páginas
Esta é apenas uma pré-visualização
3 mostrados em 16 páginas
Apresentação do PowerPoint

Sistemas Operacionais de Tempo Real

Wellington Cássio Pâmela Raiane Jéssica Luiza Sebastião Realino

Como Surgiu os RTOS ? • Os sistemas computacionais estão presentes em diversas áreas. • Novos microprocessadores com novos recursos computa-

cionais, operando a frequências maiores, maior capacidade de memória e várias interfaces de comunicação de I/O embutidas num único chip, tudo isso a um custo baixo e acessível.

• A evolução tem contribuído com o aumento da complexidade

dos projetos de sistemas embarcados, exigido novos níveis de abstração em soluções de software que possam interagir com o hardware da forma mais eficiente possível.

• Destaca-se um grupo de sistemas que trabalham com restrições de tempo, chamados Sistemas de Tempo Real.

O que é um RTOS ?

Um Sistema de Tempo Real é, portanto, o software que gerência os recursos de um sistema computacional, com o objetivo de garantir com que todos os eventos sejam atendidos dentro de suas restrições de tempo e gerenciados da forma mais eficiente possível. O software é responsável pelo gerencia- mento dos recursos computacionais também é chamado de Kernel do Sistema de Tempo Real e conhecido no mercado como RTOS ou Sistema Operacional de Tempo Real.

Conceitos:

Para entendimento da importância de um Sistema de Tempo Real é precisamos entender alguns conceitos de restrição de tempo para eventos e tarefas computacionais. Os quais são: • Restrições de Tempo • Tarefas • Interações entre Tarefas • Escalonamento de tarefas

Restrições de Tempo:

Toda tarefa computacional recebe um estímulo (ou evento), que pode ser interno ou externo, realiza o processamento e produz uma saída. Um evento com restrição de tempo possui um tempo limite (máximo) de processamento para que sua saída seja gerada.

Restrições de Tempo: Exemplo (Hard Real-Time Systems): Um sistema de radar aeroespacial, que recebe infor- mações de posicionamento das aeronaves, para que possíveis colisões sejam detectadas e evi- tadas. Se o sistema não tratar estas entradas dentro de suas restrições de tempo, poderá causar uma tragédia. Este caso é chamado de “Hard Real-Time Systems”.

Hard Real-Time Systems: é aquele que tem um comportamento determinístico, ou seja, o prazo para execução de uma tarefa não pode ser violado. Soft Real-Time Systems: é aquele que também tem o tempo como parâmetro fundamental, mas uma falha é aceitável

Exemplo (Soft Real-Time Systems): Um teclado que gera inputs de teclas pressionadas para um sistema microproces- sado. Se o sistema não tratar estas teclas dentro de suas restrições de tempo, o operador poderá ter a sensação de que o sistema “travou”, o que poderá causar até a desistência da uti- lização do produto. Este caso é normalmente chamado de “Soft Real-Time Systems”

Tarefas:

Tarefas são pequenos trechos de programa com responsabilidades específicas e bem definidas. Cada tarefa possui um conjunto de atribu- tos, dentre eles a prioridade, que deve ser atribuída de acordo com sua importância. É a partir desta prioridade que tentamos garantir com que eventos com restrições de tempo possam ser executados de forma eficiente.

Tarefas:

Exemplo: Podemos citar como exemplo a leitura de sensores, tratamento de protocolos de comuni- cação, leitura de teclado, acionamento de leds indicativos, escrita em displays, comunicações seri- ais e log de informações. Portanto, um Sistema de Tempo Real é modelado através da divisão da aplicação em um conjunto de pequenas tarefas, com funções específicas, e que interagem entre si.

Interações entre Tarefas:

Cada tarefa é executada de forma independente, mas elas precisam interagir entre si, pois um Sistema de Tempo Real destinado à execução de múltiplas tarefas que é a característica dos sistemas operacional que permite repartir a utilização do processador entre várias tarefas aparentemente simultaneamente.

Interações entre Tarefas:

Exemplo: • A tarefa 1 é responsável pela leitura constante dos sensores de pre-

sença. • A tarefa 2 é responsável pelo acionamento da sirene. • A tarefa 3 é responsável pelo acionamento da discagem telefônica. • A tarefa 4 é responsável pela lógica de detecção de intrusos do sis-

tema de alarme. Supondo que um sensor de movimento tenha sido acionado, a tarefa 1 irá detectar esse acionamento, e precisa notificar a tarefa 4. Esta notificação é feita através do envio de uma mensagem para a tarefa 4. A tarefa 4 irá então receber esta mensagem, e de acordo com sua lóg- ica, irá enviar uma mensagem de acionamento para a tarefa 2, 3 ou para ambas. Este exemplo utiliza a troca de mensagens, como forma de comunicação entre as tarefas.

Outro meio de comunicação entre as tarefas são os semá- foros. Enquanto uma tarefa utiliza um dado recurso pode bloquear um semáforo; outra tarefa antes de utilizar esse recurso verifica o estado do semáforo, e se estiver bloqueado, não utiliza o recurso.

• Troca de mensagens • Semáforos

Escalonamento de Tarefas:

Para atender todas as tarefas solici- tadas, dentro de suas respectivas restrições de tempo, o Kernel necessita de algum mecanismo de gerenciamento de tarefas, classificando-as e ordenando de acordo com sua prioridade. O escalonamento de tarefas é uma função realizada pelo Kernel para determinar quando uma tarefa mais importante precisa ser executada.

Escalonamento de Tarefas: Para exemplificar o escalonamento de tarefas, analise o seguinte caso de escalonamento: 1. Uma tarefa de prioridade menor está sendo executada. 2. Um evento esperado por uma tarefa de prioridade maior ocorre e

causa uma interrupção no processador. 3. O processador salva o contexto da tarefa em execução (registros

da CPU) e executa a rotina de tratamento da interrupção (ISR – Interrupt Service Routine).

4. A rotina de tratamento da interrupção completa e chama um serviço do Kernel.

5. O Kernel prepara e executa a rotina de maior prioridade. 6. A rotina de maior prioridade entra em execução. 7. A rotina de maior prioridade chama uma função do Kernel para

aguardar por outro evento. Isso faz com que o Kernel seja acionado, e prepare novamente a rotina de menor prioridade para execução.

8. A rotina de menor prioridade entra em execução.

Requisitos para Operação: • CPU: A CPU utilizada no projeto pode determinar se você pode ou não utilizar um

RTOS no seu projeto. Por exemplo, uma CPU de 4 bits, sem os registradores necessários, ou de baixa frequência, é feita especificamente para sistemas bem simples e de baixo custo, tornando inviável a utilização de um RTOS. • ROM: Quantidade de memória de programa disponível para o projeto. Precisa ser

grande o suficiente para armazenar o código do Kernel mais o código da sua apli- cação. Dependendo do Kernel, você pode precisar de memória entre 4K e 200Kb, apenas para o Kernel de RTOS’s mais simples.

RAM: Quantidade de memória disponível para os dados do seu programa. O

RTOS utiliza bastante memória para armazenamento das informações de contexto de execução das tarefas no TCB e no stack. O valor da memória RAM deve ser grande o suficiente para suprir as necessidades do Kernel e das tarefas da sua aplicação.

Custo: Tanto o custo do RTOS quanto o custo extra do hardware necessário para

suportar o RTOS devem ser levados em consideração.

RTOS disponíveis no mercado :

• Free RTOS • NetBSD(baseado no UNIX) • Windows CE Embedded • Windows NT Embedded • Tinys OS • uClinux

Cada RTOS disponível no mercado possui vantagens e desvantagens. A escolha do melhor sistema depende dos requisitos de hardware e software do produto.

Comparação de Alguns Sistemas de Tempo Real :

FIM!

Wellington Cássio Pâmela Raiane Jéssica Luiza Sebastião Realino

Até o momento nenhum comentário
Esta é apenas uma pré-visualização
3 mostrados em 16 páginas