Information processing apparatus and switching method of device drivers
An information processing apparatus includes, a memory that stores a program of a current device driver and a program of a new device driver that is an updated version of the current device driver; and a processor that performs an initialization process by acquiring a current device file for the current device driver and creating a virtual device file for the new device driver based on the current device file while access to the device using the current device driver is permitted, and generating a new device file by reflecting a setting information difference between setting information in the current device driver and setting information in the new device driver on the virtual device file while the access to the device using the current device driver is not permitted, starts the new device driver using the new device file, and switches the current device driver to the new device driver.
1. An information processing apparatus comprising:
a memory configured to store a program of a current device driver used for access to a device and a program of a new device driver that is an updated version of the current device driver; and
a processor, coupled to the memory, configured to perform an initialization process by acquiring a current device file corresponding to the current device driver and creating a virtual device file for the new device driver based on the current device file while access to the device using the current device driver is permitted, and generating a new device file by reflecting a setting information difference between setting information in the current device driver and setting information in the new device driver on the virtual device file while the access to the device using the current device driver is not permitted, start the new device driver using the new device file, and switch the current device driver to the new device driver.
2. The information processing apparatus according to claim 1 ,
wherein the current device driver includes a first function that responds with the setting information in the current device driver, and
the processor acquires the setting information in the current device driver by executing the first function through the virtual device file while the access is permitted.
3. The information processing apparatus according to claim 1 ,
wherein the new device driver includes a second function that responds with the setting information in the new device driver, and
the processor sets, in the current device file, an address of the second function in the memory when performing the switching.
4. The information processing apparatus according to claim 1 ,
wherein the processor acquires a busy response from the new device driver with respect to an access request that is made for the device through the virtual device file.
5. The information processing apparatus according to claim 1 ,
wherein when existing access using the current device driver is complete, the processor stops the current device driver and performs the switching.
6. The information processing apparatus according to claim 1 ,
wherein the processor monitors, at a plurality of timings, whether or not each of a plurality of tables used in a process of the current device driver is updated, performs, at each timing, a process in which a table that is not updated until a current timing from a previous timing is copied to a storage region referred to by the new device driver, and performs the switching when all of the plurality of tables are completely copied.
7. A switching method of device drivers in an information processing apparatus including a memory that stores a program of a current device driver used for access to a device and a program of a new device driver that is an updated version of the current device driver and a processor coupled to the memory, that performs a process, the process comprising:
acquiring a current device file corresponding to the current device driver;
creating a virtual device file for the new device driver based on the current device file while access to the device using the current device driver is permitted;
generating a new device file by reflecting a setting information difference between setting information in the current device driver and setting information in the new device driver on the virtual device file while the access to the device using the current device driver is not permitted;
starting the new device driver using the new device file; and
switching the current device driver to the new device driver.
8. A non-transitory computer-readable recording medium storing a program that causes a processor to execute a process, the process comprising:
acquiring a current device file corresponding to the current device driver;
creating a virtual device file for the new device driver based on the current device file while access to the device using the current device driver is permitted;
generating a new device file by reflecting a setting information difference between setting information in the current device driver and setting information in the new device driver on the virtual device file while the access to the device using the current device driver is not permitted;
starting the new device driver using the new device file; and
switching the current device driver to the new device driver.