On waves ...
A couple of interesting points tonight. I got an invitation to Google wave last week and invited a few friends and colleagues. I had no opportunity to test this out thoroughly as it requires a 3rd party to engage with (me, Google wave and...).
Finally my friendly customer contacted me on wave, as he had some information to pass over that couldn't fit on gtalk chat. So we got started. I have to admit that once you get accustomed to the menu and interaction handlers (like double clicking a comment to get a context menu to add a reply or edit a previous entry) it is very useful, with the possibility to embed objects, links and create a document live in collaboration with one or more people!
On virtualization ...
Now on the VM stuff. It's not a big thing, but I was drawing how a kernel (Linux but it's also applicable to Windows or Mac) and processes hosted are wired together and the picture was so closed to some I have seen from VMWare that I couldn't help double tagging the entries. Here is the result:
It maps perfectly, with Virtual Address Space allocated to processes being overlaid by Virtual machines. The kernel is overlaid by the hypervisor and the kernel processes are like the domain 0.
So why are we forced onto virtualizing when in fact all we are doing is taking the same abstractions a level higher up? Considering that processes do behave and that we have a single machine with a few distinct different programs running, why do we have to virtualize to capitalize on the benefits of say a quad socket, 16 GB of RAM?
If you have no specific drivers requirement (i.e. no shoddy drivers to mess-up kernel space and crash the system) the only other shared space not shown in this diagram is the file system. So should we say that we do machine level virtualization because file system access between applications running in user mode are causing havoc?
Hum. Sound just like it. So I should quickly go to the Workspace Virtualization side of the house to check this out!!!