5 ms·
1- What's the FOSS alternative that is as good as QNX nowadays? FreeRTOS, NuttX, Zephyr etc are used for MCUs not general purpose computation AFAIK 2- What tec
by ducktective 4y ago
1- What's the FOSS alternative that is as good as QNX nowadays? FreeRTOS, NuttX, Zephyr etc are used for MCUs not general purpose computation AFAIK
2- What tech stack (language) you used for those challenges?
3- Your idea on Lisp (for these applications)?
- Animats 4y ago1. Nothing. Someone was writing a QNX-type kernel in Rust. What happened to that? There's L4, but it's too low-level. It's more of a hypervisor. People usually run another OS, usually a stripped-down Linux, on top of L4. QNX offers a POSIX API, so you can run applications directly. 2. C++. Here's the source code. [1] 3. No. [1] https://github.com/John-Nagle/Overbot/ https://github.com/John-Nagle/Overbot/
- snvzz 4y ago>People usually run another OS, usually a stripped-down Linux, on top of L4. Look into Genode.
- MonkeyClub 4y ago> 3. No. Why? No hope for real RT? (Or otherwise more generally due to the GC?)
- snvzz 4y ago>What's the FOSS alternative that is as good as QNX nowadays? FreeRTOS, NuttX, Zephyr etc are used for MCUs not general purpose computation AFAIK SeL4 with CAmkES, or Genode.
- jonny_eh 4y agoHow about WindRiver Linux? https://www.windriver.com/products/linux https://www.windriver.com/products/linux
- snvzz 4y agoExcluded, because it's Linux, with all its issues. Huge TCB being the main one.
- andrekandre 4y agotcb... thread control block, aka task_struct?
- snvzz 4y agoTrusted Computing Base. i.e. The code that needs to be trusted. For Linux, it includes the whole kernel, and it is huge.
- andrekandre 4y agoi see, thanks for the clarification!
- mise_en_place 4y agoDunno if it’s an alternative but Linux had RT_PREEMPT and you can build a kernel that’s fully preemptable.
- sph 4y agoI just remembered that I've been running my desktop machine with `preempt=full` for a while now. I wonder why it's not the default for consumer distros yet.
- PaulDavisThe1st 4y agoIt's good, but ... there's "fully preemptable" and there's "fully preemptable". QNX is one of those, RT_PREEMPT kernels are the other.
- deleted 4y ago[deleted]
- burstmode 4y agoRT_PREEMT has nothing to do with "real" realtime. You never know WHEN the preemtion is gonna happen. Might be in 20ms, might be in 200.
- beagle3 4y agoQNX was a true microkernel architecture that worked, and worked well. The basic building block was called IIRC Send/Receive/Reply: Every "system" call looked like a regular function call, but would "Send" a message to a different process, and (usually) suspend the caller; The other process would "Receive", do whatever was requested, and "Reply", at which point control went back (with the response) to the calling process. IIRC it was also possibly to do async calls, but in that case the other process would call ("Send") the response back, rather than "Reply". I might be confusing this with another system though. device drivers weren't privileged - they were just another process you called into, and could be restarted in the case of a fault (rather than kernel panic or blue screen). A system that doesn't provide this is not an alternative to QNX; It's just another operating system (which are all, in some ways, alternative to each other and thus QNX, but ...)
- pyinstallwoes 4y agoSounds like Erlang !
- Matthias247 4y agoIn automotive infotainment systems, where QNX was used a lot in the past, it mostly had been replaced with combinations of Linux or Android on the non-realtime critical systems, and smaller microcontrollers which run realtime OS (OSEK and autosar derivates). The latter are usually not open source.
- pjmlp 4y agoQNX is NVidia's deployment target OS with DRIVE OS for critical systems, with Linux used for development.
- kevin_thibedeau 4y agoMinix 3 is closest to "as good as" minus the realtime support.