On Wed, 2006-05-24 at 11:56 +0000, Jeremy O'Donoghue wrote:
Luke A. Guest <laguest <at> archangeli.demon.co.uk> writes:
Hi,
I've just started to look at L4 and I'm using L4ka::Pistachio as a starting point. I'm trying to read as much as possible and have found a reference to sigma1, but no docs on it. Can anyone elaborate on what this is for?
AFAIK, sigma1 disappeared a long time back - I've been working with Pistachio for about 18 months now, and have never seen it!
I just wanted to know what it was as I'd seen it mentioned, but nothing else was documented, then I saw references to it in relation to persistence.
Given the name, I suspect that it probably formed part of a previous implementation of platform memory management. On more recent Pistachio kernels,
AFAIK, sigma1 is not implemented in the Pistachio kernel, although there is persistence work going on on l4ka.org.
a privileged thread, sigma0 'owns', all platform memory on startup. Thread pagers (root task, by default) obtain memory by requesting it from sigma0. Sigma0 has disappeared from the latest Pistachio kernels as well, so even the information above is version dependent.
Really? I've not seen this, which version? I'm using 0.4 Pistachio from the downloads area.
Learning about L4 in general can be frustrating as, being in significant part, a research vehicle, much of the background documentation is in conference papers and thesis extracts, and dates quickly (L4::Pistachio is evolving very rapidly). The background material is still useful, but you need to be aware that it's not always relevant to the latest releases.
Tell me about it, I'm also relearning the OS theory as I go along at the same time. I'm totally confused by memory handling at the moment.
The source code is your friend here (although the user manual and refman are reasonably up to date). Most of the code is well written and structured (if sparsely commented), although it requires very good C++ and CPU platform knowledge to follow in detail.
Yeah, I'm trying to find as much as possible to see what others do in certain situations.
You don't mention whether you have done so or not, but you would be well advised to start off with the Iguana release. Iguana presents a much more friendly API on L4, and is also a very useful source of programming techniques.
I have got the Iguana source code down, but it's difficult to find something specific when you don't really know it very well.
I'm attempting to document my efforts here: http://www.geocities.com/munkee_chuff/ Feel free to read it and email me with anything I might get wrong.
Thanks, Luke.