It got as far as being able to run the RISC OS C compiler, compile and run its own output for a few command line applications.
But then we got to the stage of needing a test suite. Then my friend & collaborator on the project (Chris Rutter) died at the age of 19, then I finished college, had to find work and lost most of my RISC OS connections & nostalgia.
There was definitely a rich seam of RISC OS software in 2000 that Linux desktop could have used - great text editors and word processors and Sibelius. But Linux got most of that pretty fast.
Also I don't think RISC OS would have escaped the trap of most desktop OSes - that a desktop OS with native applications became a niche, expensive taste. By 2010 most desktop computer users were looking for a host for a web browser, and RISC OS itself is still spectaularly unsuited to that - hostile code, multithreading, support for proprietary blobs (at least in 2000) etc. etc.
That doesn't stop me missing it though!
Why?
25 years ago there were dozens of OS's: AIX, Ultrix/OSF-1/Tru64, HP/UX, DG/UX, SCO (yuck), MS-DOS, Dynix/PTX, Solaris/SunOS, Windows, MSDOS, Mac, VMS, RISC-OS, Amiga, BeOS etc. etc. Now we're down to a handful of OSs with a large amount of computing now converging on Intel/Linux -- FWIW, I have nothing against Linux, I've used it since the early Slackware / pre 1.0 kernel days.
But I do believe competition is a good thing and the current trend for OS (and processor) convergence is worrying to me. I'd like to see more innovation and diversity in this space.
That's 2 so far. 2.5 if I'm being generous.
Do keep going, would you?
I'm much more concerned about the lack of diversity in hardware space... specifically, the lack of open hardware.
Even Crostini and ARC++ execute inside their own VM alongside their own kernel flavour.
With Google turning the Web into ChromeOS, it matters even less, given how many OSes Chrome runs on.
Redox OS
Harvey is Plan 9, which is Unix 2.0.
Redox is xNix redone in Rust, I think because they've never seen anything that isn't xNix.
This isn’t true. There are many modern features missing from RISC OS but memory protection isn’t one of them.
Each process sees its memory at the same logical address, it doesn’t have any way of accessing other process’ memory.
The process’ memory starts at the address 0x8000. http://www.riscos.com/support/developers/riscos6/memory/logi...
I'm pretty sure an application could rewrite important kernel tables below &8000. And if you were using any shared libraries, these were all implemented as kernel modules, with no guard rails.
So it was kinda safe against some accidental access errors, but not at all a secure environment, and definitely possible to blow up the whole machine.
Strictly speaking, I don't think this is true - virtual memory and process-based memory protection are separate issues. One could have a single-address-space OS where physical memory is identically mapped in each process' address space, while still preserving memory protection. A privileged process in such an OS might effectively be exempt from memory protection altogether, which would provide compatibility for legacy apps.
The first (MMU) adds virtual memory to the story, while the second (MPU) simply protects certain areas of memory.
https://www.geeksforgeeks.org/whats-difference-between-mmu-a...
OK, I will give you that one. :-)
But they are at least related concepts, no?
On Unix, any time you mmap() or fork(). And loading code from disk looks very similar to the former.
I am interested in the bigger picture.
See my FOSDEM talk for more: https://liam-on-linux.livejournal.com/69099.html
Well, my Archimedes was 8Mhz, and my Pi is 1500Mhz, so we have some room there perhaps?
A rusty Amiga 2000, with Internet connection could handle like 80% of the stuff I use my 2009 laptop for.
> Then a rewrite of RISC OS for 64-bit ARM chips would require a 32-bit emulation layer for old apps to run -- and very slowly at that, when ARM chips no longer execute 32-bit code directly. A software emulation of 32-bit ARM would be needed, with perhaps a 10x performance drop.
I have RISC OS running on a Pi, and it's not the first one I've had, either.
https://twitter.com/lproven/status/1310304554395860996
http://blog.tynemouthsoftware.co.uk/2015/12/day-8-zx-spectru...
I don't just make this stuff up, you know. :-)
I still have my A305, too, and an A5000 as well.
I’d previously missed this piece of lore. Anyone got any more info on it? I’m trying to picture what critical system built on RISC OS would have required ongoing maintenance and am coming up blank.
But a lot of the better ideas from the operating system should be carried forwards into something else. I’m not talking about sticking something on top of Linux but something completely different. Perhaps a resurrection of ARX and the UI concepts from RISC OS would be interesting.
That is more or less what I was arguing for, you see.
It doesn't seem like it's a niche others are interested in, though.
Get a git client and GCC working with it and you have a pretty nifty real-time development platform.
I know this is not about that actually, just makes me think about it.
But obviously it's for original RISC i.e. ARM. But anyway I still wonder if something like RISC OS could work on RISC V.
I saw a youtube demo of someone running RISC OS on Raspberry Pi and it was very snappy. Something older like that has had less time to acquire features (that can slow it down or just be bloat).
Besides eliminating bloat, I feel like RISC V is an opportunity to start with some new assumptions. So I am interested to hear how operating systems and software evolve for it. Linux is great but I believe that there is always room for a fresh approach after a few decades.
So I wonder if things like Fuchsia or MirageOS or new Rust things etc. will be targeted to RISC V.
Not sure if you actually mean that, but to me it sounds like you're implying that ARM is the "original RISC".
The first RISC processor was called RISC-I and came out of Berkeley research in 1981.
Around the same time came out the MIPS cpu, from Standford university, by a group who shortly after founded a company that by 1985 commercialized the first RISC CPU, the R2000.
ARM, SPARC and PA-RISC came out just about the same time.
The ideas were brewing for some time, but I think it's safe to say historically that the name "RISC" was not invented by ARM and that the R in ARM references a pre-existing term that has been developed at Berkeley.
Sure, the IBM 801, the CDC 6600 and others were forerunners, but it was the Berkeley research project that popularized the acronym IIRC.
So good job on that correction but it doesn't seem necessary to downvote me. I thought I had some interesting comments about the future of operating systems on RISC.
"Progress, far from consisting in change, depends on retentiveness. When change is absolute there remains no being to improve and no direction is set for possible improvement: and when experience is not retained, as among savages, infancy is perpetual. Those who cannot remember the past are condemned to repeat it."
-- George Santayana (The Life of Reason: The Phases of Human Progress)