Comparison to non-Embedded C#.Net
Posted by Brett Hancock
on June 12, 2012
I am new to RTOS but have been trying to do and learn some threading in C#.NET. Maybe that will make RTOS more understandable at the embedded level.
Would you say there is a large parallel between the world of Threading and thread management with Windows desktop applications and C#.NET world versus that of the embedded world of RTOS? Would you say that the concepts like Locks, Mutex, and Semaphores are pretty much the same?
RE: Comparison to non-Embedded C#.Net
Posted by Richard
on 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.
Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd..
See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.