Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Apresentação Sistemas Operacionais de Tempo Real, Notas de estudo de Engenharia Informática

Apresentação Sistemas Operacionais de Tempo Real

Tipologia: Notas de estudo

2013

Compartilhado em 11/06/2013

wellington-cassio-faria-8
wellington-cassio-faria-8 🇧🇷

4.5

(37)

129 documentos

1 / 16

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Sistemas Operacionais
de Tempo Real
Wellington Cássio
Pâmela Raiane
Jéssica Luiza
Sebastião Realino
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Pré-visualização parcial do texto

Baixe Apresentação Sistemas Operacionais de Tempo Real e outras Notas de estudo em PDF para Engenharia Informática, somente na Docsity!

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 chi p, 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.

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.

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:

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

  1. 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.

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.

FIM!

Wellington Cássio

Pâmela Raiane

Jéssica Luiza

Sebastião Realino