[Oberon] Interfacing with Foreign Systems

Liam Proven lproven at gmail.com
Sat May 2 23:18:06 CEST 2020

On Fri, 1 May 2020 at 21:18, Skulski, Wojciech
<skulski at pas.rochester.edu> wrote:
> I am more familiar with BeagleBone Black which is the same idea as RPi. It was built around ARM AM3358, which is a single core ARM of roughly similar complexity to other ARM systems-on-chip. I believe that lessons from BBB are about the same as the lessons from RPi. So here is the first lesson. Go to the Texas instruments web site and download the AM355x Technical Reference Manual, Literature Number: SPRUH73Q, dated October 2011–Revised December 2019. Open that file and look at the page counter. I am seeing 5118 pages. Please spend some time reading that manual, putting yourself in the shoes of an educator who will be explaining these concepts to students. Please try explaining the GPMC, the PRU-ICSS, McASP, or EDMA. How are these pieces connected and what are they doing? (I am intentionally not deciphering these acronyms. Simple is simple, right?)  After spending a couple hours preparing an imagined course please come back and explain the meaning of the word "simple".
> Perhaps what you meant was "board design was simple". I submit to your consideration that a computer science educator is not supposed to focus on the board design. Routing the wires and soldering the chips are not at the bottom of computer science. The system architecture is the focus. The architecture is hidden inside the chip and explained on five thousand pages. So now try making it the basis of the education.
> You might say that this is not fair because we should be talking of RPi. But RPi design is closed, like Paul just said. So we cannot even open the manual. How can you use something for education which is probably even more complex (a multicore chip!) and the details were hidden?
> Using RPi for education is cheating in my humble opinion. They take a horrendously complex system, hide most details, make it a black box to students and most educators, and run Python on it. This is not computer science. This is Python science. Cheap science, in my opinion. It is educating students how to implement standard exercises in standard ways. It is not teaching creativity. It is teaching how to follow the crowd. (Again my opinions.)

OK. I take your point.

I submit, humbly, that it depends what you are teaching.

If you are teaching computer science in a university, then yes, certainly.

Out there in the Linux world, I think a lot of people teach
themselves. I certainly did.

But I would submit that _all_ modern computers are horribly complex.
That's what makes them fast. There are certainly simpler machines
around, such as the RC-2014:

These are very simple 8-bit do-it-yourself systems and a big part of
the purpose is learning how circuits and logic work, but they are not
even 1% of 1%  of the power of a modern PC. They can't do much.

As far as the hobbyist/experimenter/"maker" community, the RasPi is
the leading contender by far.

> > And it's £25 and there are literally millions of them out there.
> The economy of the mass production should not be misconstrued for intellectual merit.

I am not much concerned about its merit. I am interested in reaching
as many people as possible, with something interesting and appealing.

There are 2 main OSes left in the world now: Windows NT and *nix.
Everything else is a rounding error.

Of the other OSes of interest to hobbyists, there are...

 - For old Amiga fans, there is MorphOS, on Apple PowerMac hardware;
AROS, on x86 with experimental ARM & PowerPC versions; and AmigaOS 4,
which only runs on a tiny number of very expensive modern PowerPC
Amigas. None really support SMP or 64-bit operation, AFAIK.

- For old Atari ST fans, there is AFRos, an all-GPL OS targeting its
own emulator, Aranym. The commercial clone OS Magic is now FOSS, but
there seems to be little interest. It is all but dead.

- Old Acorn Archimedes enthusiasts can still use RISC OS. There are 2
forks of it, and both are freeware now. The ROOL version is now FOSS
and runs natively on the Raspberry Pi. It's very fast, simple and
easy, but it's a 1980s OS and very limited. It can't even do wifi.

 - Plan 9 is still around and getting updated, and I find it very
interesting. It shows a lot of influence from Oberon. It's still very
Unix-like, though; it's really Unix 2.0.

 - Plan 9's successor Inferno is also FOSS now but deeply obscure.

Most other interesting OSes from the 1980s and 1990s are dead and
gone, lost, with proprietary licences that prevent legal
redistribution let alone inspecting the code or modernising it.

The handful of others are all Unix-like:

Oberon is almost unique in its attributes as a small, clean, simple,
well-designed, single-language OS that can be extended to support
modern multiprocessor hardware, 64-bit processors and so on. The A2
project already addresses most of that.

Oberon has unique selling points which I think _could_ earn it wider
attention, and it already runs natively on x86.

All I am proposing is what I earlier referred to as being a big fish
in a small pond rather than a small fish in a big pond.

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