I know some interesting non-DOS/UNIX-based open source OS like HelenOS, MenuetOS, or Kolibri. They are X86/X64 only, though.
Are there similar things say for ARM/RISC/etc ?
The MIT Lisp machine system: https://tumbleweed.nu/lm-3/
Mezzano, a much more recent OS written in Common Lisp that runs on Arm rather than special hardware: https://github.com/froggey/Mezzano
Inferno - https://www.vitanuova.com/inferno/
Description from Wikipedia: “Inferno is a distributed operating system started at Bell Labs and now developed and maintained by Vita Nuova Holdings as free software under the MIT License. Inferno was based on the experience gained with Plan 9 from Bell Labs, and the further research of Bell Labs into operating systems, languages, on-the-fly compilers, graphics, security, networking and portability.”
Plan 9 - one version of which is 9front, which says this:
"Multiple installation media are provided for PC, Raspberry Pi, MNT Reform, and QEMU. For PC, burn an .iso file to CD, or dd it directly to USB media. For Raspberry Pi or MNT Reform, dd an .img file directly to sdcard.
The pi.img file can be used for Raspberry Pi 1, 2, and 3. The pi3.img file can be used for Raspberry Pi 3 and 4.
QEMU images are provided in QCOW2 format."
There's Niklaus Wirth's Oberon[0].
RISC-V, ARM in development: https://en.wikipedia.org/wiki/Haiku_(operating_system)
https://en.wikipedia.org/wiki/AROS_Research_Operating_System
https://en.wikipedia.org/wiki/MorphOS
https://en.wikipedia.org/wiki/AmigaOS_4
There have been a number of passes at embedded Smalltalks. Eg. https://hackaday.com/2020/07/12/making-smalltalk-on-a-raspbe...
Back in the day, Tek oscilloscopes ran ST on the metal.
Are we to assume you want it to run on actual hardware? I imagine there are a number of OSes that qualify if emulation is acceptable. One I like:
Full S/370 assembler source included.
Technically you can run Redox-OS on a Raspberry Pi 3 B+ (ARM), but it still works best on x86_64: https://doc.redox-os.org/book/raspi.html
If you decide you miss DOS, then you can also use the DOS emulator available on Redox-OS. It's not Linux but there are some linux-inspired stuff there, including apps from the Cosmic desktop environment. Both announced here: https://www.redox-os.org/news/release-0.9.0/
XINU (Xinu Is not UNIX) OS…good book on it too for Operating System design!
I've got a hobby OS that's currently x86 32-bit only. amd64 and arm64 are on my roadmap, but if all goes well, it's going to be the same experience on all three platforms, so arm64 won't be anymore exciting than x86 32-bit. Other than, you could run it on a raspberry pi or maybe an arm apple.
I imagine most hobby OSes are looking at arm support vs adding something else, and arm support is going to be more fiddly and have less to show for it. I haven't found much time to work on mine lately, but other things are way more important like getting my virtio-net driver and the v86 virtio-net device to work together; having networking in https://copy.sh/v86/?profile=crazierl would be really neat. Running on a pi would be neat too, but a browser demo is way more accessible.
ToaruOS has an ARMv8 port: https://github.com/klange/toaruos and Serenity has an ARM and RISC-V ports: https://github.com/SerenityOS/serenity ; although I think you would call them Unix-like.
Haiku has tier-2 ports to ARM, RISC-V, and SPARC: https://www.haiku-os.org/guides/building/port_status
ReactOS has an ARM32 port but the ARM64 one is not usable yet.
Skift apparently runs on ARM and RISC-V: https://skiftos.org/
You could try MorphOS or AROS, which turn your (old) Mac and others into Amigas
I'm surprised that nobody has talked about HaikuOS, I used to daily drive for a while before returning to Linux or OS X, depending on what I do.
Sculpt yourself some https://genode.org/
I see many OSes here that are missing some lengthy, but apparently not extremely complicated - and quite well defined - parts / components / modules.
I wonder if letting loose a coding LLM on them with clear goals and a feedback loop, could bring them to (at least near) completion?
TOPS on old PDP hardware (or an emulator) is quite interesting. If nothing else, it gives an appreciation for the age of many of the ideas that ended up in later OSes like CP/M and MS-DOS.
EUMEL maybe? https://6xq.net/eumel/ (Z80, M68000 and later x86 as well)
Project Oberon,
The evolution of Oberon based OSes,
Ethos, https://www.research-collection.ethz.ch/handle/20.500.11850/...
Active Oberon which is the Oberon variant I prefer,
https://en.wikipedia.org/wiki/A2_(operating_system) https://en.wikipedia.org/wiki/Active_Oberon https://gitlab.inf.ethz.ch/felixf/oberon
Some screenshots at my article, take it while the site still exists,
https://www.progtools.org/article.php?name=oberon§ion=co...
SPIN, done in Modula-3
https://www-spin.cs.washington.edu/external/overview.html
Singularity,
https://www.microsoft.com/en-us/research/project/singularity...
https://github.com/lastweek/source-singularity
Midori,
although no source code, the blog posts, existing talks and internal session at Microsof do provide some nice overview,
https://joeduffyblog.com/2015/11/03/blogging-about-midori/
"The Midori Operating System Overview"
https://www.youtube.com/watch?v=37WgsoZpf3k
"Safe Systems Programming in C# and .NET"
https://www.infoq.com/presentations/csharp-systems-programmi...
"Safe Systems Software and the Future of Computing"
https://www.youtube.com/watch?v=CuD7SCqHB7k
Xerox PARC Mesa, used on the Xerox Star OS
https://en.wikipedia.org/wiki/Mesa_(programming_language) https://en.wikipedia.org/wiki/Xerox_Star
https://computerhistory.org/blog/xerox-alto-source-code/
Xerox PARC Cedar, used on Dorado platforms
http://toastytech.com/guis/cedar.html
https://www.youtube.com/watch?v=z_dt7NG38V4
https://bitsavers.trailing-edge.com/pdf/xerox/parc/cedar/The...
https://worrydream.com/refs/Swineheart_1986_-_A_Structural_V...
http://www.bitsavers.org/pdf/xerox/parc/techReports/CSL-83-1...
Xerox PARC Smalltalk,
original documentation can be taken from http://stephane.ducasse.free.fr/FreeBooks.html
- Smalltalk-80, Bits of History, Words of Advice
- Smalltalk-80: The Language and its Implementation
- Smalltalk-80, The Interactive Programming Environment
Squeak and Pharos linage,
Xerox PARC Interlisp-D, with Medley
https://dl.acm.org/doi/pdf/10.1145/1056743.1056745
House, written in Haskell
https://programatica.cs.pdx.edu/House/
MirageOS, written in OCaml, partially used by Docker (TCP/IP stack), and Xen Hypervisor
https://mirage.io/blog/2022-04-06.vpnkit
https://xenproject.org/projects/mirage-os/
AmigaOS,
http://toastytech.com/guis/indexamiga.html
https://en.wikipedia.org/wiki/Amiga
https://www.amigaos.net/content/1/features
Solo in Concurrent Pascal,
The solo operating system: A concurrent pascal program
https://stacks.stanford.edu/file/druid:vb843ff4581/vb843ff45...
Lillith in Modula-2
https://bitsavers.org/pdf/eth/lilith/ETH7646_Lilith_A_Workst...
https://www.modula2.org/modula2-history.php
Now go out and explore, UNIX is not the be all, end all of how an OS is supposed to be, neither is C the ultimate systems programming language.
HelenOS is multi-platform. Their certificate expired but from their site:
> HelenOS runs on eight different processor architectures
Pretty sure ARM is one of those.
Genode is interesting
There is an arm version of pretty much every major Linux distribution now. I’ve used mint, debian, and kali all on arm.
Also, see below
There's RISC OS: https://en.wikipedia.org/wiki/RISC_OS
It was written for the Acorn computers that were the original use of the ARM architecture. It's still around and is pretty lean, despite being complete with a GUI and network capabilities.