Previously:
https://news.ycombinator.com/item?id=33123697
226 points by lproven on Oct 7, 2022 | hide | past | favorite | 151 comments
Still one of the single most impressive tech demos I've seen.
There are other tiny multitasking GUI OSes, such as Oberon and RISC OS. There were even some on x86, such as the original Psion EPOC from the Series 3/3a/3c/3mx line.
But this was for a generic x86 COTS PC.
Exactly.
I believe AmigaOS was the only home computer OS of that era with preemptive multitasking, but the GUI looked pretty bad, I think having originally been designed to work on TVs rather than dedicated monitors.
Classic MacOS had no multitasking at all until Multifinder arrived, several years after the Mac was released. I was going to say it appeared in System 6 but I checked and it was actually System 5 in 1987.
https://en.wikipedia.org/wiki/MultiFinder
Similarly, the "Jackintosh", the multi-million-selling Atari ST with DR GEM on TOS (launched 40 years and 2 months ago, in June 1985) also was single-tasking.
That was normal for the mid-1980s. DOS was single-tasking. The ST shipped before Windows 1.0.
But RISC OS 2 shipped in 1988, the same year as the Mac System 6, and it had cooperative multitasking built-in as standard from Day 1.
(RISC OS 1 was "Arthur" in 1987 and its multitasking was basically just multiple Clock apps.)
Secondly, yes, the Amiga had full multitasking even at launch (the month after the ST) but it also had no memory protection at all. It was not very stable at all. Amiga users got very used to "Guru meditations."
Co-operative multitasking was pretty common in the 1980s because it's much more efficient. Microcomputers then barely had enough RAM and CPU to display a GUI and they didn't have enough for process isolation.
Windows 2, 3.0, and 3.1 could pre-empt DOS apps, but used co-op multitasking for all GUI apps.
Windows NT 3.1 (1993) was the first version that could pre-empt GUI apps. Win32 apps had pre-emptive multitasking, but 16-bit apps (that is, Windows 3 apps being run on NT) were co-op multitasked, unless you were rich, had a £5000+ PC with lots of RAM (like 32MB+) in which case there was a ticky-box to enable running a particular Win16 app in its own memory space. All the rest shared an instance. But this feature ate RAM.
I installed and supported Win NT 3.1 in production and used the option to run Excel in its own memory space, so that an errant copy of Word or MS Mail couldn't crash Excel. It was in a stockbroker and Excel was our single most important Windows app.
But we only had 1 guy with an NT PC at first and that box cost about £8000.
So, yeah, co-op multitasking wasn't as reliable, wasn't as stable, but it was much more memory-efficient and used less CPU, it worked fine on limited 16-bit CPUs, and so it was the norm for almost all computers.
Win NT was too expensive and needed a very expensive PC. OS/2 flopped. It wasn't until Windows 95, a full decade later, that most computers got pre-emptive multitasking.
Interesting to wonder what an alternative timeline would have looked like where Acorn used QNX instead of trying to build ARX (the Mach microkernel based system abandoned for Arthur.)
ARM had memory management from the outset, but memory was too expensive to consider anything like unix for the base systems (the alternative RISC iX BSD derived OS required 4MB.) And the context switching overhead would probably have made the desktop experience worse even if they could afford the memory.
https://arstechnica.com/gadgets/2018/03/a-history-of-the-ami...
https://sites.google.com/site/dicknewsite/home/computing/byt...
https://web.archive.org/web/20240201194541/http://pupngo.dk/...
Linux at the time was cool too but less polished than now. Lots of people were on the Win 9x series, which wasn't amazing - and Mac OS X was not yet fully baked.
These other OSes (QNX, BeOS) felt polished, amazingly fast - and slightly alien. The main sad thing from my perspective was that I couldn't get them online (my machine had a winmodem and nobody had open source drivers for those for ages).
BeOS was a hoot, but I was essentially bodily ejected from a demo/user's group meeting when I asked how the slides were printed (at that time it didn't have printer drivers).
[0] https://gitlab.com/qnx/quick-start-images/raspberry-pi-qnx-8...
* https://crackberry.com/heres-how-qnx-looked-1999-running-144...
The only thing that would be even more impressive, if it also had a running .kkrieger FPS from the demo scene guys!
Wish that the TronOS folks would do a similar demo (or better still, graphical desktop-oriented distribution).
For example, a lot of systems used VxWorks that would run paravirtualized Windows 9x for user interface - you normally booted into windows, and during boot a .VXD file would get loaded that was actually a VxWorks bootstrap that preempted Windows kernel components and continued running them as "userspace" task in a way that allowed other realtime tasks to work.
This architecture was used for example in KUKA robots KRC1 controllers.
Similar setups are used by "PC PLC" products for example from Siemens.
Pity that we're still far off QNX architecture in most mainstream OSes, even though several steps have been done into that direction.
Was this really 25 years ago???
Episode: https://softwareengineeringdaily.com/2025/02/06/secure-commu...
Transcript: https://softwareengineeringdaily.com/wp-content/uploads/2025...
Later they made the source available for a newer version of QNX but under restrictive licensing, that was disappointing.
Looking at some YouTube videos, it looks like this was the greeting upon booting:
“Stored on this single, 1.44 Mbyte floppy disk is a demo copy of the QNX realtime operating system, the Photon microGUI windowing system, the Voyager web browser, Ethernet networking, TCP/IP, an embedded web server, an editor, a file browser, a vector graphics animation, and a television set-top box simulation.
Just think — if we can do all this with a 1.44 Mbyte floppy disk, imagine the devices you could build with QNX realtime technology.”
Dan Hildebrand (RIP) did a great job of sharing the QNX architecture overview [1] which got cribbed into my OS thesis ;)
[1] https://cseweb.ucsd.edu/~voelker/cse221/papers/qnx-paper92.p...
$ ls -lh /usr/lib/locale/locale-archive
-rw-r--r-- 1 root root 3.0M May 4 2024 /usr/lib/locale/locale-archiveIt was fun, but eventually we got funny looks from the staff when they walked by and I believe we were eventually asked to stop "whatever it was we were doing."
jll29•6mo ago
SpaceNoodled•5mo ago
bzzzt•5mo ago
zenoprax•5mo ago
I've since learned about its ties with BlackBerry and the automotive Linux world and I'm glad the hard work put into it hasn't been for nothing.
Hikikomori•5mo ago
jacquesm•5mo ago
tengwar2•5mo ago
jacquesm•5mo ago
mmmBacon•5mo ago