I need to point out that the uC CSP library is cooperative. It is _not_ an RTOS. There are no priorities. What I now realize is that in many applications, the simpler CSP approach is enough. If you need RT, there are still raw ISRs, or the time critical part can go in an FPGA.
Conversation
Replying to
Windows 3.x and macOS up to 9 were very successful with only cooperative tasks :) (stability is another matter)
1
Replying to
Yeah this is definitely not for general purpose OS stuff. I'm looking mostly at reactive systems: things that do not need to do much computation but are just moving data around.
1
I.e. recent bus interface project I did: was simplest to express as 4 separate tasks + 2 ISRs dumping into queues. I implemented it using traditional main loop poll, and the ugliness of that created the itch to write the CSP lib. CSP is great for such things.

