All devices have a task manager with a number of task components. The task manager gives CPU time to methods in components.
It has a stack to run the program. The stack size is the same for all task managers in a device. It adapts to the method in the device with the highest memory need.
The COPP system is designed for event-driven methods that only runs a short time. It doesn’t use a ’”change task” since this requires a stack for each method.
A task manager has two queues
The task manager’s job is to take a free task and start the Timermethod in the first component in the timer queue at the given time. Otherwise, it will run the specified method from the next component in the async queue.
In order to ensure that a timer method in the timer queue doesn’t use the CPU all the time. A method from the timer queue always follows a method from the async queue and vice versa. If there is no timer method that should run at the current time, an async queue method will run instead.
Only methods without any parameters and results can be in the async queue.
Only the Timermethod from timer subcomponents can be in the timer queue. A method can only be in a queue once at a time. When you call methods in remote components, the system will park the calling while waiting for a response. After a reset, the system will call the Init method of all components.
« Back to Glossary Index