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




Reply via email to