[Oberon] Realtime Operating Systems (was; Interfacing with Foreign Systems)

Liam Proven lproven at gmail.com
Sun May 3 15:08:59 CEST 2020

On Sun, 3 May 2020 at 03:27, Chris Burrows <chris at cfbsoftware.com> wrote:
> In the desktop PC-oriented world perhaps but in the real world there are several other worlds ;-)
> In the Embedded System world that I inhabit when I am using Oberon the emphasis is more on the use of 'RealTime' operating systems. Windows and *nix do not qualify by any stretch of the imagination for this category of OS.
> My preference naturally is to use our own 'Embedded' subset of Project Oberon OS, but other realtime operating systems that I am aware of are:
> FreeRTOS:
> https://www.freertos.org/about-RTOS.html
> Arm Mbed OS:
> https://www.mbed.com/en/platform/mbed-os/
> For those not concerned with getting hands-on experience, another one of interest to Oberon developers is Minos:
> https://ieeexplore.ieee.org/document/4747312
> Minos was part of the ONBASS aviation system:
> https://trimis.ec.europa.eu/project/onboard-active-safety-system

I concede the point (which others have made to me before).

I regard the embedded world as its own, largely isolated thing. I am
aware that there are dozens of embedded OSes that most people have
never heard of.

I should have been more explicit that I was referring to
_general-purpose_ OSes for _general-purpose_ computers.

Embedded stuff is of course entirely valid, but apart from developers,
most people literally never see it. They are for the most part not
even aware that it exists, and if it's good, they should never have to

I own a washing machine and a dishwasher. Both, I suppose, contain
microprocessors. These probably run OSes. I do not know what, nor have
I any way of finding out.

As someone pointed out a few years ago, the iPhone does not use "an
ARM chip". It uses about half a dozen ARM chips in each unit. There's
a main central ARM, sure, but there are also ARM cores embedded in the
wifi, the bluetooth, the GSM controller, probably in the flash memory
controllers... and in some cases running embedded OSes.

One of the unique things about the Symbian smartphone OS is that it
was able to successfully operate a smartphone with a single CPU core:
Symbian could multitask the GSM stack _and_ the GUI and its apps on
one ARM core. All the American smartphone OSes (WinCE, PalmOS, iOS,
Android, Blackberry, etc.) needed a separate CPU running a separate OS
to run the phone stack, which communicated with the UI CPU.

Indeed this led me to come up with a line of thought, comparing
European to American microcomputer systems design.  In Europe,
manufacturers from Acorn, Sinclair, Tangerine (Oric), Thompson,
Philips, Psion, Nokia -- dozens of them --  as a matter of course
designed new OSes for new devices. These OSes tended to be as small
and simple as possible, to limit the resources needed on the final
device, to keep the costs down and make it competitive in the wider

In the USA, manufacturers tended to licence in an OS or OS core, adapt
it to their needs, and increase system specs as needed to cope. So,
for example, the Apple, Tandy, Commodore and Atari-bit computers all
ran Microsoft BASIC. Dozens of makes of CP/M computer all ran DR CP/M.
Later, hundreds of makes ran MS-DOS and MS Windows. Dozens of makes of
workstation ran Unix.

Apple used to be an American company operating to European design
principles: write it yourself, make it small and efficient, tailored
to your hardware, and ignore compatibility with the wider world. Less
so now that they sell x86 boxes running a Unix, of course.

Atari and Commodore had their own 16-bit lines, with their own OSes
(although Atari bought it in again, from DR) but they're effectively
dead now.

Few traces of the European tradition are left now. EPOC/Symbian is
dead. The Sinclair OSes are dead, although Amstrad allows hobbyist
clone. The Linux kernel was European but the GNU infrastructure is
American, of course, as is Unix itself.

The thing that is often overlooked is that today, the phone market is
hundreds of times larger than the traditional PC market. (Note, under
"PC" here I include Macs, RasPi, retrocomputing machines from 20 or 30
years ago, etc.)

Smartphones sell _billions_ of units per year and almost all use ARMs.
The ARM world is vast compared to the x86 world. Then the
custom-processor-on-FPGA world is tiny compared to x86. I only know of
a tiny handful of FPGA computers on retail sale: the ZX Spectrum Next,
the OneChip MSX, the MiST/MiSTer and so on. And the OberonStation.

FGPA sales: hundreds of units, maybe thousands.
x86 sales: tens of millions per year
ARM sales: billions per year.

As such, I think it would be really good for Oberon (and A2) to get
out into the ARM world!

> Given the list that you quote, you are referring to another very active world, the 'retrocomputing' world which I also visit when I feel like travelling. I would rephrase that as:
> > Of the other OSes of interest to *retrocomputing* hobbyists, there are...

Well, no, I disagree. I am talking mainly of hobbyists, hackers and
makers. But don't forget that the entire Linux and FOSS world grew out
of that.

I don't think that there are any significant numbers of hobbyists
working with embedded or realtime stuff. Am I wrong?

The sad thing is that, in the world of hobbyists working with
general-purpose desktop/laptop OSes on general-purpose end-user
computers, then apart from Windows and xNix, all that is left _are_
retrocomputing platforms.

New devices such as I've mentioned:
• the RC2014 - https://rc2014.co.uk/
• the BasicEngine - https://basicengine.org/
• the MaxiMite - http://geoffg.net/maximite.html
• the CB2 - http://cb2.qrp.gr/
... these are new designs based on new hardware, but they are very
retro in inspiration and design.

There are a lot of hobbyist playing around with tiny cheap computers
they build themselves. Some run ROM BASICs, like early-'80s 8-bit
micros. Some run CP/M.

There are also some amazing homebrew things:
• Fuzix - http://www.fuzix.org/
• SymbOS - http://www.symbos.de/
• Contiki found a niche and is now thriving - https://www.contiki-ng.org/

I think there is a space here. A space for a reasonably friendly OS
(unlike say Plan 9 or Minix), in a readable language (unlike C or
C++), that is small enough and easy enough to learn for a hobbyist to
learn by self-study. Something that can run on cheap, mass-market
hardware, cheaper than custom FPGA devices.

Not a specialised pro's tool such as a realtime or embedded OS.
Something you can read your email on, or chat to people across the
Internet on. Something that can do funky graphics, or control a home
weather station or something.

It seems to me Oberon and A2 could be ideal for this.

That is why I am here.
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 Oberon mailing list