Patent ID: 8661458

Claim:
A multiprocessor system comprising: a multi-core processor; a plurality of Operating Systems (OSs) running on the multi-core processor, wherein each of said plurality of OSs having a device driver which accesses a device shared among said plurality of OSs a first device driver on one of said plurality of OSs comprises a device interface part which accesses the device to be operated, a first task interface part which receives a device access request from a task running on said one of said plurality of OSs and returns a device access result to said task, a request queue list which holds processing request data including information concerning the device access request to said device interface part, and an in-processing list which holds said processing request data corresponding to the device access request for which said device interface part is currently processing by accessing the device to be operated; a second device driver on a second one of said plurality of OSs has the same functions as said first task interface part of said first device driver on said one of said plurality of OSs and comprises a second task interface part which performs inter-operating system (OS) communication with said device interface part; said second task interface part creates said processing request data in accordance with the device access request from a requestor task on the second one of said plurality of OSs, adds said processing request data to said request queue list, and notifies said device interface part; said device interface part retrieves one of said processing request data from said request queue list, registers said one of said processing request data into said in-processing list, sets the device to be operated in accordance with the content of the processing request data, and causes the device to operate; upon completion of the operation of said device, said device interface part stores a processing result for said device into the processing request data in said in-processing list, and notifies said second task interface part; and upon receipt of the notification from said device interface part, said second task interface part retrieves said processing request data from said in-processing list, references the content of said processing request data, and returns the processing result for said device to the requestor task.