On Sun, 19 Apr 2020 18:58:03 -0700 Michael Cheponis <[email protected]> wrote:
> There is another motive, which is to show how it's possible to run a > modern unix with a Real-Time process, specifically for robot > control. The other *nix OSs out there don't do Hard Real Time, the > best I've seen is a microkernel below a regular kernel (not rump). > Again, this makes things complicated. You already can, that is "soft real time". NetBSD supports POSIX fixed-priority real-time scheduling with SCHED_FIFO and SCHED_RR scheduling policies. There also seems to be support for Pthread mutex priority inheritance, i.e. pthread_mutexattr_setprotocol(). Also note that RPi-4 is not designed for "hard real time". It doesn't even have ECC memory. It is using Cortex-A processors which don't give you the same level of predictability and determinism as Cortex-R processors. Cortex-A are application processors that are designed for throughput and performance, hence things like out-of-order execution, non-deterministic L1 and L2 caches, etc, are all bad for "hard real time".
