Re: Task design considerations for a multilayer protocol stack



On Oct 30, 4:13 pm, a...@xxxxxxxx wrote:
Hi,

If I need to design a system using Vxworks tasks with multiple
applications talking to a middle abstract layer with a drivers below
the middle one, how do I decide if I need a single task or multiple
tasks at the middle layer. Let us say there are 3 apllications app1,
app2,app3 which need to communicate with a middle layer in both
directions(send/recv information). The middle layer in turn interacts
with a lower layer with 2 drivers(again send/recv).
How many tasks would be needed in middle layer and what IPC mechanism
would they use and how many.
For example will each application use 2 queues (one for each
direction) or just a single queue.
I would also like to know on what basis would I determine the number
of tasks required in a system. Is there any guidleline for identifying
what/how much should be done in a single task and when we should go
for multiple tasks.

Please explain.

Thanks,
asm

Hi,
Vxworks programmers guide gives a guideline for deciding on the number
of tasks a system might need.The guideline says:
1)If two actions are independent of each other then they may be
considered as 2 different tasks
2)If two actions happen at different timing cycle then they may be
considered as 2 different tasks
3)If two actions need totally different environment for execution then
they may be considered as 2 different tasks.
While the above mentioned are guidelines this need to be carefully
thought before coming to a conclusion.

The query on you middlelayer depends on lots of things.One line of
thought would be to consider each peripheral as a independent task.The
other line would be to have one master task which does all the
processing and incase you have interrupts make this task to service
your interrupts.The means of communication can be as simple as signals
if all you need is a notification between layers or message queues
incase you need exchange of data.Depending on your application you can
utilise both.
In our product where we use,we use message queues to exchange data
from downlayers to upper layers and pure function calls from top
layers to down.Some times we also call the upper layer functions to
notify them some data is ready.

I have given thoughts from my experience.There may be other expert
opinions.

Hope this helps
Regards,
s.subbarayan

.



Relevant Pages

  • Re: application for an employment
    ... Especially on layer 4. ... A port *scan* involves multiple connectcalls (which may or may ... education and the case study affords you unmatched consulting experience. ... Computer Emergency Response Teams, and Digital Investigations. ...
    (Security-Basics)
  • Object reference not set to an instance of an object.
    ... I developed a web page (three layer) but when i try the webpage with multiple ... users it start sending this error, the error is in diferent places every time ...
    (microsoft.public.dotnet.framework.aspnet.webcontrols)
  • Re: An Extremely Simple Public Key Exchange
    ... Because they share a single set of bits per layer, ... And dealing with multiple layers is made even more difficult because ... >> that allowed creation of an alternative set of parameters which ... >> Working code with a terse explanation is ...
    (sci.crypt)
  • Task design considerations for a multilayer protocol stack
    ... If I need to design a system using Vxworks tasks with multiple ... how do I decide if I need a single task or multiple ... tasks at the middle layer. ... direction) or just a single queue. ...
    (comp.os.vxworks)