With a system in which a plurality of OSs run on a multi-core processor and which is based on a client-server approach where one OS performs device access on behalf of the other OSs, if a device is to be accessed from tasks on the plurality of OSs, there have been problems of a reduction in performance and an increase in design and manufacturing cost due to the necessity of providing proxy servers.
In a multiprocessor system with a plurality of OSs 40, 50 running thereon, each of the plurality of OSs has a device driver 41, 51 which accesses devices for shared use among the OSs, wherein the device driver has at least either of a device interface part 45 or a task interface part 44, 54 which performs inter-OS communication at the OS kernel layer, and wherein the device interface part 45 accesses a device 14 to be operated by the device driver and the task interface part receives a device access request from a task running on each OS and returns a device access result to the task.