Mentor: Gerardo Richarte
Second mentor: Hernan Wilkinson
Level: Intermediate
Invited students: Guido Chari, Javier Pimás
Students interested: Guido Chari(very), Flávio Cruz, Mirko Kiefer, Javier Pimás

''Operating System: An operating system is a collection of things that don't fit into a language. There shouldn't be one.'' – Dan Ingalls, said that on 1981. That is the aim of SqueakNOS. The aim of the project is to make a Pharo image that is bootable without having a base Operating System as a backend, as we've done with Squeak. Once this stage get's completed, we plan to model a simple persistence scheme so we can save changes within running image, to work around this temporary shortcoming that actual SqueakNOS has. Then we could load the sources which isn't possible right now because of the lack of disk support. To summarize, to carry out all the things needed to have a PharoNOS that has all Pharo functionallity.

Technical Details

  • Actually there is an SqueakNos image with some different shortcomings. The idea is to study the virtual machine (the interpreter) and get the knowledge needed to compile it with all its necessary configurations, (primitives, modules, etc) so that different images from different dialects could be loaded without an operating system supporting it.
  • Adapt a Pharo Image so that it can run with the new compiled VM and without an operating system supporting it. This implies to make compatible all interruption mechanism.
  • Implement a persistent scheme, probably only write and read from blocks of disc, or some FAT type filesystem. This would help to have persistence work, the changes to the image would be save on disk and also the .sources would be readable.
  • Make Virtual appliances for the most known virtual players so it would be easy for everyone to use it.

Benefits to the Student

  • Study persistent schemes having in mind the factibility of the environment.
  • Model low-level stuff concepts on a dynamic and pure object environment.
  • Study compilation of complex virtual machines.

Benefits to the Community

  • The aim of the project is to have an operating system written almost purely in Smalltalk. That implies lot of things for the community. It would be easier to learn concepts, lo implement new concepts and to try them.
  • The image would be an open source tool for everyone where they can interact with hardware from a dynamic and high level language.
  • Smalltalk is a unique language in that it allows programmers to focus in actual problems without having to care on the way they communicate with the computer. This project can be of a lot of help in education and research environments, allowing to easily explore, try and test different hardware communication models with a myriad of different devices.

Updated: 22.3.2010