A2OS
TheOberonCompanionCD
A2OS | TheOberonCompanionCD | |
---|---|---|
4 | 3 | |
48 | 2 | |
- | - | |
0.0 | 0.0 | |
over 1 year ago | over 1 year ago | |
Modula-2 | C | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
A2OS
-
Oberon: The tiniest but richest FOSS HLL and OS you've never heard of
Because of pjmlp's hint I just looked into the repositories https://github.com/btreut/a2 and https://github.com/metacore/A2OS, but didn't find a coroutines module. I'm aware that Active Oberon (Patrik Reali, 2004) includes concurrency, but this is a different language than the one used for System 3.
-
Project Oberon
The Oberon channel has several videos of Oberon in action,
https://www.youtube.com/results?search_query=The+Oberon+Chan...
While Oberon was quite cool, people should also learn about its Xerox influence,
"Eric Bier Demonstrates Cedar"
https://www.youtube.com/watch?v=z_dt7NG38V4
Also dive into what happened afterwards, Oberon-2, Active Oberon, Zonnon,...
Active Oberon could be considered quite modern, also makes the distinction between safe and unsafe pointers, which improves the experience for low level coding.
https://github.com/metacore/A2OS
One of the best things about these systems is proving what systems programming with automatic memory management were capable of.
Given Oberon-2's influence on Go, maybe improving Fyne (https://fyne.io/fynedesk/) with something like gRPC for the dynamic experience, could be a possible sucessor.
-
Leveraging the Go Type System
A couple, you can start here to see how the Active Oberon based OS looked like,
https://www.progtools.org/article.php?name=oberon§ion=co...
Some links are broken now, because ETHZ no longer hosts the A2 site, however you can get the latest language report at http://cas.inf.ethz.ch/boards/2/topics/1
And the source code and old documents for the original A2 OS at github, https://github.com/metacore/A2OS
TheOberonCompanionCD
-
KolibriOS on Single Floppy Disk
"the core parts of KolibriOS (kernel and drivers) are written entirely in FASM assembly language", that's amazing. Porting it to another architecture is likely a full rewrite.
In comparison, the Oberon System 3 (see e.g. https://web.archive.org/web/20120630140329/http://www.ethobe...), which was written in the Oberon high-level language, also had a graphical user interface and network support and required 4MB RAM and 2MB disk space (see https://github.com/OberonSystem3/TheOberonCompanionCD/blob/m...).
-
Oberon: The tiniest but richest FOSS HLL and OS you've never heard of
Meanwhile I found a version of the S3 source code, see https://github.com/OberonSystem3/TheOberonCompanionCD. There doesn't seem to be a coroutines module either.
What are some alternatives?
oberon-riscv - Oberon RISC-V port, based on Samuel Falvo's RISC-V compiler and Peter de Wachter's Project Norebo. Part of an academic project to evaluate Project Oberon on RISC-V.
OberonSystem - Modified version of the original from http://www.projectoberon.com/ for use with the Oberon IDE
a2 - Active Oberon System (AOS), aka A2, and Bluebottle OS
oberon-compiler - N. Wirth's Project Oberon RISC compiler ported to Go.
OfrontPlus - Oberon family of languages to C translator for ARM, x64 and x86 architectures
oberonc - An Oberon-07 compiler for the JVM
oberon - Project Oberon RISC emulator in Go
THM-Oberon
Oberon - Oberon parser, code model & browser, compiler and IDE with debugger