I love this idea :)
Le 20/12/14 05:08, Ben Coman a écrit :
Just some thoughts that arose as I skipped along the web...
With the idea of using Pharo in the cloud, I was thinking of how
PharoNOS[1] is basing off top of the Linux kernel, but the examples
indicate its operating in User Mode. So I was wondering about
performance being greater[2] if the CogVM ran in Kernel Mode. However
maybe this could get tangled in the GPL license of the kernel.
Now I believe FreeBSD/NetBSD license is compatible with COG's MIT
license, so that seems a better option for eliminating layers of the
operating system. They both[3][4] have pre-built Amazon Machine
Images to run on EC2, as well as instructions[5] to build your own
AMI. So potentially we could build an AMI with the CogVM linked to
the FreeBSDKernel operating in Kernel Mode, with no User Mode. The
lack of direct access to memory from the Image, and probably single
application focus should be sufficient security to forgo User Mode,
and run faster.
But we could go a step further. Runing in the cloud relies heavily on
virtualisation, and for performance[6], most likely on the OS's
paravirtualisation interface - to Xen for example. So from Cog, why
not interface direct to the Xen FrontEndDriver[7] and eliminate the
DomU operating system all together. What I understand from [6] is
that Xen's paravirtualisation hooks makes it much easier to boot, than
booting on the bare metal of a fully-virtualised system. So the former
seems more achievable than the latter (which was the only option in
years past), and also be more portable as technology evolves, to any
platform Xen runs on.
Squeak/Pharo on Cog-Xen could be a good choice for a Cloud Operating
System[8]. Maybe a good student research project?
cheers -ben
[1] http://pillarhub.pharocloud.com/hub/mikefilonov/pharonos
[2] http://blog.codinghorror.com/understanding-user-and-kernel-mode/
[3] http://www.daemonology.net/freebsd-on-ec2/
[4] http://wiki.netbsd.org/amazon_ec2/amis/
[5] http://wiki.netbsd.org/amazon_ec2/build_your_own_ami/
[6] http://wiki.xen.org/wiki/Virtualization_Spectrum
[7] http://wiki.xen.org/wiki/FrontendDriver
[8] http://wiki.xen.org/wiki/Cloud_Operating_Systems