Proposal by Guido Chari for PharoNOS

Proposed by Guido Chari (profile, biography) Don't forget to submit this proposal to official Google Melange site too!


How will I do that project

SqueakNos is a complex project to work. The first idea is to work with an image on a vmware player. The first step of the project involves probably compiling the vm, so i would work with vmmaker and the last version of the squeak repositories. Then when the first stage get completed, and a pharo image could be loaded without an operating system, i would use it as i said with a vmware player. Then, for the second stage, the idea is to model a fat32 filesystem for a standadr hardware device. Probably the best for starting is a disk from vmware, a vmdk one.The idea is to put the sources on that disk, and read the file from the image, so the sources of the methods could be read. This is also a goog start for another interesting shortcoming that is not resolved now in SqueakNos, saving the image from inside squeakNos.

 

What methodologies will I use

Probably i will work using TDD when modeling Fat32 and working inside the image. That would help future refactorings. For the first step the idea is to use the makefiles already done for squeaknos, and compile the source of the interpreter with the corresponding changes, so that when a pharo image is loaded instead of a squeak one, the result is the same. 


 

Suggested timeline and milestones

The main idea is to generalize the idea of nosification, of having an image that could be use without an operating system supporting it. Making a pharo image nosified would be a great first step. That's the first objective and I think it could be make during the first half of the project time. I already have expierence compiling the Squeak interpreter and pharo's is the same. 

 The second step involves some kind of persistance. I am working with SqueakNos and i realized there is a very big shortcoming now, that's that we have no sources. I think I should start by modeling FAT32 and have the sources file on a fat32 device. The fat specification is open and not very complex and I also have already expierenced working with devices on SqueakNos.

If there is enough time, it would be nice to start thinking on saving the image from inside. I think it would be factible in 3 months.

 

Where I see the risks

The most important risk i think is with device drivers for using the disk. But i would try to do something general, thats where vmware vmdk would help a lot. I think i shouldn't have troubles on the first staged, but as it involves working with the vm, probably there is the most important hurdle.

How the results will look like

Anybody would be able to download a pharo image that could be loaded without an operating system as there is already one for Squeak. There would be a Virtual vmware appliance, and also anybody would be able to use it directly on their hardwares.




Updated: 16.4.2010