SqueakOS

Dwight Hughes dwighth at ipa.net
Sat Jan 2 01:36:23 UTC 1999


The main limitation to portability is all the x86 low-level code that
handles the general hardware setup and initialization grunge that brings
everything up from "real" mode to protected mode and all the other gory
details - but taking care of this level of grunge is what the OSKit is
all about. It is intended to be portable, but only the x86 version is
available right now (IMO it should be reasonably straightforward to
translate the x86-specific portions to another processor architecture --
the whole design seems to be quite well factored, and someone with
decent low-level Linux/*BSD kernel hacking skills should be able to
adapt a lot of the work already done in other ports). The OSKit uses all
its own C libraries under gcc - so the bulk of the system is portable to
whatever processors gcc has been ported to. Online doc is available at:
    http://www.cs.utah.edu/projects/flux/oskit/doc/
The libraries included with the OSKit seem to cover everything needed to
support a _full_ Squeak port (networking, filesystem, multithreading,
virtual memory, windowing, keyboard, mouse support, etc) except for
sound support. Right now only the XFree86 S3 driver is included for
windowing hardware support (this "includes all video hardware supported
by the XF86_S3 server") - I think you need to use their WIMPi window
manager with this to get the support needed for Squeak (should be a
fairly light-weight solution).

One commercial system based on an earlier much less factored version of
OSKit (version 0.60 IIRC) is Network Storage Solutions' high-performance
SPANstor network storage server OS. They have a full demo that you can
boot and run from a single floppy (I don't know if they mention that
their design is based on the OSKit on their site, but they sent an
announcement to the OSKit mailing list about it a while back).
    http://www.nssolutions.com/

Since the OSKit can wrapper most hardware drivers from FreeBSD/NetBSD
and such, one can take advantage of a lot of work done by others. The
video drivers seem to be the real sticking point - it would be nice to
have much more modular drivers available (perhaps the GGI project
will help with this).

-- Dwight

johnm at wdi.disney.com wrote:
> 
> Dwight Hughes <dwighth at ipa.net> wrote:
> > Also be sure to take a close look at the Flux OSKit version 0.96 just
> > released:
> >
> >     http://www.cs.utah.edu/projects/flux/oskit/
> >
> > You can create very small "kernels" with just the resources required and
> > wrapper code from other unixy OSs.
> 
> Interesting! How portable is OSKit?
> 
> I know that Compaq is running a stripped down Linux on their Itsy
> Palmtop prototype. I believe it uses about 4 MBytes, comparable the
> the stripped-down FreeBSD (PicoBSD) that David Pennell mentioned.
> 
> Squeak doesn't need much from an OS: a display driver, a millisecond
> clock, and a pointing device driver are the minimum; everything else
> is optional including a file system and keyboard input. (Support for
> some sort of interrupt key or button is quite helpful.) I know of at
> least two bare-hardware Squeak ports. Writing drivers for the basic
> display and pointing devices is not too difficult. Adding support for
> a file system, sound output and input, and/or serial ports is also
> straightforward. The one thing I would be loathe to tackle is a TCP/IP
> protocol stack. So, for me, networking is the most compelling feature
> that these micro OS's offer.
> 
> Unfortunately, just having a portable OS kernel may not be sufficient.
> The hardware details required to port the OS to a given device
> may not be published, or the existing OS may use a memory
> protection scheme that that makes it impossible to supplant it
> with a new OS.
> 
> Still, I'd love to see more bare-machine Squeak ports, and I'd
> be happy to see Squeak ported to one of these micro OS kernels.
> 
>         -- John





More information about the Squeak-dev mailing list