Parrot on RTEMS

Chris Johns chrisj at rtems.org
Fri Apr 16 23:38:34 UTC 2010


On 17/04/2010 8:34 AM, Stefan O'Rear wrote:
> On Fri, Apr 16, 2010 at 03:29:40PM -0700, Jonathan Leto wrote:
>> Howdy,
>>
>>> I'm not sure I follow here.  The Parrot VM is not designed for real time
>>> operation, and it cannot provide timing guarantees for several reasons
>>> (most importantly, our stop-the-world garbage collector).  Without
>>> multitasking, Parrot cannot be used to control other systems that do
>>> depend on real time.  So, what role is left for Parrot to fill?
>>
>> Firstly, if the process is short-lived, disabling the garbage
>> collector via -G gets us around the issue of not having a real-time
>> GC. Also, many people have shown interest in getting a real-time GC in
>> Parrot, and having Parrot on RTEMS gives us a place to develop and
>> test it.
>>
>> There is also the fact that everything running on real-time hardware
>> doesn't necessarily have to be "real-time" at the same time scale.


VMs on real-time systems provide access to languages and the features 
they bring. Real-time systems can be set up with a real-time section 
running with specific scheduling and priorities. This code is critical 
to the operation of the hardware and the system. Another part of the 
system may be dedicated to configuration management, reporting and user 
interfacing. If a VM is used this is traditionally where it is found. 
For example Perl and other languages have excellent SMTP support and 
with a few basic modules and some simple code you can send an email. To 
implement this is in C or C++ is much more difficult and error prone.

Could Parrot be used to perform real-time tasks ? I do not know. If 
RTEMS was supported then people with such interests have available a 
suitable tool to look into this and forward its progress.

>
> How can a "single process operating system" have short-lived processes?
>

We would not think of Parrot as the single process, rather Parrot's main 
would become a task or thread and we would start and stop the VM as 
demand requires. This gives the view from the outside of short lived 
processes. Having the Parrot VM start and stop cleanly is important for 
an operating system such as RTEMS.

Chris


More information about the parrot-dev mailing list