[squeak-dev] Fwd: Shim OS [response to: partially Squeak based OS]

Liam Proven lproven at gmail.com
Sun Feb 21 15:18:34 UTC 2021


On Sun, 21 Feb 2021 at 07:12, tim Rowledge <tim at rowledge.org> wrote:
>
> I don't think I've ever met anyone for whom that is not the case.

Heh. :-)

> Writing an entire OS seems to me to be a Quixotic dream; why bother?  Yes, I know Dan Ingall's famous quotation -
> "An operating system is a collection of things that don't fit into a language. There shouldn't be one."
>
> However, I think that one can look at this rather differently than "have no operating system". I think the practical approach is  "have nothing that doesn't fit in your language system". If we make a system that can talk to everything that an underlying OS kernel and facilities provides - device drivers, scheduling, interrupt handling, storage abstraction, network blah-blah-blah - then there is no OS as a separate thing that anyone need care about. There are no "things that don't fit into a language".

ISTM that the flipside of this is the point from my talk: that if you
choose a single, sufficiently-powerful programming language, that you
can build the entire stack in that one language and avoid the polyglot
complexity of a modern FOSS xNix.

What I would like to see would be a modern take on the single-language
dynamic environments that were starting to appear on workstations in
the late 1970s to early 1980s: specifically, the
non-filesystem-centric ones, because as I've said elsewhere -- and in
last year's FOSDEM talk (
https://liam-on-linux.livejournal.com/69099.html ) -- I think that,
_pace_ suitable OSes to support it -- PMEM tech could render the
entire concept of disk drives (HDDs, SDDs, whatever) obsolete.

> The simple answer to approach this quite closely and fairly painlessly is to use an install of some linux system without the X-nightmare and use the frame buffer as the Smalltalk display. Yes, sure, there are other minimal OS' that Ken pointed out too.

Simple to implement, perhaps, but still a big mess o' C, still
completely filesystem-centric, impossible to further simplify, and
essentially impossible for any single human to completely understand.

> One would still need to work out how to handle all the facilities we take for granted for our daily use of a computer; a *good* email system, web browsing, assorted social media interfaces and on and on.

A2 can do a surprising amount of this already, today. For a niche
experimental OS it is amazingly complete.

http://ignorethecode.net/blog/2009/04/22/oberon/

> I suggest that we also need to make it practical in this new world to have many Smalltalk images running at the same time so as to insulate said email/browser/twitter/etc from each other in case of serious problems, so we'd want some sort of (Smalltalk implemented, obviously) windowing system.

This is a big issue. I have only a sketchy high-level theoretical
understanding of Smalltalk. AFAIK the IBM RoarVM supports a
multithreaded multicore Smalltalk engine, but how IBM would feel about
anyone attempting to port that to Oberon or something, I don't know.

> It's doable. I think it might take a bit more than the usual

It is no small project, certainly.

But parts of it are already there. A2 exists and works. Squeak exists
and works. Putting one on the other is not impossible. That would
yield a proof-of-concept to get people interested...

-- 
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