[squeak-dev] Discussing a new design of partially Squeak-based OS

Liam Proven lproven at gmail.com
Fri Feb 19 23:51:01 UTC 2021


On Fri, 19 Feb 2021 at 22:02, Eric Gade <eric.gade at gmail.com> wrote:
>
> Hi Liam,
>
> I saw your talk and enjoyed it very much.

Thank you -- I'm very pleased and flattered to hear that!

> I think people on this chain will have a lot to add,

I rather thought they might. ;-)

> particularly about projects like SqueakNOS.

I am aware of it and have read about it in as much depth as I was able
to follow, some time ago. I made a very brief mention of SqueakNOS in
the talk when introducing Squeak itself, when I said:

«
The latest development in Smalltalk is an educational programming
environment called Squeak. Its runtime is implemented in C, *and
there’s even a bare-metal version*, but Smalltalk runtimes have been
built in other languages, including Javascript. The JIT technology in
Oracle’s JVM started off as a Smalltalk engine called StrongTalk.
»

> I want to point you to the most recent of these kinds of efforts that I know about called CogNOS (https://github.com/nopsys/CogNOS).
> I am not affiliated with this project though and don't really know the status of it.

That flavour is new to me and I was previously unfamiliar with it.
Thanks for the info. I have had a quick read and I am glad to see that
there is some life, but no commits in 2 years suggests perhaps not
that much... I was taken aback to see commits by "charig" but it is
not Francis Charig as for a wild moment I thought it might be. Charig
was one of the founders of Tao Group, who created Taos and later Elate
and Intent, perhaps the most technically impressive OSes I've ever
seen.
https://en.wikipedia.org/wiki/Francis_Charig

But this ChariG is Guido Chari and the username seems to be a coincidence.

I very much do not want to tread on anyone's toes or upset anyone, but
let me try to explain why I proposed something different to the
SqueakNOS approach.

I explain my reasoning in more detail in the talk itself -- the script
is here, BTW: https://docs.google.com/document/d/1wM1-c7euvQaRaCL4hKCaE8VRJ8OxpVdkzHxQF_8X5So/edit

But I had two main goals:
[1] eliminate absolutely as much of the existing legacy technology
stack as possible. This very much includes eliminating the C language.
[2] that my proposed design should be portable and readily and easily
adapted to different CPU architectures; at a minimum, x86-64 and ARM.

As I understand it -- please correct me if I am wrong -- SqueakNOS is
C-based and only supports x86.

A third goal, one perhaps much more difficult to achieve, was to offer
choices, and as a second option, harder to implement and based on
less-complete code, I also proposed, instead of a Smalltalk layer, a
Lisp layer, to include both a conventional Lisp and the friendlier,
higher-level Dylan language.

In an ideal world, perhaps these could be to some degree
interoperable. A man can dream.

Such goals imply, to me, a relatively mature, high-performance, small
OS underneath, delivering some degree of portability -- something
written in a type-safe, memory-managed language, with multiprocessor
support and networking and so on already present, so that these things
do not have to be implemented in the higher-level system.

My suggestion for that OS is the Oberon system, specifically the
version called A2. It has its own windowing GUI, called Bluebottle,
which I think would be largely irrelevant to Squeak, but it already
has a native x86 version (alongside Windows, Linux and macOS hosted
forms) and formerly also supported StrongARM and a number  of other
CPUs. It is SMP- and multicore-capable, supports Ethernet and TCP/IP,
a USB stack and so on.

--
Liam Proven – Profile: https://about.me/liamproven
Email: lproven at cix.co.uk – gMail/gTalk/gHangouts: lproven at gmail.com
Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven
UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053


More information about the Squeak-dev mailing list