JP2015215685A - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP2015215685A
JP2015215685A JP2014096898A JP2014096898A JP2015215685A JP 2015215685 A JP2015215685 A JP 2015215685A JP 2014096898 A JP2014096898 A JP 2014096898A JP 2014096898 A JP2014096898 A JP 2014096898A JP 2015215685 A JP2015215685 A JP 2015215685A
Authority
JP
Japan
Prior art keywords
command
cpu
information processing
response
standby
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
JP2014096898A
Other languages
English (en)
Other versions
JP6402484B2 (ja
Inventor
大造 冨永
Daizo Tominaga
大造 冨永
川原 巧
Takumi Kawahara
巧 川原
正太郎 宮本
Seitaro Miyamoto
正太郎 宮本
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 JP2014096898A priority Critical patent/JP6402484B2/ja
Priority to US14/660,148 priority patent/US9753728B2/en
Publication of JP2015215685A publication Critical patent/JP2015215685A/ja
Application granted granted Critical
Publication of JP6402484B2 publication Critical patent/JP6402484B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/281Single cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/452Instruction code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】第1のオペレーティングシステムから制御対象から応答を永続的に待つ待機コマンドを第2のオペレーティングシステムに出力した後に、第1のオペレーティングシステムが異常終了し、その後第1のオペレーティングシステム上のアプリケーションが再起動しても不具合の発生を抑制することが可能な情報処理装置及び情報処理プログラムを提供する。
【解決手段】情報処理装置1は、第1のOS2に制御され、制御対象から応答があるまで永続的に待機する待機コマンドを出力する第1のCPU20と、第2のOS3に制御され、第1のCPU20が出力した待機コマンドを制御対象から応答があるまで周期的に待機する周期コマンドに変換して制御対象に出力する第2のCPU30と、を備えて概略構成されている。
【選択図】図1

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
従来の技術として、相互に異常監視する第1のCPU(Central Processing Unit)及び第2のCPUと、第1のCPU及び第2のCPUのうちのいずれか一方のCPUに異常が生じたことに応答して、この一方のCPUをリセットし、正常動作復帰のための設定値を一方のCPUに送信する正常復帰制御手段とを含む車両用制御装置が提案されている(例えば、特許文献1参照)。
特開平11−53207号公報
本発明の目的は、第1のオペレーティングシステムから制御対象から応答を永続的に待つ待機コマンドを第2のオペレーティングシステムに出力した後に、第1のオペレーティングシステムが異常終了し、その後第1のオペレーティングシステム上のアプリケーションが再起動しても不具合の発生を抑制することが可能な情報処理装置及び情報処理プログラムを提供することにある。
本発明の一態様は、上記目的を達成するため、以下の情報処理装置及び情報処理プログラムを提供する。
[1]第1のオペレーティングシステムに制御され、制御対象から応答があるまで永続的に待機する待機命令を出力する第1の制御手段と、
前記第1のオペレーティングシステムと異なる第2のオペレーティングシステムに制御され、前記第1の制御手段が出力した前記待機命令を前記制御対象から応答があるまで周期的に待機する周期命令に変換して前記制御対象に出力する第2の制御手段と、
を備えた情報処理装置。
[2]さらに前記第1の制御手段及び前記第2の制御手段に接続され、前記第1の制御手段から出力される前記待機命令を記憶する共有の記憶手段を有し、
前記第2の制御手段は、前記共有の記憶手段に記憶された前記待機命令を読み出して前記周期命令に変換する、
前記[1]に記載の情報処理装置。
[3]前記第1の制御手段は、前記第1のオペレーティングシステムの異常終了後の再起動によって前記周期命令を停止させる停止命令を前記共有の記憶手段に記憶し、
前記第2の制御手段は、前記共有の記憶手段から取得した前記停止命令に基づいて前記周期命令を停止する、
前記[2]に記載の情報処理装置。
[4]コンピュータを、
第1のオペレーティングシステムに制御され、制御対象から応答があるまで永続的に待機する待機命令を出力する第1の制御手段と、
前記第1のオペレーティングシステムと異なる第2のオペレーティングシステムに制御され、前記第1の制御手段が出力した前記待機命令を前記制御対象から応答があるまで周期的に待機する周期命令に変換して前記制御対象に出力する第2の制御手段として機能させるための情報処理プログラム。
[5]コンピュータを、
第1の制御手段から出力された制御対象から応答があるまで永続的に待機する待機命令を前記制御対象から応答があるまで周期的に待機する周期命令に変換して前記制御対象に出力する第2の制御手段として機能させるための情報処理プログラム。
請求項1,4,5に係る発明によれば、第1のオペレーティングシステムから制御対象から応答を永続的に待つ待機コマンドを第2のオペレーティングシステムに出力した後に、第1のオペレーティングシステムが異常終了し、その後第1のオペレーティングシステム上のプログラムが再起動しても不具合の発生を抑制することが可能となる。
請求項2に係る発明によれば、第1のオペレーションシステムと第2のオペレーションシステム間の直接の通信が行えない場合であっても、オペレーションシステム間の通信を成立させることが可能となる。
請求項3に係る発明によれば、第1のオペレーティングシステムの異常終了による再起動に伴う不具合を抑制することが可能となる。
図1は、本発明の実施の形態に係る情報処理装置の構成例を示すブロック図である。 図2は、本発明の実施の形態に係る情報処理装置の動作の一例を説明するためのタイミングチャートである。
[実施の形態]
(情報処理装置1の全体構成)
図1は、本発明の実施の形態に係る情報処理装置の構成例を示すブロック図である。この情報処理装置1は、一例として、互いに異なるオペレーティングシステム(OS:Operating System)に基づいて動作する第1のCPU20及び第2のCPU30がシステムバス5を介して接続された疎結合マルチプロセッサシステムである。
上記の互いに異なるオペレーティングシステムは、第1のOS2及び第2のOS3である。第1のOS2は、第2のOS3と比べてリアルタイム性が低いOSである。第1のOS2は、例えば、Linux(登録商標)アーキテクチャに基づくOSであり、第2のOS3は、例えば、ARM(登録商標)アーキテクチャに基づくOSである。
システムバス5は、第1のCPU20、第2のCPU30等が信号や情報等を交換するための共通の経路である。システムバス5には、第1のCPU20及び第2のCPU30がそれぞれアクセス可能な共有メモリ4が接続されている。システムバス5には、第1のCPU20側の入出力部60を介して記憶媒体61及びHDD(Hard Disk Drive)62が接続されている。またシステムバス5には、第2のCPU30側の入出力部64を介して各種のドライバ65,67,69が接続され、各ドライバ65,67,69には、それぞれ操作表示部66、画像入力部68、画像出力部70が接続されている。さらに、システムバス5には、この情報処理装置1をLAN(Local Area Network)等に接続するための通信部63、及びシープROM(Read Only Memory)71が接続されている。操作表示部66、画像入力部68及び画像出力部70は、制御対象のデバイスの一例である。
情報処理装置1は、一例として、原稿を光学的に読み取るスキャナ機能、用紙に画像を形成して印刷するプリンタ機能・複写機能、読み取った原稿の画像データを記憶媒体に記憶させる記憶機能、及び当該画像データを、ネットワークを介して電磁気的に接続された電子機器に送信する送信機能等を備えた画像形成装置である。なお、電磁気的に接続とは、導電体による接続、電磁波の一種である光による接続、及び電磁波の一種である電波による接続の少なくとも1つを用いた接続である。
情報処理装置1は、例えば、図1に示すように、第1のOS2に制御され、デバイスから応答があるまで永続的に待機する待機コマンドを出力する第1のCPU20と、第2のOS3に制御され、第1のCPU20が出力した待機コマンドをデバイスから応答があるまで周期的に待機する周期コマンドに変換してデバイスに出力する第2のCPU30と、を備えて概略構成されている。
ここで、第1のCPU20、第2のCPU30、共有メモリ4は、それぞれ第1の制御手段、第2の制御手段、共有の記憶手段の一例である。また、待機コマンド、周期コマンドは、それぞれ待機命令、周期命令の一例である。
記憶媒体61は、一例として、不揮発性の半導体メモリである。この記憶媒体61には、第1のOSイメージ611、第2のOSイメージ612等が記憶されている。
HDD62は、不揮発性の大容量記憶装置である。HDD62には、第1のCPU20の動作を制御するアプリケーション200、及び第2のCPU30の動作を制御するアプリケーション300が記憶されている。アプリケーション200,300は、情報処理プログラムの一例である。
シープROM71は、例えば、不揮発性の半導体メモリである。シープROM71は、ブート情報710及びプロダクト情報711を記憶している。ブート情報710は、例えば、情報処理装置1の全体の設定等の情報である。プロダクト情報711は、例えば、動作クロック等の設定を含む情報である。
(第1のCPU20の構成)
第1のCPU20は、図1に示すように、第1のOS2に従って、取得したデータに演算、加工等を行うプロセッサである。第1のCPU20は、システムメモリ21、ROM22及びCPUコア23を備える。第1のOS2は、例えば、記憶媒体61に記憶された第1のOSイメージ611がシステムメモリ21に展開されることによって起動するソフトウェアである。HDD62に記憶されているアプリケーション200は、例えば、この第1のOS2の起動により、システムメモリ21に展開される。
CPUコア23は、アプリケーション200に従って動作することにより、再起動制御手段201、キャンセルコマンド生成手段202、入出力制御手段203、操作表示制御手段204等として機能する。
再起動制御手段201は、第1のOS2が異常終了(例えばクラッシュ)した場合、再度第1のOS2上のアプリケーション200を起動させるための処理を行う。
キャンセルコマンド生成手段202は、第1のOS2が再起動すると、共有メモリ4にキャンセルコマンドを記憶する。キャンセルコマンドは、周期コマンドを停止させるためのコマンドである。
入出力制御手段203は、入出力部60及び入出力部64を制御する。入出力制御手段203は、入出力部60を介して記憶媒体61及びHDD62を制御して記憶機能を実現する。
操作表示制御手段204は、第2のCPU30に指示を与えることにより、ドライバ65を介して操作表示部66を制御するように構成されている。操作表示部66は、例えば、操作者の入力を受け付ける入力手段としてのタッチセンサが、メニュー等の画像を表示する表示手段としてのモニタに重ねて配置されて構成されている。省電力モードへの移行及び解除は、一例として、この操作表示部66になされた操作によって行われる。
また、第1のCPU20は、システムメモリ21と、ROM22と、を備えている。
システムメモリ21は、揮発性の半導体メモリである。システムメモリ21は、書き込みと読み込みが可能なRAM(Random Access Memory)であり、一時的に演算結果等を格納する記憶領域として用いられる。
ROM22は、不揮発性の半導体メモリである。ROM22には、例えば、ブートローダ220が記憶されている。ブートローダ220は、第1のOS2及び第2のOS3を起動するための基本ソフトウェアである。
第1のCPU20は、電源が投入されると、ROM22に記憶されたブートローダ220に基づいて、記憶媒体61から第1のOSイメージ611及び第2のOSイメージ612を読み出すと共に、シープROM71に記憶されたブート情報710及びプロダクト情報711を読み出す。第1のCPU20は、この読み出した第1のOSイメージ611、第2のOSイメージ612、ブート情報710及びプロダクト情報711に基づいて、第1のOSイメージ611をシステムメモリ21に展開すると共に、第2のOSイメージ612を共有メモリ4に展開して第1のOS2及び第2のOS3を起動する。
(第2のCPU30の構成)
第2のCPU30は、図1に示すように、第2のOS3に従って、取得したデータに演算、加工等を行うプロセッサである。第2のCPU30は、システムメモリ31及びCPUコア32を備える。第2のOS3は、例えば、記憶媒体61に記憶された第2のOSイメージ612が共有メモリ4に展開されることによって起動するソフトウェアである。HDD62に記憶されているアプリケーション300は、例えば、第2のOS3の起動により、システムメモリ31に展開される。
第2のCPU30は、システムメモリ31を備えている。システムメモリ31は、揮発性の半導体メモリである。システムメモリ31は、書き込みと読み込みが可能なRAMであり、一時的に演算結果等を格納する記憶領域として用いられる。
CPUコア32は、アプリケーション300に従って動作することにより、コマンド変換手段301、OS間通信制御手段302、画像入力制御手段303、画像出力制御手段304、画像処理手段305、通信制御手段306等として機能する。
コマンド変換手段301は、第1のCPU20から出力された永続的な待機コマンドを周期的な周期コマンドに変換する。
待機コマンドは、一例として、ドライバ65,67,69のキューに格納されるコマンドであり、デバイスから応答を、期限を設けずに待ち続けるコマンドである。デバイスは、例えば、操作表示部66、画像入力部68及び画像出力部70である。
一方、周期コマンドは、デバイスから応答を、周期的に繰り返し待ち続けるコマンドである。周期コマンドは、例えば、第2のCPU30のクロック周波数の整数倍の周期(例えば1秒)で出力される。本実施の形態の周期コマンドの有効な期間は、一例として、1秒であるが、デバイスの仕様に応じて変更可能である。
待機コマンドは、永続的に応答を待つコマンドであり、周期コマンドは、周期的に応答を待つコマンドであるが、周期コマンドは、応答があるまで繰り返されるので、実質的に待機コマンドと同等である。
ここで、第1のOS2は、待機コマンドを共有メモリ4に出力し、第2のCPU30が待機コマンドをOS間通信により共有メモリ4から読み出してドライバ65,67,69に出力した後、第1のOS2がなんらかの原因で異常終了すると、再起動を開始する。第1のOS2は、再起動すると、異常終了する前に待機コマンドを出力したことを記憶していないので、再度待機コマンドを共有メモリ4に出力する。このため、ドライバ65,67,69には、複数の待機コマンドが蓄積されることとなり、デバイスから応答があっても再起動後に出力された待機コマンドがドライバ65,67,69に残って応答を待つため、不具合の原因となる可能性がある。
コマンド変換手段301は、待機コマンドを周期コマンドに変換し、再起動の後のキャンセルコマンドにより周期コマンドを停止するので、上述のような不具合の発生を抑制することが可能となる。
ここで、コマンド変換手段301は、上流側のCPUである第1のCPU20から出力された永続的な待機コマンドを、下流側のCPUである第2のCPU30により周期的な周期コマンドに変換してドライバ65,67,69に出力する。例えば、上流側のCPUが周期コマンドをドライバに出力して応答を待つ場合、周期コマンド及び応答コマンドは、システムバス5、共有メモリ4、システムバス5、下流側のCPU、システムバス5、入出力部64及びドライバ65,67,69の経路を辿るので処理に時間がかかる。しかし、情報処理装置1は、下流側である第2のCPU30のコマンド変換手段301において待機コマンドを周期コマンドに変換すると共に、システムバス5及び入出力部64を介した上記の経路に比べて短い経路で周期コマンド及び応答コマンドのやり取りを行うことができるので、高速な処理を行うことが可能となる。
OS間通信制御手段302は、システムバス5を介した、第1のCPU20と第2のCPU30との間の通信を制御するものである。
画像入力制御手段303は、ドライバ67を介して画像入力部68を制御することで、スキャナ機能を実現する。画像入力部68は、原稿を画像データとして光学的に読み取る。
画像出力制御手段304は、ドライバ69を介して画像出力部70を制御することで、プリンタ機能及び複写機能を実現する。画像出力部70は、例えば、電子写真方式により、用紙に画像を形成して印刷する。
画像処理手段305は、記憶媒体61、HDD62又は画像入力部68等から取得した画像データに対して指定された処理を行う。指定された処理とは、一例として、操作表示部66を介して指示された保存形式に合わせて画像データの形式を変換する処理である。
通信制御手段306は、通信部63を制御して通信機能を実現する。
(共有メモリ4の構成)
共有メモリ4は、例えば、揮発性の半導体メモリを用いることができる。共有メモリ4は、例えば、システムメモリ21の一部の領域が割り当てられたものである。なお、共有メモリ4は、システムメモリ21の一部に限定されず、揮発性又は不揮発性の半導体メモリにより、システムメモリ21とは独立して構成されてもよい。共有メモリ4は、例えば、第1のOS2と第2のOS3との間のOS間通信を実現するためのものである。
第1のCPU20から第2のCPU30にコマンドを出力する場合、当該コマンドは、一度共有メモリ4に記憶され、第2のCPU30が共有メモリ4を確認してコマンドを読み込むことでOS間通信が成立する。第1のCPU20及び第2のCPU30は、例えば、周期的に共有メモリ4を確認する。
(情報処理装置1の動作)
以下に、情報処理装置1の動作の一例について、図2のタイミングチャートに従って説明する。具体的には、情報処理装置1が待機コマンドを出力した後、異常終了して再起動するまでの動作の一例について説明する。なお、以下では、第1のOS2及び第2のOS3は、起動しているものとする。
情報処理装置1の第1のCPU20は、OS間通信により、システムバス5を介して、待機コマンドを共有メモリ4に記憶する(S1)。
第2のCPU30は、OS間通信により、システムバス5を介して、共有メモリ4の記憶内容を確認する。第2のCPU30は、共有メモリ4に待機コマンドが記憶されていると、システムバス5を介して、待機コマンドを読み出してシステムメモリ31に記憶する。ここで、第2のCPU30による待機コマンドの確認は、一例として、予め定められた周期により行われる。
コマンド変換手段301は、システムメモリ31に記憶された待機コマンドを周期コマンドに変換する(S2)。第2のCPU30は、周期コマンドを指定されたドライバに出力する。図2は、一例として、指定されたドライバをドライバ69としている。
ドライバ69は、第2のCPU30から出力された周期コマンドをキューに格納し、画像出力部70から応答を待つ。ドライバ69は、画像出力部70から応答が、周期コマンドが有効な期間中にない場合、応答がないことを示す応答コマンドを第2のCPU30に出力する。第2のCPU30は、画像出力部70の応答があることを示す応答コマンドが到来するまで、周期コマンドを繰り返しドライバ69に出力する。図2では、周期コマンドの有効期間中に画像出力部70から応答がなく、周期コマンドが繰り返しドライバ69に出力される様子が図示されている。
ここで、なんらかの原因により第1のOS2が異常終了すると(S3)、第1のCPU20の再起動制御手段201は、第1のOS2の再起動処理を開始する(S4)。周期コマンドは、画像出力部70から応答がない限り、再起動を行っている間、第2のCPU30の制御により繰り返し出力されている。なお、再起動の間に画像出力部70から応答があった場合、第2のCPU30は、OS間通信により、共有メモリ4に応答があったことを示す応答コマンドを記憶する。第1のCPU20は、第1のOS2が起動すると、共有メモリ4の記憶内容を確認し、応答コマンドが記憶されている場合、システムバス5を介して応答コマンドを読み出す。
キャンセルコマンド生成手段202は、再起動処理が完了すると(S5)、キャンセルコマンドを出力する(S6)。キャンセルコマンドは、OS間通信により、システムバス5を介して、共有メモリ4に記憶される。
第2のCPU30は、OS間通信により、共有メモリ4の記憶内容を周期的に確認し、共有メモリ4にキャンセルコマンドが記憶されていると、キャンセルコマンドを読み出し、周期コマンドの有効期間中であっても周期コマンドの実行を停止させる(S7)。
第2のCPU30は、周期コマンドを停止させると、OS間通信により、システムバス5を介して、共有メモリ4にキャンセルコマンド応答及び待機コマンド応答を記憶する。
第1のCPU20は、OS間通信により、共有メモリ4の記憶内容を周期的に確認し、キャンセルコマンド応答及び待機コマンド応答が記憶されていると、システムバス5を介して、共有メモリ4からキャンセルコマンド応答及び待機コマンド応答を読み出す。キャンセルコマンド応答は、第1のCPU20に待機コマンドを出力させるコマンドである。
第1のCPU20は、キャンセルコマンド応答により、待機コマンドを出力する(S8)。共有メモリ4は、待機コマンドを記憶する。
第2のCPU30は、OS間通信により、共有メモリ4の記憶内容を周期的に確認し、待機コマンドが記憶されていると、システムバス5を介して、待機コマンドを読み出し、コマンド変換手段301は、待機コマンドを周期コマンドに変換し、指定されたドライバ69に出力する。
(実施の形態の効果)
本実施の形態に係る情報処理装置1によれば、第2のCPU30は、第1のCPU20から出力された待機コマンドを周期コマンドに変換してデバイスに出力しているので、第1のOS2から待機コマンドを第2のOS3に出力した後に第1のOS2が異常終了し、その後第1のOS2上のプログラム200が再起動しても不具合の発生を抑制することが可能になる。
[他の実施の形態]
なお、本発明は、上記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で種々な変形が可能である。他の実施の形態として、例えば、情報処理プログラムは、CD−ROM等の記憶媒体に記憶されて提供されてもよいし、ネットワークを介して取得して実行されてもよい。
さらに上述の実施の形態で使用されるプログラムは、その一部がASIC(Application Specific Integrated Circuit)及びFPGA(Field Programmable Gate Array)等のハードウェアによって実現されてもよい。
以上、本発明の実施の形態を説明したが、この実施の形態は、一例に過ぎず、特許請求の範囲に係る発明を限定するものではない。新規な実施の形態は、その他の様々な形態で実施されることが可能であり、本発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更等を行うことができる。また、実施の形態の中で説明した特徴の組合せの全てが発明の課題を解決するための手段に必須であるとは限らない。
1…情報処理装置、2…第1のOS、3…第2のOS、4…共有メモリ、5…システムバス、20…第1のCPU、21…システムメモリ、22…ROM、23…CPUコア、30…第2のCPU、31…システムメモリ、32…CPUコア、60…入出力部、61…記憶媒体、63…通信部、64…入出力部、65,67,69…ドライバ、66…操作表示部、68…画像入力部、70…画像出力部、71…シープROM、200,300…アプリケーション、201…再起動制御手段、202…キャンセルコマンド生成手段、203…入出力制御手段、204…操作表示制御手段、220…ブートローダ、301…コマンド変換手段、302…OS間通信制御手段、303…画像入力制御手段、304…画像出力制御手段、305…画像処理手段、306…通信制御手段、611…第1のOSイメージ、612…第2のOSイメージ、710…ブート情報、711…プロダクト情報

Claims (5)

  1. 第1のオペレーティングシステムに制御され、制御対象から応答があるまで永続的に待機する待機命令を出力する第1の制御手段と、
    前記第1のオペレーティングシステムと異なる第2のオペレーティングシステムに制御され、前記第1の制御手段が出力した前記待機命令を前記制御対象から応答があるまで周期的に待機する周期命令に変換して前記制御対象に出力する第2の制御手段と、
    を備えた情報処理装置。
  2. さらに前記第1の制御手段及び前記第2の制御手段に接続され、前記第1の制御手段から出力される前記待機命令を記憶する共有の記憶手段を有し、
    前記第2の制御手段は、前記共有の記憶手段に記憶された前記待機命令を読み出して前記周期命令に変換する、
    請求項1に記載の情報処理装置。
  3. 前記第1の制御手段は、前記第1のオペレーティングシステムの異常終了後の再起動によって前記周期命令を停止させる停止命令を前記共有の記憶手段に記憶し、
    前記第2の制御手段は、前記共有の記憶手段から取得した前記停止命令に基づいて前記周期命令を停止する、
    請求項2に記載の情報処理装置。
  4. コンピュータを、
    第1のオペレーティングシステムに制御され、制御対象から応答があるまで永続的に待機する待機命令を出力する第1の制御手段と、
    前記第1のオペレーティングシステムと異なる第2のオペレーティングシステムに制御され、前記第1の制御手段が出力した前記待機命令を前記制御対象から応答があるまで周期的に待機する周期命令に変換して前記制御対象に出力する第2の制御手段として機能させるための情報処理プログラム。
  5. コンピュータを、
    第1の制御手段から出力された制御対象から応答があるまで永続的に待機する待機命令を前記制御対象から応答があるまで周期的に待機する周期命令に変換して前記制御対象に出力する第2の制御手段として機能させるための情報処理プログラム。
JP2014096898A 2014-05-08 2014-05-08 情報処理装置及び情報処理プログラム Expired - Fee Related JP6402484B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014096898A JP6402484B2 (ja) 2014-05-08 2014-05-08 情報処理装置及び情報処理プログラム
US14/660,148 US9753728B2 (en) 2014-05-08 2015-03-17 Apparatus and medium for converting a persistent wait instruction to an instruction for periodically waiting for a control target

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014096898A JP6402484B2 (ja) 2014-05-08 2014-05-08 情報処理装置及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2015215685A true JP2015215685A (ja) 2015-12-03
JP6402484B2 JP6402484B2 (ja) 2018-10-10

Family

ID=54367913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014096898A Expired - Fee Related JP6402484B2 (ja) 2014-05-08 2014-05-08 情報処理装置及び情報処理プログラム

Country Status (2)

Country Link
US (1) US9753728B2 (ja)
JP (1) JP6402484B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10972449B1 (en) * 2018-06-28 2021-04-06 Amazon Technologies, Inc. Communication with components of secure environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160432A (ja) * 1993-12-09 1995-06-23 Toshiba Corp 磁気ディスクコントロ−ラの二重化方式
JPH1083312A (ja) * 1996-03-29 1998-03-31 Sun Microsyst Inc インターフェース間におけるプログラム・コールの透過的変換
US6738514B1 (en) * 1997-12-29 2004-05-18 Samsung Electronics Co., Ltd. Character-recognition system for a mobile radio communication terminal and method thereof
JP2011039722A (ja) * 2009-08-10 2011-02-24 Yokogawa Electric Corp Gpibファイルアクセス装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324571A (ja) 1992-05-21 1993-12-07 Fujitsu Ltd システムバス接続ユニット
JP3660105B2 (ja) 1997-07-30 2005-06-15 光洋精工株式会社 車両用制御装置
JP2005324574A (ja) 2004-05-12 2005-11-24 Denso Corp 車両後方確認支援装置
CN101689106B (zh) * 2007-06-12 2013-10-09 松下电器产业株式会社 多处理器控制装置、多处理器控制方法以及多处理器控制电路
TWI366791B (en) * 2008-06-13 2012-06-21 Wistron Corp A method and a module for driving a video device
KR101116902B1 (ko) * 2008-12-23 2012-03-06 한국전자통신연구원 차량 검출을 위한 네트워크 운영 방법 및 그 시스템
JP5549854B2 (ja) * 2009-04-14 2014-07-16 ソニー株式会社 情報処理装置および方法、並びにプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160432A (ja) * 1993-12-09 1995-06-23 Toshiba Corp 磁気ディスクコントロ−ラの二重化方式
JPH1083312A (ja) * 1996-03-29 1998-03-31 Sun Microsyst Inc インターフェース間におけるプログラム・コールの透過的変換
US6247067B1 (en) * 1996-03-29 2001-06-12 Sun Microsystems, Inc. Transparently converting program calls between interfaces
US6738514B1 (en) * 1997-12-29 2004-05-18 Samsung Electronics Co., Ltd. Character-recognition system for a mobile radio communication terminal and method thereof
JP2011039722A (ja) * 2009-08-10 2011-02-24 Yokogawa Electric Corp Gpibファイルアクセス装置

Also Published As

Publication number Publication date
JP6402484B2 (ja) 2018-10-10
US9753728B2 (en) 2017-09-05
US20150324201A1 (en) 2015-11-12

Similar Documents

Publication Publication Date Title
US9349084B2 (en) Image forming apparatus, non-transitory computer-readable storage medium and method for monitoring error in central processing unit and performs resetting process
US9507611B2 (en) Electronic apparatus, control device, control method, and computer readable medium
US9244692B2 (en) Information processing apparatus, control method for information processing apparatus, and program to stop supply of clock to a DSP
US11076055B2 (en) Control apparatus detects an error in image processor and reboots the image processor before transmits printing data to printing apparatus
JP6336328B2 (ja) 通信装置とその制御方法、及びプログラム
JP6402484B2 (ja) 情報処理装置及び情報処理プログラム
JP2008282314A (ja) シミュレータ、シミュレーション方法
US20180129508A1 (en) Information processing apparatus, activation method of information processing apparatus, and storage medium
JP2015212052A5 (ja) 通信装置とその制御方法、及びプログラム
JP2015215684A (ja) 情報処理装置及び情報処理プログラム
US10216667B2 (en) Image forming apparatus, control method, and storage medium
JP2018156428A (ja) 転送制御装置、処理システム及び処理装置
JP6074486B2 (ja) 画像処理装置、その制御方法、及びプログラム
US20220156023A1 (en) Image processing apparatus, method for controlling image processing apparatus, and storage medium
US10262247B2 (en) Image forming apparatus for converting print data into intermediate data, method for controlling image forming apparatus, and storage medium
WO2018003560A1 (ja) 電子制御装置
JP5480204B2 (ja) 画像形成装置
JP2013250911A (ja) 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム
JP6699428B2 (ja) 電子装置および画像処理装置
JP6984524B2 (ja) 情報出力システム、情報の出力方法およびプログラム
JP2014130425A (ja) 画像形成装置
JP5412467B2 (ja) 画像形成装置
JP5358617B2 (ja) 画像形成装置および制御プログラム
EP3223134A1 (en) Print control device, method and program
JP2017211906A (ja) データ転送システム、電子装置、及び画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180306

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180306

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: 20180814

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180827

R150 Certificate of patent or registration of utility model

Ref document number: 6402484

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