JP2019200686A - Control device and program - Google Patents

Control device and program Download PDF

Info

Publication number
JP2019200686A
JP2019200686A JP2018096036A JP2018096036A JP2019200686A JP 2019200686 A JP2019200686 A JP 2019200686A JP 2018096036 A JP2018096036 A JP 2018096036A JP 2018096036 A JP2018096036 A JP 2018096036A JP 2019200686 A JP2019200686 A JP 2019200686A
Authority
JP
Japan
Prior art keywords
command
driver
notification
control unit
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018096036A
Other languages
Japanese (ja)
Other versions
JP7070079B2 (en
Inventor
大久保 宏
Hiroshi Okubo
宏 大久保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2018096036A priority Critical patent/JP7070079B2/en
Publication of JP2019200686A publication Critical patent/JP2019200686A/en
Application granted granted Critical
Publication of JP7070079B2 publication Critical patent/JP7070079B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To shorten a time until a process for a device that has caused reboot can be started when a processor is rebooted by a notice from the device.SOLUTION: When an interruption signal is output from a device, a command issuing unit 56 accesses the device that has output the interruption signal, and a first OS 20 energizes second control means 200. In the second control means 200, drivers 7, 8, 9 are activated after a second OS 23 is activated. When the drivers 7, 8, 9 are activated, the command issuing unit 56 first reissues an open command and an ioctl command to a communication path corresponding to the device that has output the interruption signal, and then reissues an open command and an ioctl command to communication paths corresponding to other devices.SELECTED DRAWING: Figure 2

Description

本発明は、制御装置及びプログラムに関する。   The present invention relates to a control device and a program.

マルチプロセッサのシステムにおいて一方のプロセッサが再起動したときの誤動作を防ぐ発明として、例えば、特許文献1に開示された電子機器がある。この電子機器においては、第1のCPUで動作する第1OS上でプロセスが実行され、デバイスが接続された第2のCPUで動作する第2OS上でデバイスドライバが実行される。電子機器が省電力モードに遷移すると、第2のCPUへの電力供給が停止され、第2OSが終了する。省電力モードから通常モードへの復帰が指示されると、第2のCPUへの電力供給が再開され、第2OSが再起動し、再起動した第2OSによりデバイスドライバが再起動される。省電力モードに遷移した場合、ファイルディスクリプタが第2OSの終了により失われ、システムコールも消失してしまう。この不具合を解決するために、特許文献1に開示された電子機器は、コマンドの再書込機能を備え、省電力モードに遷移する前に書き込まれたコマンドを再書込みする。   As an invention for preventing malfunction when one processor is restarted in a multiprocessor system, for example, there is an electronic device disclosed in Patent Document 1. In this electronic apparatus, a process is executed on the first OS that operates on the first CPU, and a device driver is executed on the second OS that operates on the second CPU to which the device is connected. When the electronic device transitions to the power saving mode, the power supply to the second CPU is stopped and the second OS is terminated. When an instruction to return from the power saving mode to the normal mode is given, the power supply to the second CPU is resumed, the second OS is restarted, and the device driver is restarted by the restarted second OS. When transitioning to the power saving mode, the file descriptor is lost when the second OS is terminated, and the system call is also lost. In order to solve this problem, the electronic device disclosed in Patent Document 1 has a command rewriting function, and rewrites a command written before transitioning to the power saving mode.

特許第6098389号公報Japanese Patent No. 6098389

例えば、FAX機能を有する電子機器の場合、省電力モードから通常モードへの復帰は、外部装置からの着信がデバイスから第1OSへ通知され、この通知を契機に第1OSが通常モードへの復帰処理を開始する。ここで、通常モードへの復帰の要因となったデバイスのデバイスドライバが復帰を完了するタイミングが遅くなると、外部装置に対する通信処理が間に合わなくなる。   For example, in the case of an electronic device having a FAX function, when returning from the power saving mode to the normal mode, an incoming call from an external device is notified from the device to the first OS, and the first OS returns to the normal mode in response to this notification. To start. Here, if the timing at which the device driver of the device that has caused the return to the normal mode completes the return is delayed, the communication processing for the external device will not be in time.

本発明は、デバイスからの通知でプロセッサが再起動したときに、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することを目的とする。   An object of the present invention is to shorten the time until processing for a device that has caused a restart can be started when the processor is restarted by a notification from the device.

本発明の請求項1に係る制御装置は、第2オペレーティングシステムを実行し、制御対象となる複数のデバイス毎に設けられたデバイスドライバが前記第2オペレーティングシステム上で複数動作する第2制御手段と、第1オペレーティングシステムを実行し、前記デバイスに対応したプロセスが前記第1オペレーティングシステム上で動作する手段であって、前記第2制御手段を省電力状態から復帰させる通知を前記デバイスから取得した場合、当該通知を出力したデバイスに対応した前記デバイスドライバに対して省電力状態になる前に発行したコマンドの再発行を行い、当該再発行の順番を、他のデバイスドライバに対して発行したコマンドの再発行の順番より早くする第1制御手段とを備える。   The control apparatus according to claim 1 of the present invention includes a second control unit that executes the second operating system, and a plurality of device drivers provided for each of a plurality of devices to be controlled operate on the second operating system. When the first operating system is executed and a process corresponding to the device operates on the first operating system, and a notification for returning the second control unit from the power saving state is acquired from the device. , Reissue the commands issued before entering the power saving state for the device driver corresponding to the device that output the notification, and set the reissue order of the commands issued to other device drivers. First control means for making the order earlier than the reissue order.

本発明の請求項2に係る制御装置においては、前記第2制御手段は、前記通知を出力したデバイスに対するアクセスへの応答を取得し、当該応答を前記第1制御手段へ供給し、前記第1制御手段は、前記応答が前記第2制御手段から供給される前に、前記応答を前記プロセスへ供給する。   In the control apparatus according to claim 2 of the present invention, the second control unit obtains a response to access to the device that has output the notification, supplies the response to the first control unit, and the first control unit The control means supplies the response to the process before the response is supplied from the second control means.

本発明の請求項3に係る制御装置においては、前記第1制御手段は、前記通知を出力し
たデバイスに対応したデバイスドライバ以外のデバイスドライバに対して前記コマンドの再発行を行う前に前記応答を前記プロセスへ供給する。
In the control device according to claim 3 of the present invention, the first control means sends the response before reissuing the command to a device driver other than the device driver corresponding to the device that has output the notification. Supply to the process.

本発明の請求項4に係る制御装置においては、前記第1制御手段は、前記第2制御手段から供給される前記応答を破棄する。   In the control device according to claim 4 of the present invention, the first control means discards the response supplied from the second control means.

本発明の請求項5に係る制御装置においては、前記第1制御手段は、前記通知を取得した場合、前記第2オペレーティングシステムの再起動の前に、前記通知を出力したデバイスへアクセスする。   In the control device according to claim 5 of the present invention, when the first control unit acquires the notification, the first control unit accesses the device that has output the notification before restarting the second operating system.

本発明の請求項6に係る制御装置においては、前記第1制御手段は、前記通知を取得した場合、前記第2オペレーティングシステム及び前記デバイスドライバを介さずに前記デバイスへアクセスする。   In the control device according to claim 6 of the present invention, when the first control means acquires the notification, the first control means accesses the device without going through the second operating system and the device driver.

本発明の請求項7に係るプログラムは、コンピュータを、第1オペレーティングシステムを実行し、デバイスに対応したプロセスが前記第1オペレーティングシステム上で動作する手段であって、前記デバイスに対応するデバイスドライバを実行する第2制御手段を省電力状態から復帰させる通知を前記デバイスから取得した場合、当該通知を出力したデバイスに対応した前記デバイスドライバに対して省電力状態になる前に発行したコマンドの再発行を行い、当該再発行の順番を、他のデバイスドライバに対して発行したコマンドの再発行の順番より早くする制御手段として機能させるためのプログラムである。   A program according to claim 7 of the present invention is a means for executing a first operating system on a computer, a process corresponding to a device operating on the first operating system, and a device driver corresponding to the device. When a notification for returning the second control means to be executed from the power saving state is acquired from the device, a command issued before entering the power saving state to the device driver corresponding to the device that has output the notification is reissued This is a program for functioning as a control means for making the reissue order earlier than the reissue order of commands issued to other device drivers.

本発明の請求項1に係る制御装置によれば、デバイスからの通知でプロセッサが再起動したときに、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することができる。
本発明の請求項2に係る制御装置によれば、デバイスに対するアクセスへの応答が第2制御手段から供給される場合と比較して、デバイスへのアクセスへの応答を早く取得し、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することができる。
本発明の請求項3に係る制御装置によれば、デバイスに対するアクセスへの応答が復帰要因となったデバイス以外のデバイスドライバへのコマンドの再発行の後に供給される構成と比較して、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することができる。
本発明の請求項4に係る制御装置によれば、デバイスに対するアクセスへの応答がプロセスへ複数回供給されるのを防ぐことができる。
本発明の請求項5に係る制御装置によれば、省電力の状態から復帰する要因となったデバイスへデバイスドライバが再起動してからアクセスする構成と比較して、省電力の状態から復帰する要因となったデバイスへのアクセスを早くすることができる。
本発明の請求項6に係る制御装置によれば、省電力の状態から復帰する要因となったデバイスへデバイスドライバからアクセスする構成と比較して、省電力の状態から復帰する要因となったデバイスへのアクセスを早くすることができる。
本発明の請求項7に係るプログラムによれば、デバイスからの通知でプロセッサが再起動したときに、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することができる。
According to the control device of the first aspect of the present invention, when the processor is restarted by a notification from the device, it is possible to shorten the time until processing for the device that has caused the restart can be started. it can.
According to the control device of the second aspect of the present invention, the response to the access to the device is acquired earlier than the case where the response to the access to the device is supplied from the second control means, and It is possible to shorten the time until the processing for the device that has caused the factor can be started.
According to the control device of the third aspect of the present invention, the restart is performed in comparison with the configuration supplied after the reissue of the command to the device driver other than the device whose response to the access to the device is a return factor. It is possible to shorten the time until the processing for the device that has caused the problem can be started.
According to the control apparatus of the fourth aspect of the present invention, it is possible to prevent a response to access to the device from being supplied to the process a plurality of times.
According to the control device of the fifth aspect of the present invention, the device returns from the power saving state as compared with the configuration in which the device driver is accessed after the device driver is restarted to cause the device to return from the power saving state. It is possible to speed up access to the device that caused the problem.
According to the control apparatus of the sixth aspect of the present invention, the device that has caused the return from the power saving state as compared with the configuration in which the device that has caused the return from the power saving state is accessed from the device driver. Access to can be made faster.
According to the program according to claim 7 of the present invention, when the processor is restarted by a notification from the device, it is possible to shorten the time until processing for the device that causes the restart can be started. .

本発明の一実施形態のハードウェア構成を示す図。The figure which shows the hardware constitutions of one Embodiment of this invention. 実施形態のソフトウェア構成を示す図。The figure which shows the software structure of embodiment. 実施形態の動作例を説明するためのシーケンス図。The sequence diagram for demonstrating the operation example of embodiment. 実施形態の動作例を説明するためのシーケンス図。The sequence diagram for demonstrating the operation example of embodiment.

[実施形態]
次に、実施形態の構成について説明する。図1は、実施形態のハードウェア構成を示す図である。画像形成装置1000の主な構成要素は、第1制御手段100、第2制御手段200及びデバイス300である。第1制御手段100は、本発明に係る第1制御手段の一例であり、第2制御手段200を制御する。本発明に係る第2制御手段の一例である第2制御手段200は、デバイス300を制御する。
[Embodiment]
Next, the configuration of the embodiment will be described. FIG. 1 is a diagram illustrating a hardware configuration of the embodiment. The main components of the image forming apparatus 1000 are a first control unit 100, a second control unit 200, and a device 300. The first control means 100 is an example of the first control means according to the present invention, and controls the second control means 200. The second control means 200, which is an example of the second control means according to the present invention, controls the device 300.

第1制御手段100は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、通信I/F(Interface)104、記憶装置であるHDD(Hard Disk Drive)105及びLAN(Local Area Network)端子106を備え、これらの構成要素はバス110に接続されている。CPU101は、RAM102をワークエリアとして、プログラムを実行する。ROM103には、ブートローダなどが記憶されている。通信I/F104は、例えばPCI(Peripheral Component Interconnect)Express(登録商標。以下、PCIeと略す)のインターフェースであり、第2制御手段200が備えるPCIeのインターフェースである通信I/F204と信号線で接続される。HDD105には、第1OS20(Operating System)のプログラムやアプリケーションプログラムなどが記憶されている。画像形成装置1000に電源が投入されると、CPU101がROM103からブートローダを読み出し、ブートローダに従ってHDD105から第1OS20のプログラムを読み出して実行する。第1OS20は、例えばLinux(登録商標)である。LAN端子106には信号線が接続され、CPU101は、LAN経由で外部の情報処理装置などと通信する。   The first control means 100 includes a CPU (Central Processing Unit) 101, a RAM (Random Access Memory) 102, a ROM (Read Only Memory) 103, a communication I / F (Interface) 104, and an HDD (Hard Disk Drive) as a storage device. 105 and a LAN (Local Area Network) terminal 106, and these components are connected to the bus 110. The CPU 101 executes a program using the RAM 102 as a work area. The ROM 103 stores a boot loader and the like. The communication I / F 104 is, for example, an interface of PCI (Peripheral Component Interconnect) Express (registered trademark, hereinafter abbreviated as PCIe), and is connected to the communication I / F 204 which is an interface of PCIe included in the second control unit 200 through a signal line. Is done. The HDD 105 stores a first OS 20 (Operating System) program, an application program, and the like. When the image forming apparatus 1000 is turned on, the CPU 101 reads the boot loader from the ROM 103, and reads and executes the program of the first OS 20 from the HDD 105 according to the boot loader. The first OS 20 is, for example, Linux (registered trademark). A signal line is connected to the LAN terminal 106, and the CPU 101 communicates with an external information processing apparatus or the like via the LAN.

第2制御手段200は、CPU201、RAM202、ROM203及び通信I/F204を備え、これらの構成要素はバス210に接続されている。CPU201は、本発明に係るプロセッサの一例であり、RAM202をワークエリアとして、プログラムを実行する。ROM203には、第2OS23が記憶されている。CPU201は、ROM203から第2OS23を読み出して実行する。第2OS23は、例えばRTOS(Real Time OS)であり、デバイス300を制御するドライバの機能を備える。   The second control unit 200 includes a CPU 201, a RAM 202, a ROM 203, and a communication I / F 204, and these components are connected to the bus 210. The CPU 201 is an example of a processor according to the present invention, and executes a program using the RAM 202 as a work area. The ROM 203 stores a second OS 23. The CPU 201 reads the second OS 23 from the ROM 203 and executes it. The second OS 23 is an RTOS (Real Time OS), for example, and has a driver function for controlling the device 300.

デバイス300は、例えばFAX部301、画像形成部302、UI(User Interface)303などである。なお、デバイス300は、これらに限定されるものではなく、イメージスキャナなどの他のデバイスも備える構成であってもよい。FAX部301は、通信回線に接続されており、通信回線を介して画像データの送信及び受信を行う。画像形成部302は、例えば、紙などの記録媒体を収容する収容部、記録媒体を搬送路に沿って搬送する搬送機構、搬送された記録媒体に対して画像データが示す画像をトナーで形成する画像形成エンジン、記録媒体に形成された画像を記録媒体に定着させる定着装置など(図示省略)を備え、第1制御手段100から第2制御手段200を介して供給された画像データに基づく画像を電子写真方式で記録媒体に形成する。UI303は、例えば、タッチパネルやキーパッドなど(図示省略)を備え、ユーザによる操作を受け付ける。タッチパネルには、ユーザが画像形成装置1000を操作するためのGUI(Graphical User Interface)や、画像形成装置1000の状態を表す情報などが表示される。キーパッドは、画像形成装置1000の動作の開始や停止を指示するためのキーや、数字を入力するためのテンキーなどを備える。   The device 300 is, for example, a FAX unit 301, an image forming unit 302, a UI (User Interface) 303, or the like. The device 300 is not limited to these, and may be configured to include other devices such as an image scanner. The FAX unit 301 is connected to a communication line, and transmits and receives image data via the communication line. The image forming unit 302 includes, for example, a storage unit that stores a recording medium such as paper, a transport mechanism that transports the recording medium along a transport path, and forms an image indicated by image data on the transported recording medium with toner. An image forming engine, a fixing device for fixing an image formed on the recording medium to the recording medium, and the like (not shown) are provided, and an image based on the image data supplied from the first control unit 100 via the second control unit 200 is displayed. It is formed on a recording medium by an electrophotographic method. The UI 303 includes, for example, a touch panel, a keypad, and the like (not shown) and accepts user operations. On the touch panel, GUI (Graphical User Interface) for the user to operate the image forming apparatus 1000, information indicating the state of the image forming apparatus 1000, and the like are displayed. The keypad includes a key for instructing the start and stop of the operation of the image forming apparatus 1000, a numeric keypad for inputting numbers, and the like.

前述のとおり、本実施形態は2つのCPUを備えた、いわゆるマルチプロセッサシステムである。図2は、実施形態のマルチプロセッサシステムの基本的なソフトウェア構成を示す図である。なお、以下の説明では、便宜上、ソフトウェアの構成要素を動作の主体と
する。
As described above, the present embodiment is a so-called multiprocessor system including two CPUs. FIG. 2 is a diagram illustrating a basic software configuration of the multiprocessor system according to the embodiment. In the following description, for the sake of convenience, software components are assumed to be the subject of operation.

第1制御手段100においては、第1OS20が動作し、第2制御手段200においては、第2OS23が動作する。第1OS20は、本発明に係る第1オペレーティングシステムの一例であり、第2OS23は、本発明に係る第2オペレーティングシステムの一例である。プロセス1、2、3は、第1OS20上で動作するアプリケーションプログラムを構成するプロセスであり、本発明に係るプロセスの一例である。例えば、プロセス1は、FAX部301を制御するプロセスであり、プロセス2は、画像形成部302を制御するプロセスであり、プロセス3は、UI303を制御するプロセスである。   In the first control means 100, the first OS 20 operates, and in the second control means 200, the second OS 23 operates. The first OS 20 is an example of a first operating system according to the present invention, and the second OS 23 is an example of a second operating system according to the present invention. Processes 1, 2, and 3 are processes that constitute an application program that runs on the first OS 20, and are examples of processes according to the present invention. For example, the process 1 is a process for controlling the FAX unit 301, the process 2 is a process for controlling the image forming unit 302, and the process 3 is a process for controlling the UI 303.

第2OS23上で動作するドライバ7、8、9は、デバイス300を制御するデバイスドライバであり、本発明に係るデバイスドライバの一例である。例えば、ドライバ7は、FAX部301を制御し、ドライバ8は、画像形成部302を制御し、ドライバ9は、UI303を制御する。   The drivers 7, 8, and 9 operating on the second OS 23 are device drivers that control the device 300, and are examples of device drivers according to the present invention. For example, the driver 7 controls the FAX unit 301, the driver 8 controls the image forming unit 302, and the driver 9 controls the UI 303.

プロセス1、2、3は、それぞれAPI(Application Programming Interface)4、5、6を介したシステムコール11によってドライバ7、8、9を呼び出す。呼び出されたドライバ7、8、9は、システムコール11の内容に応じた処理を実行し、それぞれの処理の実行結果を表す戻り値12を、API4、5、6を介してプロセス1、2、3に返す。   The processes 1, 2, and 3 call the drivers 7, 8, and 9 by a system call 11 through API (Application Programming Interface) 4, 5, and 6, respectively. The called drivers 7, 8, 9 execute processing corresponding to the contents of the system call 11, and return values 12 representing the execution results of the respective processing are sent to the processes 1, 2, 2, via the APIs 4, 5, 6. Return to 3.

本実施形態においては、プロセス1、2、3は第1制御手段100側で動作し、ドライバ7、8、9は第2制御手段200側で動作するため、プロセス1、2、3は、第1OS20が提供するライブラリを介してシステムコール11を実行する。具体的には、第1OS20のAPI13、14、15で呼び出されるシステムコール11をライブラリ16、17、18で解釈される関数27に予め対応付けておいてもよいし、あるいは、プロセス1、2、3が関数27を直接呼び出すように構成されていてもよい。関数27が呼び出されると、ライブラリ16、17、18は、この関数27の内容を第2OS23に渡すために、この関数27を第1OS20と第2OS23とで共通に解釈されるコマンド29に変換してOS間通信ドライバ19に渡す。OS間通信ドライバ19は、このコマンド29をOS間通信によってOS間通信ドライバ22に送信する。第1OS20が備えるOS間通信ドライバ19は、第2OS23と通信を行うためのプログラムであり、第2OS23が備えるOS間通信ドライバ22は、第1OS20と通信を行うプログラムである。OS間通信のインターフェースはいかなる方式でもよいが、本実施形態では、PCIe21を用いた例を示す。   In the present embodiment, the processes 1, 2, and 3 operate on the first control unit 100 side, and the drivers 7, 8, and 9 operate on the second control unit 200 side. The system call 11 is executed through a library provided by the 1OS 20. Specifically, the system call 11 called by the API 13, 14, 15 of the first OS 20 may be associated in advance with the function 27 interpreted by the libraries 16, 17, 18, or alternatively, 3 may be configured to call function 27 directly. When the function 27 is called, the libraries 16, 17, and 18 convert the function 27 into a command 29 that is commonly interpreted by the first OS 20 and the second OS 23 in order to pass the contents of the function 27 to the second OS 23. The data is passed to the inter-OS communication driver 19. The inter-OS communication driver 19 transmits this command 29 to the inter-OS communication driver 22 by inter-OS communication. The inter-OS communication driver 19 provided in the first OS 20 is a program for communicating with the second OS 23, and the inter-OS communication driver 22 provided in the second OS 23 is a program for communicating with the first OS 20. The interface for communication between the OSs may be any system, but in this embodiment, an example using the PCIe 21 is shown.

OS間通信ドライバ22は、受信したコマンド29をタスク24、25、26に渡す。コマンド29を受け取ったタスク24、25、26は、コマンド29を、それぞれドライバ7、8、9で解釈されるシステムコール11に変換し、それぞれAPI4、5、6を介したシステムコール11によってドライバ7、8、9を呼び出す。呼び出されたドライバ7、8、9は、システムコール11の内容に応じた処理を実行し、それぞれの処理の実行結果を表す戻り値12を、API4、5、6を介してタスク24、25、26に返す。   The inter-OS communication driver 22 passes the received command 29 to the tasks 24, 25, and 26. The tasks 24, 25, and 26 that have received the command 29 convert the command 29 into a system call 11 that is interpreted by the drivers 7, 8, and 9, respectively, and the driver 7 by the system call 11 through the APIs 4, 5, and 6, respectively. , 8 and 9 are called. The called drivers 7, 8, 9 execute processing corresponding to the contents of the system call 11, and return values 12 representing the execution results of the respective processing are sent to the tasks 24, 25, 25 via the APIs 4, 5, 6. Return to 26.

戻り値12を受け取ったタスク24、25、26は、戻り値12の内容を第1OS20に渡すために、この戻り値12を第1OS20と第2OS23とで共通に解釈されるステータス30に変換してOS間通信ドライバ22に渡す。OS間通信ドライバ22は、このステータス30をOS間通信によってOS間通信ドライバ19に送信する。OS間通信ドライバ19は、受信したステータス30をライブラリ16、17、18に渡す。ステータス30を受け取ったライブラリ16、17、18は、それぞれステータス30をプロセス1、2、3で解釈される戻り値28に変換し、この戻り値28をそれぞれAPI13、1
4、15を介してプロセス1、2、3に返す。
The tasks 24, 25, and 26 that have received the return value 12 convert the return value 12 into a status 30 that is commonly interpreted by the first OS 20 and the second OS 23 in order to pass the contents of the return value 12 to the first OS 20. Passed to the inter-OS communication driver 22. The inter-OS communication driver 22 transmits this status 30 to the inter-OS communication driver 19 by inter-OS communication. The inter-OS communication driver 19 passes the received status 30 to the libraries 16, 17, and 18. The libraries 16, 17, and 18 that have received the status 30 convert the status 30 into return values 28 that are interpreted by the processes 1, 2, and 3, respectively.
4 and 15 to return to processes 1, 2, and 3.

コマンド発行部56は、第1OS20上で動作し、省電力モードから通常モードに戻るときに、コマンド29の再発行を行う。例えば、省電力モードに移行した場合、第2OS23が終了するため、通信路47、48、49へのファイルディスプリクタへの割り当てが失われる。従って、通常モードに復帰した場合には、コマンド29の一例であるopenコマンドの再発行が必要となるが、プロセス1、2、3は、通信路47、48、49へのファイルディスクリプタの割り当てが失われたことを認識していないため、openコマンドを発行せずに関数27を呼び出してしまう。また、省電力モードでは、ドライバ7で処理待ちのシステムコール11も消失してしまうため、openコマンドだけでなく、コマンド29の一例であって非同期コマンドであるioctlコマンドの再発行も必要となる。そこで、本実施形態では、コマンド発行部56が第1OS20上で動作する。コマンド発行部56は、ライブラリ16、17、18とタスク24、25、26との間の通信路47、48、49毎にOS間通信ドライバ19に設けられている。コマンド発行部56は、省電力モードから通常モードへ復帰するときにopenコマンドを再発行する。また、省電力モードに移行して第2OS23が終了すると、ドライバ7、8、9で処理待ちのシステムコール11も消失する。このため、コマンド発行部56は、省電力モードから通常モードへ復帰するときに、非同期コマンドであるioctlコマンドの再発行を行う。openコマンドとioctlコマンドは、本発明に係るコマンドの一例である。   The command issuing unit 56 operates on the first OS 20 and reissues the command 29 when returning from the power saving mode to the normal mode. For example, when the mode is shifted to the power saving mode, the second OS 23 is terminated, so that the assignment of the communication paths 47, 48, and 49 to the file director is lost. Therefore, when returning to the normal mode, it is necessary to reissue an open command, which is an example of the command 29. However, in the processes 1, 2, and 3, file descriptors are assigned to the communication paths 47, 48, and 49. Since the loss is not recognized, the function 27 is called without issuing the open command. Further, in the power saving mode, the system call 11 waiting for processing by the driver 7 also disappears, so it is necessary to reissue not only an open command but also an ioctl command that is an example of the command 29 and is an asynchronous command. Therefore, in the present embodiment, the command issuing unit 56 operates on the first OS 20. The command issuing unit 56 is provided in the inter-OS communication driver 19 for each of the communication paths 47, 48, 49 between the libraries 16, 17, 18 and the tasks 24, 25, 26. The command issuing unit 56 reissues the open command when returning from the power saving mode to the normal mode. In addition, when the second OS 23 is terminated after shifting to the power saving mode, the system calls 11 waiting for processing by the drivers 7, 8, and 9 are also lost. Therefore, the command issuing unit 56 reissues an ioctl command that is an asynchronous command when returning from the power saving mode to the normal mode. The open command and the ioctl command are examples of commands according to the present invention.

同期コマンドとは、戻り値が返るまで次のコマンドの発行を待機するコマンドであり、非同期コマンドとは、戻り値が返るのを待たずに次のコマンドの発行が可能なコマンドである。非同期コマンドを発行した場合、戻り値が返っていない状態で通常モードから省電力モードへの切り替えが行われることがあり得る。   The synchronous command is a command that waits for the next command to be issued until a return value is returned, and the asynchronous command is a command that can issue the next command without waiting for the return value to be returned. When an asynchronous command is issued, switching from the normal mode to the power saving mode may be performed in a state where no return value is returned.

次に本実施形態の動作例について説明する。画像形成装置1000は、通常モード又は省電力モードで動作する。通常モードにおいては、第1制御手段100、第2制御手段200及びデバイス300へ通電が行われている。第1制御手段100は、ユーザによる操作が予め定められた時間以上行われなかった場合や外部装置からの入力が予め定められた時間以上なかった場合などのように、予め定められた条件が満たされた場合、電力の消費を抑える省電力モードに移行する。第1制御手段100は、省電力モードに移行すると、デバイス300において予め定められたデバイスと、第2制御手段200への電力供給を停止する。第2制御手段200への通電が停止されると、第2制御手段200で動作していたドライバ7、8、9、タスク24、25、26、OS間通信ドライバ22及び第2OS23が終了する。   Next, an operation example of this embodiment will be described. The image forming apparatus 1000 operates in a normal mode or a power saving mode. In the normal mode, the first control unit 100, the second control unit 200, and the device 300 are energized. The first control means 100 satisfies a predetermined condition such as when the user's operation has not been performed for a predetermined time or when input from an external device has not been performed for a predetermined time. If so, the mode shifts to a power saving mode that suppresses power consumption. When the first control unit 100 shifts to the power saving mode, the first control unit 100 stops the power supply to the device predetermined in the device 300 and the second control unit 200. When the power supply to the second control unit 200 is stopped, the drivers 7, 8, and 9, the tasks 24, 25, and 26, the inter-OS communication driver 22 and the second OS 23 that have been operating in the second control unit 200 are terminated.

第1制御手段100は、省電力モードのときに予め定められた割り込みが発生した場合、第2制御手段200及びデバイス300への通電を行う通常モードに復帰する。第1制御手段100は、通常モードに復帰すると、第2制御手段200と、デバイス300において電力供給が停止されていたデバイスへの電力供給を行う。電力が供給された第2制御手段200は、第2OS23を再起動し、OS間通信ドライバ22と、ドライバ7、8、9の再起動を行う。   When a predetermined interrupt occurs in the power saving mode, the first control unit 100 returns to the normal mode in which the second control unit 200 and the device 300 are energized. When the first control unit 100 returns to the normal mode, the first control unit 100 supplies power to the second control unit 200 and the device whose power supply has been stopped in the device 300. The second control unit 200 to which the power is supplied restarts the second OS 23 and restarts the inter-OS communication driver 22 and the drivers 7, 8, and 9.

図3は、省電力モードから通常モードに復帰するときの動作例を説明するためのシーケンス図である。例えばFAX部301は、着呼があった場合、第1OS20に対して割り込み信号を出力する(ステップS1)。この割り込み信号は、第2制御手段200を省電力モードから通常モードに復帰させる通知の一例である。この割り込み信号は、第2OS23を介さず、PCIe21を介して第1OS20に送られる。第1OS20は、FAX部301からの割り込み信号を取得すると、コマンド発行部56に対して割り込み信号を出力したデバイスへのアクセスを指示する(ステップS2)。コマンド発行部56は、こ
の指示を受けると、第2OS23を介さず、PCIe21を介してFAX部301にアクセスし、FAXの通信の開始を指示する(ステップS3)。
FIG. 3 is a sequence diagram for explaining an operation example when returning from the power saving mode to the normal mode. For example, when there is an incoming call, the FAX unit 301 outputs an interrupt signal to the first OS 20 (step S1). This interrupt signal is an example of a notification for returning the second control unit 200 from the power saving mode to the normal mode. This interrupt signal is sent to the first OS 20 via the PCIe 21 without passing through the second OS 23. When acquiring the interrupt signal from the FAX unit 301, the first OS 20 instructs the command issuing unit 56 to access the device that has output the interrupt signal (step S2). Upon receiving this instruction, the command issuing unit 56 accesses the FAX unit 301 via the PCIe 21 without passing through the second OS 23, and instructs the start of FAX communication (step S3).

次に第1OS20は、第2制御手段200に通電する(ステップS4)。第2制御手段200への通電が行われると、第2OS23が起動する(ステップS5)。起動した第2OS23は、ドライバ7、8、9を起動する(ステップS6、ステップS7、ステップS8)。   Next, the first OS 20 energizes the second control means 200 (step S4). When the second control means 200 is energized, the second OS 23 is activated (step S5). The activated second OS 23 activates the drivers 7, 8, and 9 (step S6, step S7, and step S8).

第2OS23は、ドライバ7、8、9が起動すると、ドライバの初期化の終了をOS間通信ドライバ22でコマンド発行部56へ通知する(ステップS9)。コマンド発行部56は、この通知を取得すると、openコマンドの再発行とioctlコマンドの再発行を行う。   When the drivers 7, 8, and 9 are activated, the second OS 23 notifies the command issuing unit 56 of the completion of driver initialization by the inter-OS communication driver 22 (step S9). Upon receiving this notification, the command issuing unit 56 reissues the open command and reissues the ioctl command.

ここで、コマンド発行部56は、割り込み信号を出力したデバイスに応じて、コマンドの再発行の順番を決定する。具体的には、まず割り込み信号を出力したデバイスに対応した通信路に対してコマンド29の再発行を行う。前述のように、割り込み信号を出力したデバイスがFAX部301である場合、コマンド発行部56は、まず、通信路47に対して、openコマンドをOS間通信によって再発行する(ステップS10)。OS間通信ドライバ22は、受信したopenコマンドをタスク24に渡す。コマンド29を受け取ったタスク24は、openコマンドを、ドライバ7で解釈されるシステムコール11に変換し、API4を介したシステムコール11によってドライバ7を呼び出す。呼び出されたドライバ7は、システムコール11の内容に応じた処理を実行し、処理の実行結果を表す戻り値12を、API4を介してタスク24に返す(ステップS11)。戻り値12を受け取ったタスク24は、第1OS20に戻り値12の内容を渡すために、この戻り値12を第1OS20と第2OS23とで共通に解釈されるステータス30に変換してOS間通信ドライバ22に渡す。OS間通信ドライバ22は、このステータス30をOS間通信によってコマンド発行部56に送信する。次に、コマンド発行部56は、通信路47に対して、ioctlコマンドをOS間通信によって再発行する(ステップS12)。このコマンドに応じたシステムコール11で呼び出されたドライバ7は、システムコール11の内容に応じた処理を実行し、処理の実行結果を表す戻り値12を返す(ステップS13)。ドライバ7に対してコマンドの再発行を行うことにより、FAXの処理を行うプロセス1と、FAX部301を制御するドライバ7とが通信可能になる。また、割り込み信号を出力したFAX部301に対応した通信路47へのコマンドの再発行がまず行われるため、通信路48、49に対してコマンドの再発行を行った後に通信路47へのコマンドの再発行を行う構成と比較すると、通常モードへ復帰する要因となったFAX部301に対する処理を開始可能となるまでの時間が短くなる。   Here, the command issuing unit 56 determines the order of command reissuance according to the device that has output the interrupt signal. Specifically, the command 29 is reissued to the communication path corresponding to the device that has output the interrupt signal. As described above, when the device that has output the interrupt signal is the FAX unit 301, the command issuing unit 56 first reissues an open command to the communication path 47 through inter-OS communication (step S10). The inter-OS communication driver 22 passes the received open command to the task 24. Upon receiving the command 29, the task 24 converts the open command into a system call 11 interpreted by the driver 7, and calls the driver 7 by the system call 11 via the API 4. The called driver 7 executes processing according to the contents of the system call 11, and returns a return value 12 representing the execution result of the processing to the task 24 via the API 4 (step S11). The task 24 that has received the return value 12 converts the return value 12 into a status 30 that is interpreted in common by the first OS 20 and the second OS 23 in order to pass the contents of the return value 12 to the first OS 20. Pass to 22. The inter-OS communication driver 22 transmits this status 30 to the command issuing unit 56 by inter-OS communication. Next, the command issuing unit 56 reissues the ioctl command to the communication path 47 through inter-OS communication (step S12). The driver 7 called by the system call 11 corresponding to this command executes a process corresponding to the content of the system call 11 and returns a return value 12 representing the execution result of the process (step S13). By reissuing the command to the driver 7, the process 1 that performs FAX processing and the driver 7 that controls the FAX unit 301 can communicate with each other. In addition, since the command is reissued to the communication path 47 corresponding to the FAX unit 301 that has output the interrupt signal, the command to the communication path 47 is performed after the command is reissued to the communication paths 48 and 49. Compared to the configuration in which reissuing is performed, the time until the processing for the FAX unit 301 that has caused the return to the normal mode can be started is shortened.

なお、コマンド発行部56は、ステップS3のアクセスに対するFAX部301からの応答が予め既知であるため、通信路47に対するコマンドの再発行が終了した後、ステップS3でのアクセスに対するFAX部301からの応答と同様の応答を、FAX部301からの応答を待たずに、FAXの処理を行うプロセス1へ通知する(ステップS14)。ステップS3でのアクセスに対するFAX部301からの応答を待ち、取得した応答をプロセス1へ通知する構成と比較すると、プロセス1がFAX部301に対する処理を開始可能となるまでの時間が短くなる。   Since the response from the FAX unit 301 to the access in step S3 is known in advance, the command issuing unit 56 receives the command from the FAX unit 301 for the access in step S3 after reissuing the command to the communication path 47 is completed. A response similar to the response is notified to the process 1 that performs FAX processing without waiting for a response from the FAX unit 301 (step S14). Compared with the configuration in which the response from the FAX unit 301 to the access in step S3 is waited and the acquired response is notified to the process 1, the time until the process 1 can start processing on the FAX unit 301 is shortened.

次にコマンド発行部56は、通信路48に対してopenコマンドの再発行を行う(ステップS15)。このopenコマンドによりドライバ8が呼び出される。再発行されたopenコマンドで呼び出されるドライバ8は、戻り値12を返す(ステップS16)。また、コマンド発行部56は、通信路48に対してioctlコマンドの再発行を行う(ステップS17)。このioctlコマンドによりドライバ8が呼び出される。再発行さ
れたioctlコマンドで呼び出されるドライバ8は、戻り値12を返す(ステップS18)。また、コマンド発行部56は、通信路49に対してopenコマンドの再発行を行う(ステップS19)。このopenコマンドによりドライバ9が呼び出される。再発行されたopenコマンドで呼び出されるドライバ9は、戻り値12を返す(ステップS20)。また、コマンド発行部56は、通信路49に対してioctlコマンドの再発行を行う(ステップS21)。再発行されたioctlコマンドで呼び出されるドライバ9は、戻り値12を返す(ステップS22)。
Next, the command issuing unit 56 reissues the open command to the communication path 48 (step S15). The driver 8 is called by this open command. The driver 8 called by the reissued open command returns a return value 12 (step S16). Further, the command issuing unit 56 reissues the ioctl command to the communication path 48 (step S17). The driver 8 is called by this ioctl command. The driver 8 called by the reissued ioctl command returns a return value 12 (step S18). In addition, the command issuing unit 56 reissues the open command to the communication path 49 (step S19). The driver 9 is called by this open command. The driver 9 called by the reissued open command returns a return value 12 (step S20). Further, the command issuing unit 56 reissues the ioctl command to the communication path 49 (step S21). The driver 9 called by the reissued ioctl command returns a return value 12 (step S22).

FAX部301は、ステップS3のアクセスに対する処理を終えると、アクセスに対する応答をドライバ7へ出力する(ステップS23)。ドライバ7は、FAX部301からの応答を、OS間通信ドライバ22、PCIe21を介してコマンド発行部56へ通知する(ステップS24)。コマンド発行部56は、この応答と同様の応答をステップS14で通知しているため、この通知を破棄し(ステップS25)、FAXの処理を行うプロセス1へ通知しない。   When the FAX unit 301 finishes the processing for the access in step S3, the FAX unit 301 outputs a response to the access to the driver 7 (step S23). The driver 7 notifies the command issuing unit 56 of the response from the FAX unit 301 via the inter-OS communication driver 22 and the PCIe 21 (step S24). Since the command issuing unit 56 notifies the response similar to this response in step S14, the command issuing unit 56 discards the notification (step S25) and does not notify the process 1 that performs the FAX processing.

図4は、省電力モードから通常モードに復帰するときの他の動作例を説明するためのシーケンス図である。例えば省電力モードのときにUI303のキーが操作されると、UI303は、第1OS20に対して割り込み信号を出力する(ステップS31)。この割り込み信号は、第2制御手段200を省電力モードから通常モードに復帰させる通知の一例である。この割り込み信号は、第2OS23を介さず、PCIe21を介して第1OS20に送られる。第1OS20は、UI303からの割り込み信号を取得すると、コマンド発行部56に対して割り込み信号を出力したデバイスへのアクセスを指示する(ステップS32)。コマンド発行部56は、この指示を受けると、第2OS23を介さず、PCIe21を介してUI303にアクセスし、UI303の初期化を指示する(ステップS33)。   FIG. 4 is a sequence diagram for explaining another operation example when returning from the power saving mode to the normal mode. For example, when the key of the UI 303 is operated in the power saving mode, the UI 303 outputs an interrupt signal to the first OS 20 (step S31). This interrupt signal is an example of a notification for returning the second control unit 200 from the power saving mode to the normal mode. This interrupt signal is sent to the first OS 20 via the PCIe 21 without passing through the second OS 23. When acquiring the interrupt signal from the UI 303, the first OS 20 instructs the command issuing unit 56 to access the device that has output the interrupt signal (step S32). Upon receiving this instruction, the command issuing unit 56 accesses the UI 303 via the PCIe 21 without passing through the second OS 23, and instructs the initialization of the UI 303 (step S33).

次に第1OS20は、第2制御手段200に通電する(ステップS34)。第2制御手段200への通電が行われると、第2OS23が起動する(ステップS35)。起動した第2OS23は、ドライバ7、8、9を起動する(ステップS36、ステップS37、ステップS38)。   Next, the first OS 20 energizes the second control means 200 (step S34). When the second control means 200 is energized, the second OS 23 is activated (step S35). The activated second OS 23 activates the drivers 7, 8, and 9 (step S36, step S37, and step S38).

第2OS23は、ドライバ7、8、9が起動すると、ドライバの初期化の終了をOS間通信ドライバ22でコマンド発行部56へ通知する(ステップS39)。コマンド発行部56は、この通知を取得すると、openコマンドの再発行とioctlコマンドの再発行を行う。   When the drivers 7, 8, and 9 are activated, the second OS 23 notifies the command issuing unit 56 of the completion of driver initialization by the inter-OS communication driver 22 (step S39). Upon receiving this notification, the command issuing unit 56 reissues the open command and reissues the ioctl command.

ここで、コマンド発行部56は、まず割り込み信号を出力したデバイスのドライバに対するコマンドの再発行を行う。前述のように、割り込み信号を出力したデバイスがUI303である場合、コマンド発行部56は、まず、通信路49に対して、openコマンドをOS間通信によって再発行する(ステップS40)。OS間通信ドライバ22は、受信したopenコマンドをタスク26に渡す。openコマンドを受け取ったタスク26は、openコマンドを、ドライバ9で解釈されるシステムコール11に変換し、API6を介したシステムコール11によってドライバ9を呼び出す。呼び出されたドライバ9は、システムコール11の内容に応じた処理を実行し、処理の実行結果を表す戻り値12を、API6を介してタスク26に返す(ステップS41)。戻り値12を受け取ったタスク26は、第1OS20に戻り値12の内容を渡すために、この戻り値12を第1OS20と第2OS23とで共通に解釈されるステータス30に変換してOS間通信ドライバ22に渡す。OS間通信ドライバ22は、このステータス30をOS間通信によってコマンド発行部56に送信する。次に、コマンド発行部56は、通信路49に対して、ioctlコマンドをOS間通信によって再発行する(ステップS42)。このコマンドに応じた
システムコール11で呼び出されたドライバ9は、システムコール11の内容に応じた処理を実行し、処理の実行結果を表す戻り値12を返す(ステップS43)。ドライバ9に対してコマンドの再発行を行うことによりUIの処理を行うプロセス3と、UI303を制御するドライバ9とが通信可能になる。また、割り込み信号を出力したUI303に対応した通信路49へのコマンドの再発行がまず行われるため、通信路47、48に対してコマンドの再発行を行った後に通信路49へのコマンドの再発行を行う構成と比較すると、通常モードへ復帰する要因となったUI303に対する処理を開始可能となるまでの時間が短くなる。
Here, the command issuing unit 56 first reissues a command to the driver of the device that has output the interrupt signal. As described above, when the device that has output the interrupt signal is the UI 303, the command issuing unit 56 first reissues an open command to the communication path 49 through inter-OS communication (step S40). The inter-OS communication driver 22 passes the received open command to the task 26. Upon receiving the open command, the task 26 converts the open command into a system call 11 interpreted by the driver 9 and calls the driver 9 by the system call 11 via the API 6. The called driver 9 executes processing according to the contents of the system call 11, and returns a return value 12 representing the execution result of the processing to the task 26 via the API 6 (step S41). The task 26 that has received the return value 12 converts the return value 12 into a status 30 that is interpreted in common by the first OS 20 and the second OS 23 in order to pass the contents of the return value 12 to the first OS 20. Pass to 22. The inter-OS communication driver 22 transmits this status 30 to the command issuing unit 56 by inter-OS communication. Next, the command issuing unit 56 reissues the ioctl command to the communication path 49 by the inter-OS communication (step S42). The driver 9 called by the system call 11 corresponding to this command executes a process corresponding to the content of the system call 11 and returns a return value 12 indicating the execution result of the process (step S43). By reissuing the command to the driver 9, the process 3 that performs UI processing and the driver 9 that controls the UI 303 can communicate with each other. In addition, since the command is reissued to the communication path 49 corresponding to the UI 303 that has output the interrupt signal, the command is reissued to the communication paths 47 and 48, and then the command to the communication path 49 is reissued. Compared to the configuration for issuing, the time until the processing for the UI 303 that has caused the return to the normal mode can be started is shortened.

なお、コマンド発行部56は、ステップS33のアクセスに対するUI303からの応答が予め既知であるため、通信路49に対するコマンドの再発行が終了した後、ステップS33でのアクセスに対するUI303からの応答と同様の応答を、UI303からの応答を待たずに、UIの処理を行うプロセス3へ通知する(ステップS44)。ステップS33でのアクセスに対するUI303からの応答を待ち、取得した応答をプロセス3へ通知する構成と比較すると、プロセス3がUI303に対する処理を開始可能となるまでの時間が短くなる。   Note that since the response from the UI 303 with respect to the access at step S33 is known in advance, the command issuing unit 56 is similar to the response from the UI 303 with respect to the access at step S33 after the reissue of the command to the communication path 49 is completed. The response is notified to the process 3 that performs UI processing without waiting for a response from the UI 303 (step S44). In comparison with the configuration in which the response from the UI 303 to the access in step S33 is waited and the acquired response is notified to the process 3, the time until the process 3 can start the process on the UI 303 is shortened.

次にコマンド発行部56は、通信路47に対してopenコマンドの再発行を行う(ステップS45)。このopenコマンドによりドライバ7が呼び出される。再発行されたopenコマンドで呼び出されるドライバ7は、戻り値12を返す(ステップS46)。また、コマンド発行部56は、通信路47に対してioctlコマンドの再発行を行う(ステップS47)。このioctlコマンドによりドライバ7が呼び出される。再発行されたioctlコマンドで呼び出されるドライバ7は、戻り値12を返す(ステップS48)。また、コマンド発行部56は、通信路48に対してopenコマンドの再発行を行う(ステップS49)。このopenコマンドによりドライバ8が呼び出される。再発行されたopenコマンドで呼び出されるドライバ8は、戻り値12を返す(ステップS50)。また、コマンド発行部56は、通信路48に対してioctlコマンドの再発行を行う(ステップS51)。このioctlコマンドによりドライバ8が呼び出される。再発行されたioctlコマンドで呼び出されるドライバ8は、戻り値12を返す(ステップS52)。   Next, the command issuing unit 56 reissues the open command to the communication path 47 (step S45). The driver 7 is called by this open command. The driver 7 called by the reissued open command returns a return value 12 (step S46). Further, the command issuing unit 56 reissues the ioctl command to the communication path 47 (step S47). The driver 7 is called by this ioctl command. The driver 7 called by the reissued ioctl command returns a return value 12 (step S48). In addition, the command issuing unit 56 reissues an open command to the communication path 48 (step S49). The driver 8 is called by this open command. The driver 8 called by the reissued open command returns a return value 12 (step S50). Further, the command issuing unit 56 reissues the ioctl command for the communication path 48 (step S51). The driver 8 is called by this ioctl command. The driver 8 called by the reissued ioctl command returns a return value 12 (step S52).

UI303は、ステップS33のアクセスに対する処理を終えると、アクセスに対する応答をドライバ9へ出力する(ステップS53)。ドライバ9は、UI303からの応答を、OS間通信ドライバ22、PCIe21を介してコマンド発行部56へ通知する(ステップS54)。コマンド発行部56は、この応答と同様の応答をステップS44で通知しているため、この通知を破棄し(ステップS55)、UIの処理を行うプロセス3へ通知しない。   When the UI 303 finishes the processing for the access in step S33, the UI 303 outputs a response to the access to the driver 9 (step S53). The driver 9 notifies the response from the UI 303 to the command issuing unit 56 via the inter-OS communication driver 22 and the PCIe 21 (step S54). Since the command issuing unit 56 notifies the response similar to this response in step S44, the command issuing unit 56 discards the notification (step S55) and does not notify the process 3 that performs UI processing.

[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態及び以下の変形例は、各々を組み合わせてもよい。
[Modification]
As mentioned above, although embodiment of this invention was described, this invention is not limited to embodiment mentioned above, It can implement with another various form. For example, the present invention may be implemented by modifying the above-described embodiment as follows. In addition, you may combine each of embodiment mentioned above and the following modifications.

上述した実施形態においては、割り込み信号を取得した第1OS20がデバイスへのアクセスをコマンド発行部56に指示し、この指示を取得したコマンド発行部56がデバイスへアクセスしているが、割り込み信号を出力したデバイスへアクセスする構成は、実施形態の構成に限定されるものではない。例えば、本発明においては、割り込み信号を第1OS20が取得した後、第2OS23とドライバ7、8、9を起動し、起動したドライバが割り込み信号を出力したデバイスへアクセスしてもよい。ドライバが割り込み信号を出
力したデバイスへアクセスする構成の場合、コマンド発行部56は、デバイスからの応答を破棄せずに、割り込み信号を出力したデバイスを制御するプロセスへ通知するようにしてもよい。
In the embodiment described above, the first OS 20 that has acquired the interrupt signal instructs the command issuing unit 56 to access the device, and the command issuing unit 56 that has acquired this instruction is accessing the device, but outputs the interrupt signal. The configuration for accessing the device is not limited to the configuration of the embodiment. For example, in the present invention, after the first OS 20 acquires the interrupt signal, the second OS 23 and the drivers 7, 8, and 9 may be activated, and the activated driver may access the device that has output the interrupt signal. When the driver accesses the device that has output the interrupt signal, the command issuing unit 56 may notify the process that controls the device that has output the interrupt signal without discarding the response from the device.

上述した実施形態においては、ステップS14の通知は、割り込み信号を出力したFAX部301を制御するドライバ7へのコマンドの再発行が終了した後に行われているが、openコマンドを再発行してからioctlコマンドの再発行への戻り値を取得する間、即ち、ステップS15からステップS18の間に通知してもよい。また、ステップS14の通知は、ステップS19からステップS24の間に通知してもよい。   In the embodiment described above, the notification in step S14 is performed after the reissuance of the command to the driver 7 that controls the FAX unit 301 that has output the interrupt signal is completed. Notification may be made while the return value to the reissue of the ioctl command is acquired, that is, between step S15 and step S18. Further, the notification in step S14 may be notified between step S19 and step S24.

上述した実施形態においては、デバイスへのアクセスに対する応答と同様の応答を応答が出力される前にプロセスへ通知し、デバイスへのアクセスに対する応答を破棄しているが、割り込み信号を出力したデバイスによっては、デバイスへのアクセスに対する応答と同様の応答を応答が出力される前にプロセスへ通知せず、デバイスへのアクセスに対する応答を破棄せずにプロセスへ通知するようにしてもよい。   In the embodiment described above, a response similar to the response to the access to the device is notified to the process before the response is output, and the response to the access to the device is discarded. May not notify the process of a response similar to the response to access to the device before the response is output, and may notify the process without discarding the response to access to the device.

1,2,3…プロセス、4,5,6…API、7,8,9…ドライバ、11…システムコール、12…戻り値、13,14,15…API、16,17,18…ライブラリ、19…OS間通信ドライバ、20…第1OS、21…PCIe、22…OS間通信ドライバ、23…第2OS、24,25,26…タスク、27…関数、28…戻り値、29…コマンド、30…ステータス、47,48,49…通信路、56…コマンド発行部、100…第1制御手段、101…CPU、102…RAM、103…ROM、104…通信I/F、105…HDD、106…LAN端子、110…バス、200…第2制御手段、201…CPU、202…RAM、203…ROM、210…バス、300…デバイス、301…FAX部、302…画像形成部、303…UI、1000…画像形成装置 1, 2, 3 ... process, 4, 5, 6 ... API, 7, 8, 9 ... driver, 11 ... system call, 12 ... return value, 13, 14, 15 ... API, 16, 17, 18 ... library, DESCRIPTION OF SYMBOLS 19 ... OS communication driver, 20 ... 1st OS, 21 ... PCIe, 22 ... OS communication driver, 23 ... 2nd OS, 24, 25, 26 ... Task, 27 ... Function, 28 ... Return value, 29 ... Command, 30 ... Status, 47, 48, 49 ... Communication path, 56 ... Command issuing unit, 100 ... First control means, 101 ... CPU, 102 ... RAM, 103 ... ROM, 104 ... Communication I / F, 105 ... HDD, 106 ... LAN terminal, 110 ... bus, 200 ... second control means, 201 ... CPU, 202 ... RAM, 203 ... ROM, 210 ... bus, 300 ... device, 301 ... FAX unit, 302 ... image formation , 303 ... UI, 1000 ... image forming apparatus

Claims (7)

第2オペレーティングシステムを実行し、制御対象となる複数のデバイス毎に設けられたデバイスドライバが前記第2オペレーティングシステム上で複数動作する第2制御手段と、
第1オペレーティングシステムを実行し、前記デバイスに対応したプロセスが前記第1オペレーティングシステム上で動作する手段であって、前記第2制御手段を省電力状態から復帰させる通知を前記デバイスから取得した場合、当該通知を出力したデバイスに対応した前記デバイスドライバに対して省電力状態になる前に発行したコマンドの再発行を行い、当該再発行の順番を、他のデバイスドライバに対して発行したコマンドの再発行の順番より早くする第1制御手段と
を備える制御装置。
A second control means for executing a second operating system and operating a plurality of device drivers provided for each of a plurality of devices to be controlled on the second operating system;
When the first operating system is executed and a process corresponding to the device operates on the first operating system and the second control unit is returned from the power saving state, a notification is received from the device. Reissue the commands issued before entering the power saving state for the device driver corresponding to the device that output the notification, and change the order of the reissues to the commands issued to other device drivers. And a first control means for making the order earlier than the issuing order.
前記第2制御手段は、前記通知を出力したデバイスに対するアクセスへの応答を取得し、当該応答を前記第1制御手段へ供給し、
前記第1制御手段は、前記応答が前記第2制御手段から供給される前に、前記応答を前記プロセスへ供給する
請求項1に記載の制御装置。
The second control means acquires a response to access to the device that has output the notification, and supplies the response to the first control means,
The control device according to claim 1, wherein the first control unit supplies the response to the process before the response is supplied from the second control unit.
前記第1制御手段は、前記通知を出力したデバイスに対応したデバイスドライバ以外のデバイスドライバに対して前記コマンドの再発行を行う前に前記応答を前記プロセスへ供給する
請求項2に記載の制御装置。
The control apparatus according to claim 2, wherein the first control unit supplies the response to the process before reissuing the command to a device driver other than a device driver corresponding to the device that has output the notification. .
前記第1制御手段は、前記第2制御手段から供給される前記応答を破棄する
請求項3に記載の制御装置。
The control device according to claim 3, wherein the first control unit discards the response supplied from the second control unit.
前記第1制御手段は、前記通知を取得した場合、前記第2オペレーティングシステムの再起動の前に、前記通知を出力したデバイスへアクセスする
請求項2に記載の制御装置。
The control apparatus according to claim 2, wherein when the notification is acquired, the first control unit accesses the device that has output the notification before restarting the second operating system.
前記第1制御手段は、前記通知を取得した場合、前記第2オペレーティングシステム及び前記デバイスドライバを介さずに前記デバイスへアクセスする
請求項5に記載の制御装置。
The control device according to claim 5, wherein the first control unit accesses the device without going through the second operating system and the device driver when the notification is acquired.
コンピュータを、
第1オペレーティングシステムを実行し、デバイスに対応したプロセスが前記第1オペレーティングシステム上で動作する手段であって、
前記デバイスに対応するデバイスドライバを実行する第2制御手段を省電力状態から復帰させる通知を前記デバイスから取得した場合、当該通知を出力したデバイスに対応した前記デバイスドライバに対して省電力状態になる前に発行したコマンドの再発行を行い、当該再発行の順番を、他のデバイスドライバに対して発行したコマンドの再発行の順番より早くする制御手段
として機能させるためのプログラム。
Computer
Means for executing a first operating system and a process corresponding to a device operating on the first operating system;
When a notification for returning the second control unit that executes the device driver corresponding to the device from the power saving state is acquired from the device, the device driver corresponding to the device that has output the notification enters the power saving state. A program for re-issuing previously issued commands and for causing the re-issue order to function as a control means that is faster than the re-issue order of commands issued to other device drivers.
JP2018096036A 2018-05-18 2018-05-18 Controls and programs Active JP7070079B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018096036A JP7070079B2 (en) 2018-05-18 2018-05-18 Controls and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018096036A JP7070079B2 (en) 2018-05-18 2018-05-18 Controls and programs

Publications (2)

Publication Number Publication Date
JP2019200686A true JP2019200686A (en) 2019-11-21
JP7070079B2 JP7070079B2 (en) 2022-05-18

Family

ID=68612179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018096036A Active JP7070079B2 (en) 2018-05-18 2018-05-18 Controls and programs

Country Status (1)

Country Link
JP (1) JP7070079B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006150801A (en) * 2004-11-30 2006-06-15 Canon Inc Image forming device
JP2013034072A (en) * 2011-08-01 2013-02-14 Ricoh Co Ltd Image processing device, control method for image processing device, and control program for image processing device
JP2014049955A (en) * 2012-08-31 2014-03-17 Kyocera Document Solutions Inc Image forming apparatus and image forming method
JP2015005097A (en) * 2013-06-20 2015-01-08 富士ゼロックス株式会社 Electronic equipment, control device, and program
JP2016024660A (en) * 2014-07-22 2016-02-08 キヤノン株式会社 Information processing device, method for controlling information processing device, and program
JP2016041470A (en) * 2014-08-14 2016-03-31 キヤノン株式会社 Printer, control device of storage connected to the printer, control method and program of the printer
JP2016143330A (en) * 2015-02-04 2016-08-08 富士ゼロックス株式会社 Electronic apparatus, control device, and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006150801A (en) * 2004-11-30 2006-06-15 Canon Inc Image forming device
JP2013034072A (en) * 2011-08-01 2013-02-14 Ricoh Co Ltd Image processing device, control method for image processing device, and control program for image processing device
JP2014049955A (en) * 2012-08-31 2014-03-17 Kyocera Document Solutions Inc Image forming apparatus and image forming method
JP2015005097A (en) * 2013-06-20 2015-01-08 富士ゼロックス株式会社 Electronic equipment, control device, and program
JP2016024660A (en) * 2014-07-22 2016-02-08 キヤノン株式会社 Information processing device, method for controlling information processing device, and program
JP2016041470A (en) * 2014-08-14 2016-03-31 キヤノン株式会社 Printer, control device of storage connected to the printer, control method and program of the printer
JP2016143330A (en) * 2015-02-04 2016-08-08 富士ゼロックス株式会社 Electronic apparatus, control device, and program

Also Published As

Publication number Publication date
JP7070079B2 (en) 2022-05-18

Similar Documents

Publication Publication Date Title
JP4585463B2 (en) Program for functioning virtual computer system
JP6413813B2 (en) Electronic device, control device and program
US11296943B2 (en) Information processing apparatus, control method for information processing apparatus, and recording medium
JP2014522040A (en) Switching between processor cache and random access memory
JP2008204239A (en) Electronic computer and implementation method of user interface by software
JP6098389B2 (en) Electronic device, control device and program
US9244692B2 (en) Information processing apparatus, control method for information processing apparatus, and program to stop supply of clock to a DSP
JP2013190950A (en) Control device and start-up method
JP2011060225A (en) Operating system booting method
US9983839B2 (en) Image processing apparatus and non-transitory computer-readable recording medium encoded with mode switching program
JP7070079B2 (en) Controls and programs
US20160224385A1 (en) Information processing apparatus and method of controlling the same
JP6362326B2 (en) Printing apparatus and printing apparatus control method
JP6049781B2 (en) Image forming apparatus, control method, and program
JP2000227907A (en) Device and method for controlling reboot
JP2003108513A (en) Hardware chain pull
JP6987530B2 (en) Image forming device, information processing method and program
JP7259348B2 (en) Information processing device, method for starting information processing device, and start program for information processing device
US11403112B2 (en) Information processing apparatus, method of starting up an information processing apparatus
JP7276755B2 (en) Processing speed matching circuit and microprocessor
JP7196544B2 (en) Information processing device, information processing method and program
JPH06242975A (en) Virtual computer dispatch system of multiple information processing system
JP2022138650A (en) Information processing apparatus and program
JP2003131893A (en) Arithmetic processing system, task control method in a computer system and storage medium
JP2023028934A (en) Information processing apparatus and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220418

R150 Certificate of patent or registration of utility model

Ref document number: 7070079

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150