1. A method for managing shared resources in a computer system, comprising: establishing and registering a plurality of objects in response to requests from hardware or software associated with the computer system, the objects including at least one type, at least one attribute, and a handle; establishing a plurality of message pool objects, wherein the plurality of message pool objects comprise pools of free messages that can be allocated; manipulating the plurality of objects to effect processing and exchange of information; receiving, at a message pool interface, a request by a first task object through a first task object interface for a message allocation; allocating a message from a free message pool of the pools of free messages to the first task object; sending the message from the first task object through the first task object interface directly to a second task object through a second task object interface, wherein the message includes a message to arm an interrupt enabled in the second task object, the second task object including an interrupt object and the second task object interface including an interrupt interface; performing processing by the second task object in response to the received message, wherein the processing includes disabling an interrupt; returning the message by the second task object via the second task object interface, wherein returning further comprises one of the following: returning the message by the second task object through the second task object interface directly to the free message pool through the message pool interface upon completion of processing; and returning the message by the second task object through the second task object interface to the first task object through the first task object interface upon completion of processing in which the first task object through the first task object interface subsequently returns the message to the free message pool through the message pool interface.