Dwight Hughes dwighth@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
Another possible microkernel for SqueakOS:
http://www.chat.net/~jeske/VSTa/index.html
Here's a brief description from the site:
VSTa is quite different than your typical free UNIX. First, it does not even try to be exactly a UNIX; areas which have proven to be problematic for extensibility or efficiency have been changed. For instance, signals are strings, as are error numbers. Thus, VSTa is much more of a platform for experimentation with beyond UNIX ideas than simply another implementation of UNIX.
The other major difference from "classic UNIX" is that VSTa is a microkernel. The microkernel provides messaging, processes, and virtual memory. All filesystems and device drivers run as user-level tasks. The kernel is 40K, and has remained at this size for quite a while, while the system as a whole has gained significant functionality...
On Fri, 1 Jan 1999, Steve Dekorte wrote:
Another possible microkernel for SqueakOS:
http://www.chat.net/~jeske/VSTa/index.html
Here's a brief description from the site:
VSTa is quite different than your typical free UNIX. First, it does not even try to be exactly a UNIX; areas which have proven to be problematic for extensibility or efficiency have been changed. For instance, signals are strings, as are error numbers. Thus, VSTa is much more of a platform for experimentation with beyond UNIX ideas than simply another implementation of UNIX.
You may also want to consider L4 as a microkernel.
http://os.inf.tu-dresden.de/L4/
Fred Bacon
========================================================================== Aerodyne Research, Inc. Phone: (978) 663-9500 ext. 273 45 Manning Rd. FAX: (978) 663-4918 Billerica, MA 01821-3976 http://www.aerodyne.com ========================================================================== Me spill chucker woks grate. I needle gramma chicken.
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@wdi.disney.com wrote:
Dwight Hughes dwighth@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
squeak-dev@lists.squeakfoundation.org