[squeak-dev] seL4 Microkernel: How small can the shim be?

Liam Proven lproven at gmail.com
Sun Feb 28 13:11:43 UTC 2021


On Sat, 27 Feb 2021 at 20:42, tim Rowledge <tim at rowledge.org> wrote:
>
> Also - if you're interested in minimal OS with easy low-level access you could do worse than investigating RISC OS. Get a Pi, download the package from riscos direct )https://www.riscosdev.com/direct/) and play.

I am well aware of RISC OS. I distributed some fractal generators for
RISC OS back in the 1980s. :-) I have a RPi 3B+ running RISC OS Direct
sitting right next to me.

In fact, I have already been trying to explain some of the limitations
of RISC OS to the people running the Cloverleaf kickstarter campaign.

I wrote some of it up in a blog post, here:
https://liam-on-linux.livejournal.com/73983.html

This generated a bit of discussion on HackerNews, but as usual, lots
of heat but little light.
https://news.ycombinator.com/item?id=24735766

I still play around with RISC OS today. The reasons that I do not
think it is a suitable candidate for new efforts are:
• It is not a clean simple design: it is an old, complex one;
• It is mostly ARM assembler and not even slightly portable; even
moving it to new ARM hardware is hard;
• It is technically very limited, with little memory protection, very
limited CLI-only pre-emptive multitasking, no support for threads or
SMP;
• It is 32-bit only and the only realistic way of doing a 64-bit
version will be using some kind of VM or emulation

Other interesting lightweight vintage OSes which are now FOSS:
• Atari ST TOS/Mint: https://aranym.github.io/afros.html
• A relatively early version of Sinclair QDOS, Minerva:
https://github.com/janbredenbeek/Minerva4Q68
• The final version of the Sinclair OS, rewritten for Atari hardware,
SMSQ/e: http://www.wlenerz.com/smsqe/
• A FOSS re-implementation of the original Amiga OS:
https://aros.sourceforge.io/

But all of these are compromised, limited designs, hard to port, hard
or impossible to modernise while retaining any compatibility.

Really, seriously, this talk was based on _over_ a decade of research
and study. My choices were not casual ones or lightly considered! :-)

I was not merely looking for a lightweight OS. I had a demanding list
of criteria.

I looked for:
• a clean, simple OS, with SMP support, that supported pre-emption,
memory management etc.
• in a type-safe language, with a native-object-code compiler — not
JITTed, not using a VM or runtime
• and a readable language, not something far outside the Algol family
of imperative HLLs
• that was portable across different architectures
• that was FOSS and could be forked
• that was documented and had a user community who knew it
• that can be built with FOSS tools (which RISC OS fails, for instance)
• which is or was used by non-specialists for general purpose computing
• which can usefully access the Internet
• which runs on commodity hardware
• which does not have a strongly filesystem-centric design that would
not fit a PMEM-only computer (i.e. not an xNix)

If anyone else has any candidates that meet all of these, I would very
much like to know. It took a lot of searching and I don't know
anything else that ticks all the boxes.

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