JP7070079B2 - 制御装置及びプログラム - Google Patents

制御装置及びプログラム Download PDF

Info

Publication number
JP7070079B2
JP7070079B2 JP2018096036A JP2018096036A JP7070079B2 JP 7070079 B2 JP7070079 B2 JP 7070079B2 JP 2018096036 A JP2018096036 A JP 2018096036A JP 2018096036 A JP2018096036 A JP 2018096036A JP 7070079 B2 JP7070079 B2 JP 7070079B2
Authority
JP
Japan
Prior art keywords
control means
command
response
driver
notification
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.)
Active
Application number
JP2018096036A
Other languages
English (en)
Other versions
JP2019200686A (ja
Inventor
宏 大久保
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
Fujifilm Business Innovation Corp
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, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2018096036A priority Critical patent/JP7070079B2/ja
Publication of JP2019200686A publication Critical patent/JP2019200686A/ja
Application granted granted Critical
Publication of JP7070079B2 publication Critical patent/JP7070079B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Description

本発明は、制御装置及びプログラムに関する。
マルチプロセッサのシステムにおいて一方のプロセッサが再起動したときの誤動作を防ぐ発明として、例えば、特許文献1に開示された電子機器がある。この電子機器においては、第1のCPUで動作する第1OS上でプロセスが実行され、デバイスが接続された第2のCPUで動作する第2OS上でデバイスドライバが実行される。電子機器が省電力モードに遷移すると、第2のCPUへの電力供給が停止され、第2OSが終了する。省電力モードから通常モードへの復帰が指示されると、第2のCPUへの電力供給が再開され、第2OSが再起動し、再起動した第2OSによりデバイスドライバが再起動される。省電力モードに遷移した場合、ファイルディスクリプタが第2OSの終了により失われ、システムコールも消失してしまう。この不具合を解決するために、特許文献1に開示された電子機器は、コマンドの再書込機能を備え、省電力モードに遷移する前に書き込まれたコマンドを再書込みする。
特許第6098389号公報
例えば、FAX機能を有する電子機器の場合、省電力モードから通常モードへの復帰は、外部装置からの着信がデバイスから第1OSへ通知され、この通知を契機に第1OSが通常モードへの復帰処理を開始する。ここで、通常モードへの復帰の要因となったデバイスのデバイスドライバが復帰を完了するタイミングが遅くなると、外部装置に対する通信処理が間に合わなくなる。
本発明は、デバイスからの通知でプロセッサが再起動したときに、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することを目的とする。
本発明の請求項1に係る制御装置は、第2オペレーティングシステムを実行し、制御対象となる複数のデバイス毎に設けられたデバイスドライバが前記第2オペレーティングシステム上で複数動作する第2制御手段と、第1オペレーティングシステムを実行し、前記デバイスに対応したプロセスが前記第1オペレーティングシステム上で動作する手段であって、前記第2制御手段を省電力状態から復帰させる通知を前記デバイスから取得した場合、当該通知を出力したデバイスに対応した前記デバイスドライバに対して省電力状態になる前に発行したコマンドの再発行を行い、当該再発行の順番を、他のデバイスドライバに対して発行したコマンドの再発行の順番より早くする第1制御手段とを備え、前記第2制御手段は、前記通知を出力したデバイスに対するアクセスへの応答を取得し、当該応答を前記第1制御手段へ供給し、前記第1制御手段は、前記応答が前記第2制御手段から供給される前に、前記応答と同様の予め既知である既知応答を前記プロセスへ供給する。
本発明の請求項に係る制御装置においては、前記第1制御手段は、前記通知を出力し
たデバイスに対応したデバイスドライバ以外のデバイスドライバに対して前記コマンドの再発行を行う前に前記既知応答を前記プロセスへ供給する。
本発明の請求項に係る制御装置においては、前記第1制御手段は、前記第2制御手段から供給される前記応答を破棄する。
本発明の請求項に係る制御装置においては、前記第1制御手段は、前記通知を取得し
た場合、前記第2オペレーティングシステムの再起動の前に、前記通知を出力したデバイスへアクセスする。
本発明の請求項に係る制御装置においては、前記第1制御手段は、前記通知を取得した場合、前記第2オペレーティングシステム及び前記デバイスドライバを介さずに前記デバイスへアクセスする。
本発明の請求項に係るプログラムは、コンピュータを、第2オペレーティングシステムを実行し、制御対象となる複数のデバイス毎に設けられたデバイスドライバが前記第2オペレーティングシステム上で複数動作する第2制御手段と、第1オペレーティングシステムを実行し、前記デバイスに対応したプロセスが前記第1オペレーティングシステム上で動作する手段であって、前記第2制御手段を省電力状態から復帰させる通知を前記デバイスから取得した場合、当該通知を出力したデバイスに対応した前記デバイスドライバに対して省電力状態になる前に発行したコマンドの再発行を行い、当該再発行の順番を、他のデバイスドライバに対して発行したコマンドの再発行の順番より早くする第1制御手段、として機能させるとともに、前記第2制御手段が、前記通知を出力したデバイスに対するアクセスへの応答を取得し、当該応答を前記第1制御手段へ供給し、前記応答が前記第2制御手段から供給される前に、前記第1制御手段が、前記応答と同様の予め既知である既知応答を前記プロセスへ供給するように前記コンピュータを機能させるためのプログラムである。
本発明の請求項1に係る制御装置によれば、デバイスからの通知でプロセッサが再起動したときに、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することができ、また、デバイスに対するアクセスへの応答が第2制御手段から供給される場合と比較して、デバイスへのアクセスへの応答を早く取得し、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することができる。
本発明の請求項に係る制御装置によれば、デバイスに対するアクセスへの応答が復帰要因となったデバイス以外のデバイスドライバへのコマンドの再発行の後に供給される構成と比較して、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することができる。
本発明の請求項に係る制御装置によれば、デバイスに対するアクセスへの応答がプロセスへ複数回供給されるのを防ぐことができる。
本発明の請求項に係る制御装置によれば、省電力の状態から復帰する要因となったデバイスへデバイスドライバが再起動してからアクセスする構成と比較して、省電力の状態から復帰する要因となったデバイスへのアクセスを早くすることができる。
本発明の請求項に係る制御装置によれば、省電力の状態から復帰する要因となったデバイスへデバイスドライバからアクセスする構成と比較して、省電力の状態から復帰する要因となったデバイスへのアクセスを早くすることができる。
本発明の請求項に係るプログラムによれば、デバイスからの通知でプロセッサが再起動したときに、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することができ、また、デバイスに対するアクセスへの応答が第2制御手段から供給される場合と比較して、デバイスへのアクセスへの応答を早く取得し、再起動の要因となったデバイスに対する処理が開始可能となるまでの時間を短縮することができる。
本発明の一実施形態のハードウェア構成を示す図。 実施形態のソフトウェア構成を示す図。 実施形態の動作例を説明するためのシーケンス図。 実施形態の動作例を説明するためのシーケンス図。
[実施形態]
次に、実施形態の構成について説明する。図1は、実施形態のハードウェア構成を示す図である。画像形成装置1000の主な構成要素は、第1制御手段100、第2制御手段200及びデバイス300である。第1制御手段100は、本発明に係る第1制御手段の一例であり、第2制御手段200を制御する。本発明に係る第2制御手段の一例である第2制御手段200は、デバイス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経由で外部の情報処理装置などと通信する。
第2制御手段200は、CPU201、RAM202、ROM203及び通信I/F204を備え、これらの構成要素はバス210に接続されている。CPU201は、本発明に係るプロセッサの一例であり、RAM202をワークエリアとして、プログラムを実行する。ROM203には、第2OS23が記憶されている。CPU201は、ROM203から第2OS23を読み出して実行する。第2OS23は、例えばRTOS(Real Time OS)であり、デバイス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の動作の開始や停止を指示するためのキーや、数字を入力するためのテンキーなどを備える。
前述のとおり、本実施形態は2つのCPUを備えた、いわゆるマルチプロセッサシステムである。図2は、実施形態のマルチプロセッサシステムの基本的なソフトウェア構成を示す図である。なお、以下の説明では、便宜上、ソフトウェアの構成要素を動作の主体と
する。
第1制御手段100においては、第1OS20が動作し、第2制御手段200においては、第2OS23が動作する。第1OS20は、本発明に係る第1オペレーティングシステムの一例であり、第2OS23は、本発明に係る第2オペレーティングシステムの一例である。プロセス1、2、3は、第1OS20上で動作するアプリケーションプログラムを構成するプロセスであり、本発明に係るプロセスの一例である。例えば、プロセス1は、FAX部301を制御するプロセスであり、プロセス2は、画像形成部302を制御するプロセスであり、プロセス3は、UI303を制御するプロセスである。
第2OS23上で動作するドライバ7、8、9は、デバイス300を制御するデバイスドライバであり、本発明に係るデバイスドライバの一例である。例えば、ドライバ7は、FAX部301を制御し、ドライバ8は、画像形成部302を制御し、ドライバ9は、UI303を制御する。
プロセス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に返す。
本実施形態においては、プロセス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を用いた例を示す。
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に返す。
戻り値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に返す。
コマンド発行部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コマンドは、本発明に係るコマンドの一例である。
同期コマンドとは、戻り値が返るまで次のコマンドの発行を待機するコマンドであり、非同期コマンドとは、戻り値が返るのを待たずに次のコマンドの発行が可能なコマンドである。非同期コマンドを発行した場合、戻り値が返っていない状態で通常モードから省電力モードへの切り替えが行われることがあり得る。
次に本実施形態の動作例について説明する。画像形成装置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が終了する。
第1制御手段100は、省電力モードのときに予め定められた割り込みが発生した場合、第2制御手段200及びデバイス300への通電を行う通常モードに復帰する。第1制御手段100は、通常モードに復帰すると、第2制御手段200と、デバイス300において電力供給が停止されていたデバイスへの電力供給を行う。電力が供給された第2制御手段200は、第2OS23を再起動し、OS間通信ドライバ22と、ドライバ7、8、9の再起動を行う。
図3は、省電力モードから通常モードに復帰するときの動作例を説明するためのシーケンス図である。例えばFAX部301は、着呼があった場合、第1OS20に対して割り込み信号を出力する(ステップS1)。この割り込み信号は、第2制御手段200を省電力モードから通常モードに復帰させる通知の一例である。この割り込み信号は、第2OS23を介さず、PCIe21を介して第1OS20に送られる。第1OS20は、FAX部301からの割り込み信号を取得すると、コマンド発行部56に対して割り込み信号を出力したデバイスへのアクセスを指示する(ステップS2)。コマンド発行部56は、こ
の指示を受けると、第2OS23を介さず、PCIe21を介してFAX部301にアクセスし、FAXの通信の開始を指示する(ステップS3)。
次に第1OS20は、第2制御手段200に通電する(ステップS4)。第2制御手段200への通電が行われると、第2OS23が起動する(ステップS5)。起動した第2OS23は、ドライバ7、8、9を起動する(ステップS6、ステップS7、ステップS8)。
第2OS23は、ドライバ7、8、9が起動すると、ドライバの初期化の終了をOS間通信ドライバ22でコマンド発行部56へ通知する(ステップS9)。コマンド発行部56は、この通知を取得すると、openコマンドの再発行とioctlコマンドの再発行を行う。
ここで、コマンド発行部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に対する処理を開始可能となるまでの時間が短くなる。
なお、コマンド発行部56は、ステップS3のアクセスに対するFAX部301からの応答が予め既知であるため、通信路47に対するコマンドの再発行が終了した後、ステップS3でのアクセスに対するFAX部301からの応答と同様の応答を、FAX部301からの応答を待たずに、FAXの処理を行うプロセス1へ通知する(ステップS14)。ステップS3でのアクセスに対するFAX部301からの応答を待ち、取得した応答をプロセス1へ通知する構成と比較すると、プロセス1がFAX部301に対する処理を開始可能となるまでの時間が短くなる。
次にコマンド発行部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)。
FAX部301は、ステップS3のアクセスに対する処理を終えると、アクセスに対する応答をドライバ7へ出力する(ステップS23)。ドライバ7は、FAX部301からの応答を、OS間通信ドライバ22、PCIe21を介してコマンド発行部56へ通知する(ステップS24)。コマンド発行部56は、この応答と同様の応答をステップS14で通知しているため、この通知を破棄し(ステップS25)、FAXの処理を行うプロセス1へ通知しない。
図4は、省電力モードから通常モードに復帰するときの他の動作例を説明するためのシーケンス図である。例えば省電力モードのときにUI303のキーが操作されると、UI303は、第1OS20に対して割り込み信号を出力する(ステップS31)。この割り込み信号は、第2制御手段200を省電力モードから通常モードに復帰させる通知の一例である。この割り込み信号は、第2OS23を介さず、PCIe21を介して第1OS20に送られる。第1OS20は、UI303からの割り込み信号を取得すると、コマンド発行部56に対して割り込み信号を出力したデバイスへのアクセスを指示する(ステップS32)。コマンド発行部56は、この指示を受けると、第2OS23を介さず、PCIe21を介してUI303にアクセスし、UI303の初期化を指示する(ステップS33)。
次に第1OS20は、第2制御手段200に通電する(ステップS34)。第2制御手段200への通電が行われると、第2OS23が起動する(ステップS35)。起動した第2OS23は、ドライバ7、8、9を起動する(ステップS36、ステップS37、ステップS38)。
第2OS23は、ドライバ7、8、9が起動すると、ドライバの初期化の終了をOS間通信ドライバ22でコマンド発行部56へ通知する(ステップS39)。コマンド発行部56は、この通知を取得すると、openコマンドの再発行とioctlコマンドの再発行を行う。
ここで、コマンド発行部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に対する処理を開始可能となるまでの時間が短くなる。
なお、コマンド発行部56は、ステップS33のアクセスに対するUI303からの応答が予め既知であるため、通信路49に対するコマンドの再発行が終了した後、ステップS33でのアクセスに対するUI303からの応答と同様の応答を、UI303からの応答を待たずに、UIの処理を行うプロセス3へ通知する(ステップS44)。ステップS33でのアクセスに対するUI303からの応答を待ち、取得した応答をプロセス3へ通知する構成と比較すると、プロセス3がUI303に対する処理を開始可能となるまでの時間が短くなる。
次にコマンド発行部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)。
UI303は、ステップS33のアクセスに対する処理を終えると、アクセスに対する応答をドライバ9へ出力する(ステップS53)。ドライバ9は、UI303からの応答を、OS間通信ドライバ22、PCIe21を介してコマンド発行部56へ通知する(ステップS54)。コマンド発行部56は、この応答と同様の応答をステップS44で通知しているため、この通知を破棄し(ステップS55)、UIの処理を行うプロセス3へ通知しない。
[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態及び以下の変形例は、各々を組み合わせてもよい。
上述した実施形態においては、割り込み信号を取得した第1OS20がデバイスへのアクセスをコマンド発行部56に指示し、この指示を取得したコマンド発行部56がデバイスへアクセスしているが、割り込み信号を出力したデバイスへアクセスする構成は、実施形態の構成に限定されるものではない。例えば、本発明においては、割り込み信号を第1OS20が取得した後、第2OS23とドライバ7、8、9を起動し、起動したドライバが割り込み信号を出力したデバイスへアクセスしてもよい。ドライバが割り込み信号を出
力したデバイスへアクセスする構成の場合、コマンド発行部56は、デバイスからの応答を破棄せずに、割り込み信号を出力したデバイスを制御するプロセスへ通知するようにしてもよい。
上述した実施形態においては、ステップS14の通知は、割り込み信号を出力したFAX部301を制御するドライバ7へのコマンドの再発行が終了した後に行われているが、openコマンドを再発行してからioctlコマンドの再発行への戻り値を取得する間、即ち、ステップS15からステップS18の間に通知してもよい。また、ステップS14の通知は、ステップS19からステップS24の間に通知してもよい。
上述した実施形態においては、デバイスへのアクセスに対する応答と同様の応答を応答が出力される前にプロセスへ通知し、デバイスへのアクセスに対する応答を破棄しているが、割り込み信号を出力したデバイスによっては、デバイスへのアクセスに対する応答と同様の応答を応答が出力される前にプロセスへ通知せず、デバイスへのアクセスに対する応答を破棄せずにプロセスへ通知するようにしてもよい。
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…画像形成装置

Claims (6)

  1. 第2オペレーティングシステムを実行し、制御対象となる複数のデバイス毎に設けられたデバイスドライバが前記第2オペレーティングシステム上で複数動作する第2制御手段と、
    第1オペレーティングシステムを実行し、前記デバイスに対応したプロセスが前記第1オペレーティングシステム上で動作する手段であって、前記第2制御手段を省電力状態から復帰させる通知を前記デバイスから取得した場合、当該通知を出力したデバイスに対応した前記デバイスドライバに対して省電力状態になる前に発行したコマンドの再発行を行い、当該再発行の順番を、他のデバイスドライバに対して発行したコマンドの再発行の順番より早くする第1制御手段と
    を備え
    前記第2制御手段は、前記通知を出力したデバイスに対するアクセスへの応答を取得し、当該応答を前記第1制御手段へ供給し、
    前記第1制御手段は、前記応答が前記第2制御手段から供給される前に、前記応答と同様の予め既知である既知応答を前記プロセスへ供給する制御装置。
  2. 前記第1制御手段は、前記通知を出力したデバイスに対応したデバイスドライバ以外のデバイスドライバに対して前記コマンドの再発行を行う前に前記既知応答を前記プロセスへ供給する
    請求項に記載の制御装置。
  3. 前記第1制御手段は、前記第2制御手段から供給される前記応答を破棄する
    請求項に記載の制御装置。
  4. 前記第1制御手段は、前記通知を取得した場合、前記第2オペレーティングシステムの再起動の前に、前記通知を出力したデバイスへアクセスする
    請求項に記載の制御装置。
  5. 前記第1制御手段は、前記通知を取得した場合、前記第2オペレーティングシステム及び前記デバイスドライバを介さずに前記デバイスへアクセスする
    請求項に記載の制御装置。
  6. コンピュータを、
    第2オペレーティングシステムを実行し、制御対象となる複数のデバイス毎に設けられたデバイスドライバが前記第2オペレーティングシステム上で複数動作する第2制御手段と、
    第1オペレーティングシステムを実行し、前記デバイスに対応したプロセスが前記第1オペレーティングシステム上で動作する手段であって、前記第2制御手段を省電力状態から復帰させる通知を前記デバイスから取得した場合、当該通知を出力したデバイスに対応した前記デバイスドライバに対して省電力状態になる前に発行したコマンドの再発行を行い、当該再発行の順番を、他のデバイスドライバに対して発行したコマンドの再発行の順番より早くする第1制御手段、
    として機能させる
    とともに、
    前記第2制御手段が、前記通知を出力したデバイスに対するアクセスへの応答を取得し、当該応答を前記第1制御手段へ供給し、
    前記応答が前記第2制御手段から供給される前に、前記第1制御手段が、前記応答と同様の予め既知である既知応答を前記プロセスへ供給する
    ように前記コンピュータを機能させるためのプログラム。
JP2018096036A 2018-05-18 2018-05-18 制御装置及びプログラム Active JP7070079B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018096036A JP7070079B2 (ja) 2018-05-18 2018-05-18 制御装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018096036A JP7070079B2 (ja) 2018-05-18 2018-05-18 制御装置及びプログラム

Publications (2)

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

Family

ID=68612179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018096036A Active JP7070079B2 (ja) 2018-05-18 2018-05-18 制御装置及びプログラム

Country Status (1)

Country Link
JP (1) JP7070079B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006150801A (ja) 2004-11-30 2006-06-15 Canon Inc 画像形成装置
JP2013034072A (ja) 2011-08-01 2013-02-14 Ricoh Co Ltd 画像処理装置、画像処理装置の制御方法及び画像処理装置の制御プログラム
JP2014049955A (ja) 2012-08-31 2014-03-17 Kyocera Document Solutions Inc 画像形成装置及び画像形成方法
JP2015005097A (ja) 2013-06-20 2015-01-08 富士ゼロックス株式会社 電子機器、制御装置及びプログラム
JP2016024660A (ja) 2014-07-22 2016-02-08 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2016041470A (ja) 2014-08-14 2016-03-31 キヤノン株式会社 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム
JP2016143330A (ja) 2015-02-04 2016-08-08 富士ゼロックス株式会社 電子機器、制御装置及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006150801A (ja) 2004-11-30 2006-06-15 Canon Inc 画像形成装置
JP2013034072A (ja) 2011-08-01 2013-02-14 Ricoh Co Ltd 画像処理装置、画像処理装置の制御方法及び画像処理装置の制御プログラム
JP2014049955A (ja) 2012-08-31 2014-03-17 Kyocera Document Solutions Inc 画像形成装置及び画像形成方法
JP2015005097A (ja) 2013-06-20 2015-01-08 富士ゼロックス株式会社 電子機器、制御装置及びプログラム
JP2016024660A (ja) 2014-07-22 2016-02-08 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2016041470A (ja) 2014-08-14 2016-03-31 キヤノン株式会社 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム
JP2016143330A (ja) 2015-02-04 2016-08-08 富士ゼロックス株式会社 電子機器、制御装置及びプログラム

Also Published As

Publication number Publication date
JP2019200686A (ja) 2019-11-21

Similar Documents

Publication Publication Date Title
JP6413813B2 (ja) 電子機器、制御装置及びプログラム
US8146093B2 (en) Computer multiple operation system switching method
WO2015100878A1 (zh) 一种芯片启动方法及多核处理器芯片、存储介质
US11296943B2 (en) Information processing apparatus, control method for information processing apparatus, and recording medium
JP6098389B2 (ja) 電子機器、制御装置及びプログラム
JP2002132741A (ja) プロセッサ追加方法、計算機及び記録媒体
US9244692B2 (en) Information processing apparatus, control method for information processing apparatus, and program to stop supply of clock to a DSP
JP7070079B2 (ja) 制御装置及びプログラム
US9983839B2 (en) Image processing apparatus and non-transitory computer-readable recording medium encoded with mode switching program
JP2018078485A (ja) 情報処理装置および情報処理装置の起動方法
JP6049781B2 (ja) 画像形成装置、制御方法、及びプログラム
JP2009211537A (ja) 画像処理装置及びアクセス制御方法
WO2021002054A1 (ja) 計算機システム及びプログラム実行方法
JP2003108513A (ja) ハードウェア・チェーン・プル
JP7259348B2 (ja) 情報処理装置、情報処理装置の起動方法、及び、情報処理装置の起動プログラム
JP7276755B2 (ja) 処理速度整合回路およびマイクロプロセッサ
US5148525A (en) Microprogram-controlled type bus control circuit
US11403112B2 (en) Information processing apparatus, method of starting up an information processing apparatus
JPH05333962A (ja) コンピュータシステム
CN114020342A (zh) 嵌入式设备的启动方法、装置、嵌入式设备及存储介质
JPH11136404A (ja) 印刷装置
JP2003131893A (ja) 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体
JP2022122677A (ja) 情報処理装置および情報処理装置の制御方法
CN114564289A (zh) 任务切换方法、装置及电子设备
JP2021170226A (ja) 情報処理装置及びプログラム

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