|
|
|
|
|
by mnw21cam
5 days ago
|
|
AmigaOS couldn't be described as a RTOS proper, not like QNX. For one, it had a forbid() system call which would stop the scheduler from pre-empting the current running process. It had no guarantees on latency, which is the essence of a RTOS. It had a very simple static absolute priority scheduler and very little that could cause long pauses (like virtual memory), which made it much more predictable in scheduling than more sophisticated schedulers like in Windows, Linux, and MacOS. At one point I had an A1200 and a Linux Pentium 300-ish, and CD-writer on both systems. I could trust the Amiga to write CDs without creating a coaster every time, where the Linux box would succeed only 2/3 the time due to the unpredictable scheduling and it running the buffer dry. So it wasn't a real RTOS, but it definitely behaved more like one that what we have now. |
|
This is, by the way, equivalent to SCHED_FIFO on Linux.
There are very legitimate reasons a hard realtime task may need to be non-interruptable.