Sie sind auf Seite 1von 9

Seleo de Sistemas Operacionais de Tempo Real para Sistemas Embarcados

RESUMO
O presente documento pretende apresentar as principais caractersticas dos Sistemas Operacionais de Tempo Real para aplicao em Sistemas Embarcados , a proposta sugerir uma metodologia para escolha de um Sistema Operacional mais apropriado a ser aplicado em um hardware especfico, levando-se em conta arquitetura do microprocessador ou microcontrolador escolhido.

Palavras-Chave: Sistemas Embarcados, Sistemas Operacionais, Tempo Real 1. INTRODUO Os Sistemas Embarcados encontram-se cada vez mais presentes em nosso dia-a-dia atravs de dispositivos como telefones celulares, decodificadores de TV, aparelhos de DVD e PALMs, porm, a maioria destes dispositivos controlada por um conjunto dedicado e especialista constitudo por hardware, software e perifricos dedicados, mas a crescente demanda por maior conectividade, acesso a Internet e funes multimdia, exige destes dispositivos maior sofisticao, com essa utilizao e importncia crescente tornam-se necessrios estudos na rea de Sistemas Operacionais de Tempo Real modularizados e robustos, atendendo assim a nova necessidade de mercado. No mesmo sentido, a escolha de um RTOS(Sistema Operacional em Tempo Real) leve, tolerante a falhas e que suporte o desenvolvimento de aplicaes de forma simples muito necessria. 2. SISTEMAS EMBARCADOS Um sistema embarcado, ou sistema embutido, um sistema no qual a CPU (Unidade Central de Processamento) completamente dedicada ao sistema que ela controla. Realiza um conjunto de tarefas pr-definidas, geralmente com requisitos especficos, e por ser dedicada pode-se otimizar o projeto reduzindo tamanho, recursos computacionais e custo do produto. Sistemas embarcados so desenvolvidos para uma tarefa especfica. Por questes como segurana e empregabilidade, possuem restries para computao em tempo real. O software desenvolvido para sistemas embarcados muitas vezes chamado firmware1, e armazenado em uma memria do tipo ROM ou memria do tipo flash ao invs de um disco rgido. Por vezes o sistema tambm executado com recursos computacionais limitados sem tela, sem teclado, e com pouca memria. 2.1 HISTRICO

O primeiro sistema embarcado reconhecido foi para o Projeto Apollo, um computador de guia, que operava em tempo real, e era considerado o item mais arriscado do sistema. J o

Software armazenado em memria do tipo ROM

V SEGeT Simpsio de Excelncia em Gesto e Tecnologia

primeiro sistema embarcado de produo em massa foi o computador guia do mssil nuclear LGM -30 Minuteman, lanado em 1961. Em 1978 foi lanada pela National Engineering Manufacturers Association a norma para microcontroladores programveis. 2.2 PROCESSAMENTO

Processadores embarcados podem ser classificados em duas categorias (dependendo da necessidade do hardware), microprocessadores e microcontroladores. Existem diferentes arquiteturas de processadores e microcontroladores disponveis tais como ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80 e Z8. Para cada uma dessas arquiteturas deve-se usar o RTOS(Sistema Operacional de Tempo Real) apropriado, uma vez que cada uma das arquiteturas acima possuem restries de projeto, tais como capacidade de memria , tamanho e principalmente consumo. 2.3 PANORAMA DOS TIPOS DE ARQUITETURAS EMBARCADAS MAIS EMPREGADAS

Fig- 1 Panorama das Arqiteturas mais empregadas

2.4

APLICAES DE SISTEMAS EMBARCADOS integrados nas aeronaves, como sistemas de orientao de msseis.

Avinicos, como sistemas de controle inercial, controle de vo e outros sistemas Telefones celulares e centrais telefnicas. Equipamentos de redes de computadores, como roteadores, hubs, switches e firewalls. Impressoras.

V SEGeT Simpsio de Excelncia em Gesto e Tecnologia

Controladores da trao, do motor e do antibloqueio em automveis: freios ABS (Antilock Braking System) e controle de trao. RESTRIES IMPOSTAS 2.5

Sistemas Embarcados operam forosamente com recursos de memria e processamentos limitados e necessitam prover servios em curto espao de tempo, so esses confinamentos de memria, velocidade e tempo que ditam a escolha do Sistemas Operacionais de Tempo Real mais indicado para tal aplicao. 3 3.1 SISTEMAS OPERACIONAIS DE TEMPO REAL DEFINIO

Um Sistema Operacional de Tempo Real (RTOS) , um sistema operacional destinado execuo de mltiplas tarefas(multitasking) onde o tempo de resposta a um evento (externo ou interno) pr-definido. So sistemas computacionais nos quais podem garantir que todas as funes programadas sero executadas em um intervalo mximo de tempo definido para cada funo em toda e qualquer momento. 3.2 ATUAO DE UM SISTEMA OPERACIONAL DE TEMPO REAL Um Sistema Operacional de Tempo Real deve atuar basicamente: Sistema de controle, responsvel por responder aos estmulos do ambiente em tempo hbil. Interfaces de entrada e sada, portas de comunicao entre o sistema de controle e o sistema controlado, geralmente neste, so sensores, atuadores, receptores de sinais de rdio, entre outros. Sistema controlado, o ambiente com que o computador interage. 3.3 3.3.1 CARACTERSTICAS

CARACTERSTICAS PRINCIPAIS DE UM RTOS

Previsibilidade - importante propriedade de um sistema em tempo-real, dita seu comportamento funcional e temporal que deve ser to determinstico quanto impe as especificaes do sistema. Confiabilidade est relacionada exatido no funcionamento do sistema, ou seja, a falha do sistema que pode gerar uma resposta fora do tempo esperado.

3.3.2 CARACTERSTICAS INERENTES AOS SISTEMAS DE TEMPO REAL:


Utilizam-se diversos processos concorrentes. preciso escalonar os processos e determinar prioridades. Existe necessidade de comunicao (sincronizada) entre os diversos processos. Existe necessidade de sincronismo entre processos. Existe necessidade de sincronismo com eventos externos.

V SEGeT Simpsio de Excelncia em Gesto e Tecnologia

Necessrio lidar com diferentes escalas de arquiteturas, desde pequenos microprocessadores de 4-bits ou 8-bits, at computadores de grande porte interligados em rede. Possuem forte interao com o ambiente externo. 3.4 ASPECTOS FUNCIONAIS DE UM RTOS O Kernel2 de um Sistema Operacional de Tempo Real (RTOS) provem os cinco principais servios bsicos para o software de aplicao numa arquitetura embarcada. Estes conjunto de servios permitem ao desenvolvedor do software de aplicao projetar o software como um nmero separado de mdulos, sendo cada mdulo responsvel por uma tarefa distinta[2].

3.4.1 GERENCIADOR DE TAREFAS


Agendador de Processos (Task Scheduler ) das operaes dos sistemas embarcados. Trabalha com o conceito de preempo3 baseada em prioridades. Processos marcados como alta prioridade tem primazia sobre os demais. 3.4.1.1 ESTRATGIAS DE ESCALONAMENTO DE PROCESSOS PARA SEREM ALOCADOS EM UMA NICA CPU: Cclica - a CPU alocada para um processo de cada vez. Preemptiva - o mecanismo de escalonamento denominado preemptivo se um processo em execuo pode ser interrompido

Fig- 2 Processo de escalonamento de tarefas preempitivo

As mudanas de processos acompanham o agendamento preemptivo, dependendo dos gatilhos externos (chaves) ou internos por software(chegada de mensagens). A mudana dos processos seguem 5 passos principais: Determinar se o processo que est rodando atualmente pode continuar a ser executado, se no; Determinar qual processo ser o prximo Salvar o ambiente de execuo do processo que ser parado (para que o mesmo possa voltar)
2

Camada de software mais prxima do hardware, sendo responsvel por gerenciar os recursos do sistema computacional como um todo 3 Capacidade de alterar a ordem ou tirar de execuo um processo

V SEGeT Simpsio de Excelncia em Gesto e Tecnologia

Ajustar ambiente para o novo processo que ser executado Chamar o prximo processo 3.4.1.1.1 EXCLUSO MTUA Em programao concorrente usual que mais de um processo precise compartilhar dados. Para garantir a integridade desses dados, quando um determinado processo est acessando uma rea de dados compartilhados, outros processos tem de esperar para poder us-la. 3.4.1.1.2 SEMFOROS Criados inicialmente para resolver o problema da excluso mtua, especialmente no que diz respeito ao problema da espera ocupada. Mecanismo eficiente de sincronizao, independente de caractersticas particulares da arquitetura dos computadores. 3.4.2 TEMPORIZADORES

Aplicaes que envolvem a passagem de tempo Controla os atrasos dos processos (time-out) Ler data e hora (atualizam de histrico) Realizar determinada ao depois de X unidades de tempo Realizar determinada ao depois de Y unidades de tempo a partir do instante atual (protocolos) Realizar determinada ao a partir do instante absoluto de tempo Z 3.4.3 RECURSOS DE MEMRIA

Capacidade dependente do sistema embarcado Exemplo de uma configurao de memria para um RTOS LInux (32Mb de SDRAM, 16Mb de flash (8Mb paralela e 8Mb serial) Alocao de memria dinmica. Permite que o processo tome emprestado determinadas reas de memria RAM. Temporariamente para uso no software de aplicao. 3.4.4 SUPERVISOR DE DISPOSITIVOS DE E/S

Controla e organiza acesso de muitos drivers de dispositivos de hardware que so tpicos dos sistemas embarcados 3.4.5 OUTROS SERVIOS DE UM RTSO:

Organizao de sistemas de arquivos Comunicao de redes Banco de dados Interfaces grficas

V SEGeT Simpsio de Excelncia em Gesto e Tecnologia

4 4.1

ALGUNS TIPOS DE SISTEMAS OPERACIONAIS DISPONVEIS Free RTOS

Sistema operacional de cdigo aberto e direitos autorais livre, possu um mini Kernel, podendo ser utilizado tambm em aplicaes comerciais. Suporta as seguintes arquiteturas de microprocessadores e microcontroladores (ARM&, ARM9, AVR, PIC24, DSPPIC e microcontrolador 8051). 4.2 NetBSD(baseado no UNIX)

um sistema operacional em tempo real, que trabalha com cdigo aberto, como desvantagem apresenta necessidade de memria, podendo chegar 16Mb de RAM. Boa opo para trabalhar com dispositivos de redes (roteadores , switches). 4.3 Windows CE Embedded

Sistema operacional lanado pela Microsoft, no disponvel em cdigo aberto, com tamanho relativamente compacto e possibilidade de incorporar novos mdulos e componentes. 4.4 Windows NT Embedded

SO tambm desenvolvida pela Microsoft, de cdigo fechado, necessita de grande rea de memria , no sendo indicado para embarcados. 4.5 Tinys OS

Sistema operacional de cdigo aberto e projetado para redes de sensores wireless4. Biblioteca de componentes inclui protocolos de redes. Portabilidade de uma dzia de arquiteturas de controladores 4.6 uClinux

SO de cdigo aberto e completamente voltado para sistemas embarcados. Com Kernel menor que 1 Gb, e suporte ao protocolo de redes TCP/IP. 5 5.1 REQUISITOS PARA ESCOLHA DE UM SISTEMA OPERACIONAL DE TEMPO REAL REQUISITOS RELEVANTES PARA ESCOLHA DE UM SISTEMA OPERACIONAL DE TEMPO REAL PARA UMA DETERMNADA ARQUITETURA

Na tabela abaixo, so apresentados critrios relevantes para auxiliar na escolha de um RTOS (Sistema Operacional de Tempo Real) a ser empregado em um sistema embarcado, utilizando uma arquitetura de processador especfica. Sempre levando em conta as limitaes bsicas impostas a um sistema embarcado, como capacidade mnima de memria, processamento limitado, alm do consumo de energia par parte do sistema mvel (embarcado). O propsito deste estabelecer parmetros de comparao entre os vrios RTOS disponveis no mercado.
4

Redes sem fio

V SEGeT Simpsio de Excelncia em Gesto e Tecnologia

Tabela 1 Requisitos relevantes para escola de um RTOS

Categoria Kernel Multiprocessamento Falha de tolerncia Algoritmo Agendamento

Critrios de Avaliao Arquitetura Multi-processadores

Mecanismo de prioridade Tempo de realizao das tarefas (processos) Nmero de nveis e prioridades Nmero mximo de tarefas Dinmica de troca de prioridades Espao mximo e mnimo por tarefas Espao mximo e mnimo de ROM Alocao Dinmica Memria Virtual Timer interno e externo Sincronizao Comunicao entre processos Protocolos de redes Tipo de cdigo fonte do RTOS se aberto ou no Compilador Processadores suportados Linguagens para desenvolvimento

Modelos das Tarefas

Memria

Aplicaes Programao Interface

Desenvolvimento

5.2

COMPARAO DE ALGUNS SISTEMAS OPERACIONAIS DE TEMPO REAL


Tabela 2 Comparao de alguns RTOS mais utilizados

FreeRTOS Plataformas Windows Linux ARM/AVR/ Arquiteturas PIC18 8051 X86 Linux X86

eCOS Windows Solaris

RTX-3.2 Windows PowerPC ARM Hitachi

PowerPC ARM Freescale 68k

V SEGeT Simpsio de Excelncia em Gesto e Tecnologia

WINAVR Compiladores GCC KEIL IAR Distribuio Suporte para redes Kernel ROM Kernel RAM 2Kbytes 5Kbytes 200bytes Gratudo Gratudo TCP/IP Telnet HTTP <1250bytes <600bytes Play Staion 3 Aplicaes comerciais Radio do Satlite Sirius Missil Patriot TVS de LCD da Sansung 6 CONCLUSO: www.freeRTOS.org www.ecoscentric.com GCC

Keil TI IAR No gratuto TCP/IP Telnet FTP

Aplicaes

At esse ponto sobre o estudo apresentado sobre um RTOS, foram levantados que os mesmos so dependentes de caractersticas bsicas de um sistema embarcado, limitando-os no hardware (memria e economia de energia), software (aplicaes em tempo real) e custo. Pelo acima exposto necessrio considerar na escolha de um bom RTOS (Sistema Operacional de Tempo Real) alguns quesitos como tamanho do Kernel (compatvel com tamanho de memria disponvel no hardware) a ser empregado, o algoritmo para tratamento e nmero de interrupes atendidas pela arquitetura utilizada, aplicaes internas e externas com o sistema, temporizaes, documentao disponvel, e outros implementos (compiladores , linguagens, outros) fornecidos pelo fabricante, e conforme demonstrado atravs da tabelas- 1. Conclui-se com isso, ser possvel chegar a uma escolha do mais prximo possvel de um RTOS apropriado a um sistema embarcado com arquitetura especfica. 7 REFERNCIAS BIBLIOGRFICAS: TIMMERMAN, Martin .RTOS STATE OF THE ART Disponvel em: http://www.freertos.org/implementation/index.html - Acesso em: 20/04/08 PRADO, Sergio. DESENVOLVIMENTO DE SOFTWARE PARA SISTEMAS EMBARCADOS Disponvel em: http://www.embedded.com/design/multicore/ - Acesso em: 20/04/08

V SEGeT Simpsio de Excelncia em Gesto e Tecnologia

MORIMOTO, Carlos E. INTRODUO SOBRE SISTEMAS EMBARCADOS Disponvel em: http://www.embarcados.com.br/content/view/ - Acesso em: 22/04/08 Fabricantes de Sistemas Operacionais de Tempo Real. Disponvel em: www.embarcados.com.br www.tinyos.net www.armkits.com http://linuxabordo.com.br http://linuxdevices.com http://freeelectrons.com http://ucdot.org Qemu: http://fabrice.bellard.free.fr/qemu/ http://www.busybox.net/ http://www.codesourcery.com/

Das könnte Ihnen auch gefallen