[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