I can see your response on one news server but I can't see it on my
usual news server! I guess my server is not logging all messages! Sorry
for the late reply.
"tasklets" are indeed similar to "priority functions". In some RTOSes
they are called "Software Interrupts". In others "Link Service Routine".
What we have done in PORTOS is to generalize the concept and make the
code mainly centered around "priority functions" and "priority objects".
In Linux, tasklets are given little importance while in PORTOS the
"priority functions" are at the heart of the RTOS. For instance,
"tasklets" eventually post a semaphore and the hand is given back to the
"tasks". In PORTOS there are no sempaphores (or are seldom used).
Our claim is that the code will be cleaner and more structured in the
end when avoiding tasks and their complexity. Our idea is that tasks
will only be used by different software applications (not within one
application), in order to achieve time-slicing (if needed), MMU memory
protection, or multi-processing. But within one application running on
one CPU there is usually no need for that. So relying on semaphores,
mailboxes, and priority inversion to write real time code is a killer.
Every sub-process in a real time code has an inherent priority level.
"Priority functions" act like a multi-priority service queues. The
server is the processor, the service provided is the function itself,
and the data is the message or object passed to the function.
> We have developed a new kind of RTOS based on the concepts of priority
> functions and priority objects.
> The main goal behind this RTOS is to simplify the programming of
> embedded systems, to enable cleaner designs, and to improve
> performance. The complexity that arises from the traditional use of
> "tasks" or "threads" is partly eliminated.
> More details and software can be found at http://www.yqcomputer.com/
> Your feedback on this RTOS would be greatly appreciated.
A first reading suggests to me that your priority functions are very
much like the "tasklets" and "timers" of realtime Linux (RTLinux/GPL and
RTAI). Is this correct?
K.U.Leuven, Mechanical Eng., Mechatronics & Robotics Research Group
~bruyninc> Tel: +32 16 322480