Patent ID: 6981108

Claim:
A computer system comprising: at least two CPUs; shared memory, which is shared by said at least two CPUs; and at least one shared system resource accessible to said at least two CPUs, said shared memory having therein a resource locking table, comprising memory elements, each of said memory elements designated for being written to by only one of said at least two CPUs, each CPU of said at least two CPUs having a corresponding memory element for each of said at least one shared system resource to which it has access, wherein each of said at least two CPUs is communicatively interconnected with said shared memory and said at least one shared system resource, wherein said resource locking table is operative by each of said at least two CPUs, and wherein any of said at least two CPUs can read a first collection of memory elements in a single transaction, said first collection of memory elements corresponding to requests of received from said at least two CPUs for one of said at least one shared system resource, and wherein a CPU of said at least two CPUs locks a said at least one shared system resource by executing at least one control command to accomplish the steps of: a. checking a content of said first collection of memory elements of said shared memory and if each memory element of said first collection of memory elements is not clear, waiting for each of said first collection of memory elements to clear; b. setting said corresponding memory element for each CPU of said at least two CPUs; c. checking if more than one of said memory elements of said first collection of memory elements is set, and if true then resetting said corresponding memory element for each CPU of said at least two CPUs and waiting for each of said memory elements of said first collection of memory elements to reset and repeating the sequence from step a.; d. accessing said at least one shared system resource corresponding to said first collection of memory elements; and e. resetting said corresponding memory element, corresponding to said at least two CPUs, of said first collection of memory elements corresponding to said at least one shared system resource.