View Single Post
  #5   Spotlight this post!  
Unread 04-01-2009, 17:56
wireties's Avatar
wireties wireties is offline
Principal Engineer
AKA: Keith Buchanan
FRC #1296 (Full Metal Jackets)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2004
Location: Rockwall, TX
Posts: 1,170
wireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond repute
Send a message via AIM to wireties
Re: Threading on the CRIO

The operating system running on the cRIO (Wind Rivers VxWorks) is multi-threaded and does pre-emptive priority-based scheduling. You can do exactly what you want. You can start as many threads as you want (till you run out of memory).

VxWorks supports something like processes in Linux (called RTPs in VxWorks) and something like threads in Linux (called tasks in VxWorks). There is a kernel context and any number of RTPs running at one time. Each RTP or the kernel can have any number of tasks running. The operation system schedules tasks, not RTPs (also like Linux).

But looking at the default code I see no evidence that RTPs are being used. It looks like everything is being run in multiple tasks in the kernel context. It is possible the kernels that WPI and NI have built for us do not have support for RTPs included (but they could have been).


HTH