A memory marking unit in the shared memory is read to determine whether the shared memory is currently being accessed by another processor (block 802). If the shared memory is not being accessed by another processor, a processor seeking access is granted access and changes the contents of the memory marking unit to lock out other processors from the shared memory (block 803). The last task performed on the shared memory space is identified and used to determine whether a task with high priority exists. If a task with high priority exists, the task is performed (block 804). If a task with high priority doesn't exist, the processor having access to the shared memory space accesses the shared memory space for its intended purpose (block 807). After the processor is finished accessing the shared memory space, it records the identity of the task performed (block 808) and unlocks the shared memory space (block 809).
展开▼