On Fri, 29 Jan 2010, Jecel Assumpcao Jr wrote:
Levente Uzonyi wrote on Date: Wed, 27 Jan 2010 23:04:05 +0100 (CET)
Opinions? Ideas?
If you haven't seen it already, you should really check out David Ungar's work:
Thanks for the pointer to the paper, I saw a video about it but I can't find it atm.
My idea is much simpler than this and (ideally it) would work with current images. What I'm interrested in is if it's doable or not? If it's doable, how much work would it be to do it?
My plan is to work on this from late March to the end of June.
You mean you are about to reimplement that vm?
Levente
-- Jecel
Levente Uzonyi wrote on Fri, 29 Jan 2010 22:43:30 +0100 (CET)
Thanks for the pointer to the paper, I saw a video about it but I can't find it atm.
David Ungar's 2008 Squeak BOF talk can be found at
http://goran.krampe.se/blog/OOPSLA/OOPSLA08-more.rdoc
I try to keep a reasonably up to date list of Smalltalk related movies like these at
http://www.smalltalk.org.br/movies/
My idea is much simpler than this and (ideally it) would work with current images. What I'm interrested in is if it's doable or not? If it's doable, how much work would it be to do it?
I had a similar suggestion for SqueakNOS. The way it is now, it is like DOS in that any application can bring down the whole system. If you use two images instead, one with access to the low level SqueakNOS stuff and the second just running user level code then you would have something closer to Unix in terms of security. Some primitives in the second image (which could be an unmodified current one) would generate messages to the first image with all the drivers and OS level code.
This isn't particularly original - in the "green book" there is a description of the LOOM virtual memory system for Smalltalk that also used two images to get the job done (chapter 14 - pages 251 to 271).
My plan is to work on this from late March to the end of June.
You mean you are about to reimplement that vm?
I'll post more details later this week on squeak-dev, but the basic idea is to replace the ObjectMemory part of the VM and patch the message passing so that images can reference each other's objects and send messages between themselves. The same scheme is also used as a virtual memory. allowing binary blobs to be loaded and unloaded on demand. The goal is to be able to run well on machines with up to thousands of cores. And to be usable by children.
This is very similar to David Ungar's work, but is not really based on it and is more an evolution of some of my previous projects (I built a 64 node Self/Smalltalk computer in 1992 with 68020 processors and Transputers though the software was only partly implemented, and I did an extremely parallel version of Self in 1997).
-- Jecel
vm-dev@lists.squeakfoundation.org