A driver is provided to manage launching of tasks at different levels of
priority and within the parameters of the firmware interface. The driver
includes two anchors for managing the tasks, a dispatcher and an agent.
The dispatcher operates at a medium priority level and manages
communication from a remote administrator. The agent functions to receive
communications from the dispatcher by way of a shared data structure and
to launch lower priority level tasks in respond to the communication. The
shared data structure stores communications received from the dispatcher.
Upon placing the communication in the shared data structure, the
dispatcher sends a signal to the agent indicating that a communication is
in the data structure for reading by the agent. Following reading of the
communication in the data structure, the agent launches the lower
priority level task and sends a signal to the data structure indicating
the status of the task. Accordingly, a higher level task maintains its
level of operation and spawns lower level tasks through the dispatcher in
conjunction with the agent.