XpdWiki

FrontPage
RecentChanges
XtC
FindPage
PageIndex
XpApprentices

Set your name in
UserPreferences

Edit this page

Referenced by
...nobody




JSPWiki v2.0.52


OliBye_blogentry_050705_1


SqueakNOS

I happened to notice that somebody as done a bit of gardening on the SqueakNOS wiki page on minnow http://minnow.cc.gatech.edu/squeak/1762.

I read the Back to the Future paper again, and feel more inspired to write down my ideas for another crack at SqueakNOS.

Although the original approach got something working, there were no tests, it required a lot of low level knowledge to even get it executing. It didn't feel very TestFirst? and after reading the paper again, didn't seem to fit the bootstrapping approach taken when first writing squeak. I say TestFirst? instead of XP, as I still don't really have a UserStory for SqueakNOS, however there is something begining to coalesce.

Here are my thoughts.

  • GRUB and the multiboot format now mean that we don't need any assembler, beyond the example in the GRUB manual to call the C entry point.
    • This should remove some of the linux kernel bootstrap code in SqueakNOS.
  • GRUB can load modules from various file systems and over the network and pass details of these to the multi boot kernel.
    • This should remove the rest of the first stage loader in the linux kernel.
    • Should mean we can load larger images that the 2.0 kernel loaders 8mb limit.
  • GRUB can set the video display mode

In short using GRUB should mean SqueakNOS shouldn't need the old 2.0 linux kernel loader it currently uses. A short platform dependent adapter (given in the GRUB manual) should be all that's needed before entry to the Squeak interpretter.

This however leaves the problem of the video, keyboard and mouse interfaces. Since these also use the linux source code to a degree there are link dependencies between it all. If this number of dependencies is low it might be worth trying to just remove the loader.

However this comes to my second thought. The bootstrapping approach of Squeak was to write and debug much in an existing SmallTalk VM. Why can't we take this approach here?

Can I make mock x86 IO objects that would allow the development of the IO drivers in Slang? How can this be done TestFirst??

I'm currently thinking that I should forget graphics and use C's stdout as the Smalltalk Transcript, then get a text Transcript TestRunner to execute when the image loads. The first tests will test character output, and should be runnable in Squeak and SqueakNOS.

As usual, it may take another year to implement these ideas.

As to the UserStory for SqueakNOS I'm thinking I should legally protect it before documenting it.


Edit this page   More info...   Attach file...
This page last changed on 05-Jul-2005 12:03:10 BST by OliBye.