Sphere

Marcus Denker marcus at ira.uka.de
Fri Aug 10 10:51:09 UTC 2001


Hi!

> The current plan is to damn the torpedos and full-speed ahead on a
> squeak-based implementation of Sphere. I will be continuing to research
> even more advanced language technologies but I need to get something on
> the net ASAP and Squeak seems to be the best of the object oriented
> languages. =

> =

> I read a little about sMaLlTaLk in one of the books I am reading... =

> =

> Now about this "Squeak" implementation. You say that it relies uppon the
> host C compiler to compile certain things? This is no good... I need an
> implementation that does its own harware code generation. =

>
Jep. Squeak uses a Virtual Machine. That is, the Smalltalk Compiler that
ist part of Squeak does not generate machine code as e.g. gcc, but code
for a simple, stack-based machnine. Of course your Processor can=B4t run =

this code. So a Software-implementation of this "Squeak Processor" is neede=
d
to run Squeak. And this has to be implemented somehow. =

Back in the old days this was done in Asm or even Microcode, later most
of the VMs were implemented in C or C++.
In Squeak the VM is implemented in Squeak itself. This great, because you
can use Squeak and it=B4s tools to develop (and Debug) the VM. But: we need
an executable. To build this, Squeak contains a generator that can convert
a subset of Smalltalk (called "Slang") into C. And then you use a C-Compile=
r
to build the executable. =


If you want to have "native code" from inside Squeak, there are two
interesting projects to look at:

1) The Jitter. =

This is a Just-In-Time Compiler for Squeak. This speeds up Squeak
by generating native machine code on the fly instead of interpreting
squeak bytecode...

http://irafs1.ira.uka.de/~marcus/j3/


2) Slang-To-Native code Compiler

This was done as part of the mythical (and long gone) Interval Squeak.
The idea was to build a new Slang Compiler that could generate not
only C-Code, but native machine code for the target plattform. Then
they added the possiblility to execute the code at runtime, without
restarting the VM. (To add new drivers, etc).

The code is available, but hasn=B4t beed used or maintained for some
time. Only ARM is supportet.
(Don=B4t have an URL for this, but I have the code somewhere... I think
this is available at Tim Rowledge=B4s site).
 =

> =

> DOS is, unquestionably, the best OS in existance TODAY.
>
Uhh... that=B4s not what most people who know a litle bit about such
things would say... (actually, from Computer Science perspective it=B4s
pretty bad). =


There is a great Book about modern Operating Systems:

  Operating Systems: Internals and Design Principles
   by William Stallings =


> I will be implementing Sphere on DOS for the following reasons: =

> =

> 1. DOS takes care of all the PC crap that has killed so many other
> aspiring OS projects. =


You might want to look at "OSKit". This is a nice pakacke with many many
different modules that makes building a custom "OS" very easy. I played
with this for some hours and build a "Squeak Kernel".

The cool think with OSkit is that you can built a very special Kernel,
and the simplest possible would be indeed very much like DOS...
(no Virtual memory, no nothing).

      http://www.cs.utah.edu/flux/oskit/

> 2. I can fit DOS, a DPMI host, *AND* Sphere on a single floppy, and
> possibly a second for utilities...

There are allready some "Squeak Demo Disks" out there.

1) SqueakNOS, Bootable Disk with VGA graphics:
This is an active Projekt to build a real Squeak OS.
http://sourceforge.net/projects/squeaknos/

3) Squeak Demo Disk (command-line) using OSKit.
This is actually a real "Squeak Kernel". Nothing
really great, only a command-line SqueakKernel to see
how OSKit works...   =


ftp://ftp.ira.uka.de/pub/squeak/SqueakOS/ =



     Marcus =


-- =

Marcus Denker marcus at ira.uka.de  -- Squeak! http://squeakland.org




More information about the Squeak-dev mailing list