Patent ID: 8161494

Claim:
A method for requesting operating system services from a first computing environment by a second computing environment, wherein the first computing environment includes an operating system and a memory element that has at least one control area with a pool queue and an operating system service queue having an operating system service initiation queue and an operating system service result queue, wherein the second computing environment includes at least one offload engine corresponding to the control area, the method comprising: allocating by the operating system of the first computing environment a control block, wherein the memory element is configured in such a way that the control area is accessible by the operating system of the first computing environment and by the corresponding offload engine; enqueuing by the operating system of the first computing environment the control block into an available slot in the pool queue; wherein the control block is enqueued into the pool queue in such a way that the offload engine in the second computing environment can dequeue the control block from the pool queue, update the dequeued control block with a request for an operating system service from the operating system of the first computing environment, and wherein the operating system service queue is configured in such a way that the offload engine can enqueue the updated control block into an available slot in the operating system service initiation queue; dequeuing by the operating system of the first computing environment the enqueued updated control block from the operating system service initiation queue; performing by the operating system of the first computing environment the requested operating system service in the dequeued control block; and enqueuing by the operating system of the first computing environment the control block into a result queue portion of the operating system service result queue, wherein the control block is enqueued into the operating system service result queue in such a way that the offload engine can dequeue the control block therefrom.