Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
dmalberto@outlook.com
12 de maro de 2017
Resumo: Os sistemas de tempo real, alm de necessitar cumprir os requisitos das aplicaes funcionais,
tambm precisam cumprir os requisitos no funcionais, como, principalmente, restries temporais e de
memria. Para o desenvolvimento de aplicaes para estes sistemas, pode-se utilizar das cinco principais
linguagens de programao de tempo real: Assembly, C, C++, Ada e Java. A utilizao de cada uma delas varia
na busca em equilibrar a portabilidade, flexibilidade, abstrao, manipulao de recursos e previsibilidade de
acordo com cada projeto. Quando se quer um programa em mais baixo nvel, utiliza-se o Assembly. Com esta
linguagem possvel ter controle de vrios recursos e grande previsibilidade. A linguagem C fornece um bom
nvel de abstrao, tambm permitindo acesso aos detalhes do hardware. Devido aos inmeros compiladores
existentes para esta linguagem, podemos dizer que uma linguagem de grande portabilidade. A linguagem C++
fornece uma abordagem mais amigvel no desenvolvimento das aplicaes, por ser orientada a objetos. Esta
linguagem gera um maior grau de abstrao e facilita aspectos de modelagem do projeto, melhorando assim a
flexibilidade. A linguagem C++ possui desvantagem na portabilidade, pois seus compiladores no so to
abundantes como na linguagem C. A linguagem Ada considerada a linguagem mais equilibrada. Sua
portabilidade razovel, porm apresenta tima flexibilidade, abstrao, manipulao de recursos e
previsibilidade. Entretanto, sua alta complexidade acaba a afastando de pequenas aplicaes. A linguagem Java
RT possui excelente portabilidade, flexibilidade e abstrao, porm, a manipulao de recursos e a
previsibilidade so desvantagem em relao s as outras linguagens.
Palavras Chave: sistemas em tempo real, linguagens de programao, sistemas operacionais de tempo real,
Ada, Assembly, C, C++, Java
Nos ltimos anos, com a evoluo das Sistema de tempo real definido como um
aplicaes computacionais, ocorreu tambm o gerenciador de recursos de um sistema computacional
aumento da utilizao dos sistemas embarcados. atravs de um sistema operacional de tempo real,
Diretamente proporcional a este aumento, elevou-se a onde, alm de necessitar cumprir os requisitos das
complexidade dos projetos, e para atender a esta aplicaes funcionais, deve garantir que todos os
demanda de projetos, foram necessrias melhorias eventos sejam atendidos dentro de suas restries de
nos sistemas operacionais que executam as tempo, sendo gerenciados de forma eficiente.
aplicaes embarcadas.
O desenvolvimento das aplicaes que
Neste contexto, houve necessidade de operam nos sistemas de tempo real, tornou necessrio
desenvolvimento de um grupo de sistemas para o uso de linguagens programao especficas que
gerenciamento de restries de tempo. Estes sistemas atendessem cada requisito. Estas linguagens tambm
so chamados de sistemas de tempo real. Alm de deveriam atender a portabilidade, flexibilidade,
executarem as tarefas de processamento e controle abstrao, manipulao de recursos e previsibilidade
de informaes, estes sistemas possuem respostas ao de tempo de acordo com cada projeto. Linguagens
ambiente dadas em um tempo hbil, evitando que que atendem esses requisitos so chamadas de
linguagem de programao para sistemas de tempo responsvel pela organizao de todo o trabalho do
real. processador.
Baker, T. (1990). A stack-based resource allocation Sistemas de Tempo Real -uC/OS II. Disponvel em:
policy for realtime processes, Real-Time <https://sergioprado.org/sistemas-de-tempo-real-part-1
Systems Symposium, 1990. Proceedings., 11th pp. /> Acesso em 05/03/2017
191200.
Compilers Laboratory - Linguagens de Programao.
John Wiley & Sons ed. 2004. Concurrent and Disponvel em:
Real-Time Programming in Java <http://homepages.dcc.ufmg.br/~fernando/classes/dcc
024/ementa/readingMat/IntroLecture.pdf> Acesso em
10/03/2017