[GAP] MaRTE OS beta release: port to the GAP compiler for bare machine and Linux

Michael Gonzalez mgh at unican.es
Wed Nov 24 09:58:44 CET 2004


Hello,

I am pleased to announce that Mario Aldea has just completed the beta 
release of a new version of MaRTE OS, porting it to the new GAP 
compiler. MaRTE OS 1.56(beta) is available from the MaRTE OS web page:

    http://marte.unican.es/

The new version continues to be focused on embedded/bare-machine x86 
systems, but also incorporates the ability to run a MaRTE OS program as 
a linux process, by adapting to the new version the work done by Miguel 
Masmano from the Polytechnical University of Valencia.

In its current form, when installing, you can choose three 
architectures: bare machine, linux but with the MaRTE OS libraries (thus 
restricting yourself to a minimum system with no file system), and linux 
with linux libraries, in which you have access to the file system and 
other OS features. In all cases, tasking is implemented with MaRTE 
tasks/threads, and therefore the scheduling is with fixed priorities.

The latter platform can be used to run general-purpose programs in 
Linux, with a scheduling that follows the real-time annex, and is 
therefore particularly well suited for teaching in real-time courses. 
You also have access to all the real-time POSIX interfaces, both in C 
and Ada. It can be used as a replacement of the no-longer-supported FSU 
threads that were used in previous versions of the GNAT compiler.

Of course, since Linux is not a real-time OS you cannot expect real-time 
performance in that platform, but for a standalone application with 
nothing else running on the box the response time is quite acceptable on 
average.

Being a library, the implementation suffers from the same problem that 
FSU threads had, which is that if a task calls a blocking service, the 
OS will suspend the whole process, because it has no knowledge of its 
threads. This problem has a solution, but it is complex and it is 
probably not worth implementing it.

MaRTE OS already has builtin support for some of the new features being 
discussed for Ada 200Y. For example, execution-time budgets, round robin 
scheduling, and application-defined scheduling. So once the interfaces 
have been settled in Ada 200Y we could easily work in providing these 
services to the Ada programmers.

Enjoy it!

Best regards,

Michael.
-----------------------------------------------------------------------
Michael Gonzalez Harbour                  E-mail: mgh at unican.es
Dpto. de Electronica y Computadores       URL: http://www.ctr.unican.es
Universidad de Cantabria                  Phone : +34-942-201483
Avda. de los Castros s/n                  Fax   : +34-942-201402
E-39005 Santander
SPAIN
-----------------------------------------------------------------------




More information about the GAP mailing list