rtel wrote on Saturday, June 16, 2012:
I was hoping that somebody with some C# experience might answer this one. I don’t have C# experience but would imaging there is a large parallel between the Windows/C# style threading and threading in an RTOS.
The principals of multitasking are the same - only the scheduling algorithm changes. The objective of a Windows system is completely different to that of a real time system (responsiveness, etc. Vs guaranteed real time responses), but as far as multi tasking goes, both systems have to cope with the same issues. Those issues are inter task/thread communication, synchronization, sharing resources between different threads of execution, etc. and the primitives used to handle these are bascially the same.
There is a distinction in Windows/Linux type desktop systems between a process and a thread. In FreeRTOS there is no concept of a process, and in effect FreeRTOS tasks are analogous to windows threads that all run in a single process.