JP6413813B2 - 電子機器、制御装置及びプログラム - Google Patents
電子機器、制御装置及びプログラム Download PDFInfo
- Publication number
- JP6413813B2 JP6413813B2 JP2015020391A JP2015020391A JP6413813B2 JP 6413813 B2 JP6413813 B2 JP 6413813B2 JP 2015020391 A JP2015020391 A JP 2015020391A JP 2015020391 A JP2015020391 A JP 2015020391A JP 6413813 B2 JP6413813 B2 JP 6413813B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- status
- control means
- system call
- writing
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Computer And Data Communications (AREA)
Description
第2OSを実行する第2制御手段と、
前記第2制御手段によって制御される複数のデバイスと
を備え、
前記第1制御手段は、
前記第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと前記第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、前記ステータス読出手段によって読み出されたステータスを廃棄するステータス廃棄手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段と、
を備えた電子機器。
[2]前記リセット手段は、前記第2OSのシステムコールを前記第2制御手段が実行している場合、実行中の前記第2OSのシステムコールを中断させた後、通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットする前記[1]に記載の電子機器。
[3]前記リセット手段は、前記第1制御手段で動作する前記第1OSのソフトウエアであり、通信路毎に設けられ、リセットコマンドを発行することで当該システムコールを実行している前記第2制御手段で動作するソフトウエア及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットする前記[1]又は[2]に記載の電子機器。
[4]第1OS(Operating System)を実行する第1制御手段と、
第2OSを実行する第2制御手段と、
前記第2制御手段によって制御される複数のデバイスと
を備え、
前記第1制御手段は、
前記第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと前記第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段と、
前記リセットされた通信路について、前記第2制御手段によって実行されていた前記第2OSのシステムコールに対応するコマンドを前記第2制御手段の記憶領域に再度書き込むコマンド再書込手段と、
を備えた電子機器。
[5]第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと第2制御手段が実行する第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、前記ステータス読出手段によって読み出されたステータスを廃棄するステータス廃棄手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段と、
を備えた制御装置。
[6]第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと第2制御手段が実行する第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段と、
前記リセットされた通信路について、前記第2制御手段によって実行されていた前記第2OSのシステムコールに対応するコマンドを前記第2制御手段の記憶領域に再度書き込むコマンド再書込手段と、
を備えた制御装置。
[7]コンピュータを、
第1制御手段が実行する第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと第2制御手段が実行する第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、前記ステータス読出手段によって読み出されたステータスを廃棄するステータス廃棄手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段として機能させるためのプログラム。
[8]コンピュータを、
第1制御手段が実行する第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと第2制御手段が実行する第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段と、
前記リセットされた通信路について、前記第2制御手段によって実行されていた前記第2OSのシステムコールに対応するコマンドを前記第2制御手段の記憶領域に再度書き込むコマンド再書込手段として機能させるためのプログラム。
請求項2に係る発明によれば、実行中の前記第2OSのシステムコールを中断させた後にコマンドに対応したOSのシステムコールを実行したソフトウエア及びデバイスをリセットすることができる。
請求項3に係る発明によれば、第1制御手段で動作する第1OSのソフトウエアが、通信路毎にリセットコマンドを発行することでコマンドに対応したOSのシステムコールを実行したソフトウエア及びデバイスをリセットすることができる。
請求項4、6、8に係る発明によれば、リセット前に実行されていたコマンドをリセット後に再書込みして再実行することができる。
int param[4] = [0, 0, 0, 0] ;
fd = do_open(DRV_1, 0, 0); /* 1番目の関数呼び出し */
status = do_ioctl(fd, DRV_1_READ_PARAM, ¶m); /* 2番目の関数呼び出し */
status = do_close(fd); /* 3番目の関数呼び出し */
次に、ステータス廃棄機能について説明する。コマンドバッファ51へのコマンド29の書き込み後にいずれかのプロセスが異常終了した場合に、以下のような問題が発生することがある。ここでは一例として、プロセス1が異常終了した場合について説明する。異常終了前にプロセス1が呼び出した関数27は、ライブラリ16によってコマンド29に変換され、このコマンド29がコマンドバッファ51に書き込まれ、NOT EMPTYがOS間通信ドライバ22に通知される。その後、プロセス1が異常終了しても第2制御手段200は動作を続けるから、コマンドバッファ51から読み出されたコマンド29がシステムコール11に変換され、このシステムコール11に従ってドライバ7が処理を実行し、その実行結果を表すステータス30が生成されてステータスバッファ52に書き込まれる。しかし、プロセス1が異常終了するとライブラリ16による処理も終了するので、通信路47に対するreadメソッドは実行されずに、ステータス30がステータスバッファ52から読み出されないままとなる。
ステップS101においては、ステータス廃棄手段53が、ループカウンタ(初期値は0)に1を加算する。
ステップS102においては、ステータス廃棄手段53が、ループカウンタの値に該当するコマンドID541に対応するフラグ542をOFFで初期化するとともに、このコマンドID541に対応するカウンタ543を0で初期化する。
ステップS103においては、ステータス廃棄手段53が、ループカウンタがnに達したか否かを判定し、ループカウンタがnに達していないならばステップS101に戻り、nに達したならば処理を終了する。
ステップS201においては、プロセス1がライブラリ16を呼び出し、ライブラリ16が通信路47に対してopenメソッド処理を実行する。そして、openメソッド処理の戻り値として、通信路47を示すファイルディスクリプタがライブラリ16に返され、これ以降、処理の対象となる通信路47は、このファイルディスクリプタによって特定される。
ステップS203においては、ステータス廃棄手段53が、ループカウンタの値に該当するコマンドID541に対応するフラグ542をOFFにする。
ステップS204においては、ステータス廃棄手段53が、ループカウンタがnに達したか否かを判定し、ループカウンタがnに達していないならばステップS201に戻り、nに達したならば処理を終了する。
ステップS301においては、ライブラリ16及びOS間通信ドライバ19がコマンド29を生成する。具体的には、関数27に対応するライブラリ16の処理ルーチンがコマンドデータ32を生成してOS間通信ドライバ19に渡す。コマンドデータ32を受け取ったOS間通信ドライバ19は、コマンドヘッダ31を生成し、生成したコマンドヘッダ31をコマンドデータ32と結合することによってコマンド29を生成する。
ステップS303においては、ステータス廃棄手段53が、ステップS302におけるコマンド29の書き込みが成功したか否かを判定し、書き込みが成功した場合(ステップS303:YES)には、ステータス廃棄手段53の処理はステップS304に進み、書き込みが失敗した場合(ステップS303:NO)には、処理を終了する。
ステップS304においては、ステータス廃棄手段53が、ステップS302でコマンドバッファ51に書き込まれたコマンド29に含まれるコマンドID541に対応するフラグ542をONに書き換え、当該コマンドID541に対応するカウンタ543に1を加算して処理を終了する。
ステップS401においては、ステータス廃棄手段53が、OS間通信によりステータスバッファ52からステータス30を読み出す。具体的には、OS間通信ドライバ22からのNOT EMPTYの通知を受け取るまでOS間通信ドライバ19が待機する。NOT EMPTYの通知を受け取ると、OS間通信ドライバ19が、OS間通信によりステータスバッファ52からステータス30を読み出す。
ステップS402においては、ステータス廃棄手段53が、ステップS401におけるステータス30の読み出しが成功したか否かを判定し、読み出しが成功した場合(ステップS402:YES)には、ステータス廃棄手段53の処理はステップS403に進み、読み出しが失敗した場合(ステップS402:NO)には、ステータス廃棄手段53は処理を終了する。
ステップS405においては、ステータス廃棄手段53が、ステップS401で読み出したステータス30に対応するコマンド29のコマンドID541に対応するカウンタ543から1を減算する。
ステップS407においては、ステータス廃棄手段53が、ステップS401で読み出したステータス30を廃棄する。
ステップS408においては、ステータス廃棄手段53が、ステップS401で読み出したステータス30に対応するコマンド29のコマンドID541に対応するフラグ542をOFFに書き換えて処理を終了する。
ステップS410においては、ステータス廃棄手段53が、ステップS401で読み出したステータス30に対応するコマンドID541のカウンタ543から1を減算する。
ステップS411においては、ステータス廃棄手段53が、ステップS401で読み出したステータス30を廃棄して処理を終了する。
(1)フラグがON、カウンタが1の場合(ステップS403:NO、ステップS404:NO、ステップS406:YES)
ステータスバッファ52から読み出されたステータス30が、コマンドバッファ51に書き込んだコマンド29の処理結果に対応していることになるから、ステータス廃棄手段53は、読み出したステータス30を廃棄しない。当該ステータス30は、ライブラリ16によって戻り値28に変換され、プロセス1に返される。また、当該ステータス30がステータスバッファ52から読み出されたため、ステータス廃棄手段53は、当該ステータス30に対応するコマンド29のコマンドID541に対応するカウンタ543から1を減算する(ステップS405)。また、当該ステータス30に対応するコマンド29が処理済みであることになるから、ステータス廃棄手段53は、当該コマンドID541に対応するフラグ542をOFFに書き換える(ステップS408)。
ステータスバッファ52から読み出したステータス30が、コマンドバッファ51に書き込んだコマンド29の処理結果に対応していないことになるから、ステータス廃棄手段53は、読み出したステータス30を廃棄する(ステップS407)。また、ステータス30がステータスバッファ52から読み出されたため、ステータス廃棄手段53は、当該ステータス30に対応するコマンド29のコマンドID541に対応するカウンタ543から1を減算する(ステップS405)。また、当該ステータス30に対応するコマンド29は処理済みであることになるから、ステータス廃棄手段53は、当該コマンドID541に対応するフラグ542をOFFに書き換える(ステップS408)。なお、カウンタが0でも1でもないことから、この場合はマルチプロセッサシステムに何らかの不具合があることになる。
ステータスバッファ52から読み出したステータス30が、コマンドバッファ51に書き込んだコマンド29の処理結果に対応していないことになるから、ステータス廃棄手段53は、読み出したステータス30を廃棄する(ステップS407)。当該ステータス30に対応するコマンド29のコマンドID541に対応するカウンタ543が0であるため、当該カウンタ543の減算は行わない。また、当該ステータス30に対応するコマンド29は処理済みであることになるから、ステータス廃棄手段53は、当該コマンドID541に対応するフラグ542をOFFに書き換える(ステップS408)。なお、カウンタが0であることから、この場合はマルチプロセッサシステムに何らかの不具合があることになる。
異常終了したプロセス1が再起動された場合、図9に示す処理により、すべてのコマンドIDに対応するフラグがOFFに書き換えられる。つまり、ステップS403でフラグ542がOFFであるということは、このフラグ542のコマンドID541に対応するコマンド29のコマンドバッファ51への書き込み後にプロセス1が異常終了を経て再起動されたことを意味する。従って、ステータス廃棄手段53は、カウンタ543から1を減算し(ステップS410)、ステータスバッファから読み出したステータス30を廃棄する(ステップS411)。
この場合も、(4)と同様に、プロセス1が異常終了を経て再起動されたことになるから、ステータス廃棄手段53は、読み出したステータス30を廃棄する(ステップS411)。ただし、カウンタ543が0であるため、カウンタ543の減算は行わない。なお、カウンタが0であることから、この場合はマルチプロセッサシステムに何らかの不具合があることになる。
ステップS502においては、リセット機能57が、図11のステップS401でステータス廃棄手段53が読み出したステータス30に対応するコマンド29のコマンドID541に対応するカウンタ543が1か否かを判定する。当該カウンタ543が1である場合(ステップS502:YES)には、当該コマンドIDのコマンドは処理中であり、リセット機能57の処理はステップS503に進み、当該カウンタ543が1でない場合(ステップS502:NO)には、当該コマンドIDのコマンドは処理中でないためステップS503を実行せずに、リセット機能57の処理はステップS504に進む。
ステップS503において、リセット機能57は、処理中であると特定されたコマンドに対しAbortコマンドを発行する。
ステップS504においては、リセット機能57が、ループカウンタがnに達したか否かを判定し、ループカウンタがnに達していないならばステップS501に戻り、nに達したならば処理を終了する。
実施形態では、デバイス300としてイメージスキャナ301、プリンタ302、UI303を備えた画像形成装置1000に本発明を適用した例を示したが、デバイス300はいかなるものでもよい。また、デバイス300の数はいくつでもよい。
実施形態では、第1OS20の例としてLinux(登録商標)、第2OSの例としてRTOSを示したが、第1OS20、第2OS23は、これら以外のOSでもよい。
実施形態では、画像形成装置1000が第1制御手段100と第2制御手段200とデバイス300とを備えた例を示したが、第1制御手段100の機能を備えた制御装置と、第2制御手段200及びデバイス300の機能を備えた画像形成装置とを通信手段で接続することにより、実施形態と同様の機能を実現するようにしてもよい。また、第1制御手段100の機能を実現するためのプログラムを、光記録媒体、半導体メモリ等、コンピュータで読み取り可能な記録媒体に記録して提供してもよい。また、このプログラムを電気通信回線経由で提供してもよい。
7−9 ドライバ
11 システムコール
12 戻り値
16 ライブラリ
19 OS間通信ドライバ
20 第1OS
22 OS間通信ドライバ
23 第2OS
24 タスク
27 関数
28 戻り値
29 コマンド
30 ステータス
31 コマンドヘッダ
32 コマンドデータ
33 ステータスヘッダ
34 ステータスデータ
38 コマンドサイズ
40 パラメータ
44 ステータスサイズ
46 パラメータ
47−49 通信路
50 インタラプト
51 コマンドバッファ
52 ステータスバッファ
53 ステータス廃棄手段
54 テーブル
56 コマンド再書込手段
57 リセット機能
100 第1制御手段
106 LAN端子
110 バス
200 第2制御手段
210 バス
300 デバイス
301 イメージスキャナ
302 プリンタ
1000 画像形成装置
Claims (8)
- 第1OS(Operating System)を実行する第1制御手段と、
第2OSを実行する第2制御手段と、
前記第2制御手段によって制御される複数のデバイスと
を備え、
前記第1制御手段は、
前記第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと前記第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、前記ステータス読出手段によって読み出されたステータスを廃棄するステータス廃棄手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段と、
を備えた電子機器。 - 前記リセット手段は、前記第2OSのシステムコールを前記第2制御手段が実行している場合、実行中の前記第2OSのシステムコールを中断させた後、通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットする請求項1に記載の電子機器。
- 前記リセット手段は、前記第1制御手段で動作する前記第1OSのソフトウエアであり、通信路毎に設けられ、リセットコマンドを発行することで当該システムコールを実行している前記第2制御手段で動作するソフトウエア及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットする請求項1又は2に記載の電子機器。
- 第1OS(Operating System)を実行する第1制御手段と、
第2OSを実行する第2制御手段と、
前記第2制御手段によって制御される複数のデバイスと
を備え、
前記第1制御手段は、
前記第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと前記第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段と、
前記リセットされた通信路について、前記第2制御手段によって実行されていた前記第2OSのシステムコールに対応するコマンドを前記第2制御手段の記憶領域に再度書き込むコマンド再書込手段と、
を備えた電子機器。 - 第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと第2制御手段が実行する第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、前記ステータス読出手段によって読み出されたステータスを廃棄するステータス廃棄手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段と、
を備えた制御装置。 - 第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと第2制御手段が実行する第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段と、
前記リセットされた通信路について、前記第2制御手段によって実行されていた前記第2OSのシステムコールに対応するコマンドを前記第2制御手段の記憶領域に再度書き込むコマンド再書込手段と、
を備えた制御装置。 - コンピュータを、
第1制御手段が実行する第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと第2制御手段が実行する第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、前記ステータス読出手段によって読み出されたステータスを廃棄するステータス廃棄手段と、
前記コマンド書込手段による前記コマンドの書き込み後に前記プロセスが再起動された場合、通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段として機能させるためのプログラム。 - コンピュータを、
第1制御手段が実行する第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと第2制御手段が実行する第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、
前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、
前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスを前記記憶領域から読み出すステータス読出手段と、
前記ステータス読出手段によって読み出されたステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、
通信路毎に、当該システムコールを実行している前記第2制御手段で動作するソフトウエア、及び当該システムコールによって呼び出されたドライバによって制御されているデバイスをリセットするリセット手段と、
前記リセットされた通信路について、前記第2制御手段によって実行されていた前記第2OSのシステムコールに対応するコマンドを前記第2制御手段の記憶領域に再度書き込むコマンド再書込手段として機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015020391A JP6413813B2 (ja) | 2015-02-04 | 2015-02-04 | 電子機器、制御装置及びプログラム |
US14/828,678 US9507611B2 (en) | 2015-02-04 | 2015-08-18 | Electronic apparatus, control device, control method, and computer readable medium |
CN201510644192.4A CN105843677B (zh) | 2015-02-04 | 2015-10-08 | 电子装置、控制装置以及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015020391A JP6413813B2 (ja) | 2015-02-04 | 2015-02-04 | 電子機器、制御装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016143330A JP2016143330A (ja) | 2016-08-08 |
JP6413813B2 true JP6413813B2 (ja) | 2018-10-31 |
Family
ID=56554258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015020391A Expired - Fee Related JP6413813B2 (ja) | 2015-02-04 | 2015-02-04 | 電子機器、制御装置及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9507611B2 (ja) |
JP (1) | JP6413813B2 (ja) |
CN (1) | CN105843677B (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9910813B1 (en) * | 2015-02-04 | 2018-03-06 | Amazon Technologies, Inc. | Single function using multiple ports |
US9886410B1 (en) | 2015-02-04 | 2018-02-06 | Amazon Technologies, Inc. | Dynamic function assignment to I/O device interface port |
JP6876235B2 (ja) * | 2016-09-27 | 2021-05-26 | 富士フイルムビジネスイノベーション株式会社 | 電子装置及び画像処理装置 |
JP6981096B2 (ja) * | 2017-08-17 | 2021-12-15 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置 |
US10528414B2 (en) * | 2017-09-13 | 2020-01-07 | Toshiba Memory Corporation | Centralized error handling in application specific integrated circuits |
JP7070079B2 (ja) * | 2018-05-18 | 2022-05-18 | 富士フイルムビジネスイノベーション株式会社 | 制御装置及びプログラム |
KR102461918B1 (ko) | 2019-10-11 | 2022-11-02 | 구글 엘엘씨 | 차량용 확장가능 컴퓨팅 아키텍처 |
WO2022046561A1 (en) * | 2020-08-28 | 2022-03-03 | Google Llc | Streaming via hardware abstraction layer |
CN112347015B (zh) * | 2021-01-08 | 2021-04-02 | 南京芯驰半导体科技有限公司 | 芯片片上系统异构多处理器间的通信装置及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05210529A (ja) | 1992-01-31 | 1993-08-20 | Fujitsu Ltd | マルチプロセッサシステム |
WO1995033235A1 (fr) * | 1994-05-31 | 1995-12-07 | Fujitsu Limited | Systeme et procede d'execution d'un travail entre differents systemes d'exploitation |
US6247067B1 (en) * | 1996-03-29 | 2001-06-12 | Sun Microsystems, Inc. | Transparently converting program calls between interfaces |
US6141697A (en) * | 1997-06-25 | 2000-10-31 | Unisys Corp. | System and method for performing external procedure calls in heterogeneous computer systems utilizing program stacks |
JP2002149437A (ja) * | 2000-11-15 | 2002-05-24 | Hitachi Ltd | ソフトウェア再起動方法 |
JP2002351854A (ja) * | 2001-05-30 | 2002-12-06 | Omron Corp | プログラム実行装置および携帯型情報処理装置 |
JP5106058B2 (ja) * | 2007-11-16 | 2012-12-26 | キヤノン株式会社 | 印刷制御装置の異常を判断して印刷装置を復旧する印刷システム |
TWI366791B (en) * | 2008-06-13 | 2012-06-21 | Wistron Corp | A method and a module for driving a video device |
CN103329099B (zh) * | 2011-01-31 | 2016-03-16 | 株式会社索思未来 | 启动控制装置、信息设备以及启动控制方法 |
JP6098389B2 (ja) * | 2013-06-20 | 2017-03-22 | 富士ゼロックス株式会社 | 電子機器、制御装置及びプログラム |
-
2015
- 2015-02-04 JP JP2015020391A patent/JP6413813B2/ja not_active Expired - Fee Related
- 2015-08-18 US US14/828,678 patent/US9507611B2/en active Active
- 2015-10-08 CN CN201510644192.4A patent/CN105843677B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20160224355A1 (en) | 2016-08-04 |
CN105843677A (zh) | 2016-08-10 |
CN105843677B (zh) | 2019-06-07 |
JP2016143330A (ja) | 2016-08-08 |
US9507611B2 (en) | 2016-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6413813B2 (ja) | 電子機器、制御装置及びプログラム | |
JP6140303B2 (ja) | 仮想マシンのライブマイグレーション方法、仮想マシンのメモリデータ処理方法、サーバ及び仮想マシンシステム | |
EP3982261A1 (en) | Method and apparatus for processing io | |
US8850090B2 (en) | USB redirection for read transactions | |
JP2009265963A (ja) | 情報処理システム及びタスクの実行制御方法 | |
US8856407B2 (en) | USB redirection for write streams | |
JP6098389B2 (ja) | 電子機器、制御装置及びプログラム | |
US20200274981A1 (en) | Image forming apparatus, control method therefor, and storage medium | |
US20130132618A1 (en) | Usb redirection for interrupt transactions | |
JP7093979B2 (ja) | デバイスプロキシ装置及びそれを含む計算機システム | |
JP2009064303A (ja) | 撮像装置、共用リソース管理方法、およびプログラム | |
US11397603B2 (en) | Information processing apparatus, control method therefor, and program | |
JP6876235B2 (ja) | 電子装置及び画像処理装置 | |
JP7070079B2 (ja) | 制御装置及びプログラム | |
US11403112B2 (en) | Information processing apparatus, method of starting up an information processing apparatus | |
JP6402484B2 (ja) | 情報処理装置及び情報処理プログラム | |
US20240129255A1 (en) | Server delay control device, server delay control method, and program | |
JP7259348B2 (ja) | 情報処理装置、情報処理装置の起動方法、及び、情報処理装置の起動プログラム | |
JP5780768B2 (ja) | 情報処理装置、その制御方法、およびプログラム | |
JP6946820B2 (ja) | 電子機器、制御装置及びプログラム | |
JP2022122677A (ja) | 情報処理装置および情報処理装置の制御方法 | |
JP6138482B2 (ja) | 組み込みシステム | |
KR101572262B1 (ko) | 모바일 응용프로그램 모델의 동작방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180810 |
|
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: 20180904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180917 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6413813 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |