On Friday, 12 October 2012 at 13:24:06 UTC, mist wrote:
On Friday, 12 October 2012 at 12:20:16 UTC, Tim Krimm wrote:
1) Do you consider garbage collection to be an issue in
embedded programming?
2) Are you dealing with hard timing constraints where garbage
collection could be an issue?
I would love a copy of your presentation
================================================
I think the XOMB operating system project was a D1 project
not a D2 project.
but this may be of interest:
http://wiki.xomb.org/index.php?title=XOmB_Bare_Bones
The XOmB Bare Bones distribution is a minimal 64 bit OS
written in D, distilled from the main project by wilkie and
Steve Klabnik.
================================================
1) Embedded programming today means freaking lot of environment
from microchips to custom hardware server clusters :) Sometimes
it is an issue, sometimes not, but that is definitely a thing
you need to remember about all the time.
2) Yes.
I have had a similar questions from my colleagues, that is
exactly why I was asked to research this topic in detail. I ll
share it when it will be done, but that won't be any soon.
XOMB is exactly on the D1 projects I was referring to, when was
asking if any more modern analogues exist :)
I would have a look at real time JVMs/AOT compilers, as they show
the current state of the art in GC enabled systems targeting
embedded devices.
In case you don't know any:
http://www.atego.com/products/aonix-perc-pico/
http://www-01.ibm.com/software/webservers/realtime/description.html
http://www.research.ibm.com/people/d/dgrove/papers/emsoft05.pdf
Eventually D's GC will be comparable to those.
Although it is not D, have a look at BlueBottle, it is
implemented in Active Oberon, with only some hardware glue in
Assembly. Fully usable desktop system implemented in a GC enabled
systems programming language.
http://www.ocp.inf.ethz.ch/wiki/
http://www.ocp.inf.ethz.ch/wiki/Documentation/WindowManager
The system is since the late 90's used at ETHZ.
Something like this would be fully possible with D, even better.
Having been a user of the first generation of this OS (Native
Oberon) has convinced me that OS development in GC enabled
systems language is possible, even thought there are some cases
where it might not make sense. I wouldn't want a GC
stop-the-world in a plane computing system. :)
Sorry if my post is too off-topic, just wanted to raise some
points you could somehow use to pimp up D.
--
Paulo