JP6555908B2 - 情報処理装置及びその制御方法、プログラム - Google Patents
情報処理装置及びその制御方法、プログラム Download PDFInfo
- Publication number
- JP6555908B2 JP6555908B2 JP2015053658A JP2015053658A JP6555908B2 JP 6555908 B2 JP6555908 B2 JP 6555908B2 JP 2015053658 A JP2015053658 A JP 2015053658A JP 2015053658 A JP2015053658 A JP 2015053658A JP 6555908 B2 JP6555908 B2 JP 6555908B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- module
- information
- management unit
- processing apparatus
- 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
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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- 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/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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 the processing taking place on a specific hardware platform or in a specific software environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- 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/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
図1は、本発明の実施形態にかかる情報処理装置1のシステム構成例を示すブロック図である。情報処理装置1は各種プログラムを実行するための実行装置であり、オペレーティングシステム(OS)2上で複数のプロセス3が動作する。OS2はハードウェアやリソース管理を行う基本ソフトウェア群であり、代表例として、Microsoft Windows(登録商標)やLinux(登録商標)等がある。プロセス3は実行プログラムの単位であり、例えば、複数のモジュール4〜6、モジュール管理部7、ランタイムライブラリ8から構成されているものとする。図1に示すモジュール4から6は、モジュールAからCをそれぞれ示す。これらのモジュールは、プロセス3よりも小さな実行プログラムの単位を表す。
以下に、本発明の第一実施形態を説明する。本実施形態にて、モジュール管理部7が行う一連の処理例について、図5に示すフローチャートを参照して説明する。本実施形態では図1に示すように、プロセス3内で3つのモジュールA、モジュールB、モジュールCがロードされてそれぞれ実行される場合について説明する。以下では、モジュールがロードされる順番については、他モジュールであるモジュールA、自モジュールであるモジュールB、自モジュールであるモジュールCの順であるものとする。さらに、モジュールA、モジュールB、モジュールCにはそれぞれ関数A、関数B、関数Cが定義されており、これらの関数は例外発生時に行われる処理(例えばダンプ情報の取得処理)が定義されているものとする。また、モジュール管理部7には関数Dが定義されており、例外発生時に呼び出される自モジュールの登録済み関数を順番に呼び出す処理が実行される。
例外の発生はプロセス3内のランタイムライブラリ8によって検知される。例外の発生が検知されるとOS2は、シグナル通知関数リスト10に登録されている関数に対して順次シグナルを送信する。シグナル通知関数リスト10にモジュール管理部7の関数が登録されていた場合、S11においてモジュール管理部7は、OS2が送信したシグナルを受信する。次のS12において、登録されていた関数の処理が実行される。本実施形態の場合、モジュール管理部7によって定義されている関数Dが呼び出される。関数Dについては、自関数管理域35に登録されている関数リストを順次に呼び出す処理内容である。このため、本実施形態では図6(A−3)で示すように関数B、関数Cの順で実行される。S12の完了後、S13に処理を進め、モジュール管理部7は設定データ9内の他関数管理域36に関数が登録されているか否かを判定する。他関数管理域36に関数が登録されている場合、S14に進み、他関数管理域36に関数が登録されていない場合、S15に移行する。
次に、本発明の第二実施形態における情報処理装置の構成及び処理等について説明する。本実施形態では、1つのプロセス内に複数のモジュール管理部が存在する場合を例示して説明を行う。尚、第一実施形態の場合と同様の構成要素については既に使用した符号を用いることにより、それらの詳細な説明を省略し、主に相違点を説明する。このような説明の省略の仕方は後述の実施形態においても同じである。
まずS21においてモジュール管理部7Aは、設定データ9が既に存在するか否かを判定する。設定データ9が既に存在するということは、既に他のモジュール管理部7Bがロードされ、設定データ9を作成したということになる。このため、設定データ9が既に存在する場合、設定データ9の新規作成は行わずにS23に進む。一方、設定データ9が存在しない場合には、モジュール管理部7Aは自身が最初にロードされたモジュール管理部であるとみなし、S22に移行する。S22では最初にロードされたモジュール管理部7Aが設定データ9を新規に作成する。そしてS23に進む。
まずS31において、例えばモジュール管理部7Aは、設定データ9中に登録されているモジュール管理部のエントリー情報を参照する。その中に他のモジュール管理部7Bのエントリー情報が存在するか否かをモジュール管理部7Aが判定する。他のモジュール管理部7Bのエントリー情報が存在するということは、まだ他のモジュール管理部7Bがロードされている状態である。よって、この場合には設定データは削除せず、S33に進む。S33でモジュール管理部7Aは自身のエントリー情報を削除する。一方、他のモジュール管理部7Bのエントリー情報が存在しない場合、自身以外にロードされているモジュール管理部は存在していない。よってS31からS32に移行し、モジュール管理部7Aは設定データ9の全体を削除する。
次に、第三実施形態における情報処理装置の処理について説明する。第一実施形態ではプロセス内での例外発生時、登録されていた関数を呼び出す処理について説明した。ここで一例として、例外発生時にメモリ容量が充分でない状態で関数の呼び出しを実施しようとする場合を想定する。この場合に、関数の呼び出しが多すぎたとき等にスタックオーバーフローが発生すると、全ての関数の呼び出しが完了しないままプロセスが終了してしまう可能性がある。このような場合、他より重要なモジュールのダンプ情報が取得できず、その他のモジュールのダンプ情報しか取得できていないという事態に陥ることが懸念される。そこで第三実施形態では、例えばパーソナルコンピュータ(PC)等の情報処理装置にてそのリソース状況が圧迫されている場合において、重要度の高い関数から順番に呼び出しを行う処理について説明する。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
2 オペレーティングシステム
7 モジュール管理部
9 設定データ
10 シグナル通知関数リスト
Claims (7)
- モジュールを管理する管理部と、前記管理部の管理下にある第1種のモジュールと、前記管理部の管理下にない第2種のモジュールとを有するプロセスの実行処理が行われる情報処理装置であって、
前記情報処理装置は、前記情報処理装置にて動作するオペレーティングシステムによる管理が為されるシグナル通知関数リストと、前記管理部による管理が為される設定データとを備え、
前記情報処理装置は、前記第2種のモジュールがロードされることに伴って、ロードされる前記第2種のモジュールのために定義されている第2の関数の情報を、前記シグナル通知関数リストに登録し、前記管理部に基づいて、前記第1種のモジュールがロードされることに伴って、前記設定データ内の自モジュール登録関数の管理領域に、ロードされる前記第1種のモジュールのために定義されている第1の関数の情報を記憶し、
前記管理部に基づいて、前記情報処理装置は、前記第1種のモジュールがロードされることに伴って、前記シグナル通知関数リストを取得し、取得した前記シグナル通知関数リストに前記第2の関数の情報が既に登録されており、かつ、前記第1種のモジュールの管理のために定義されている関数が登録されていないと判定した場合、前記設定データ内の他モジュール登録関数の管理領域に前記第2の関数の情報を記憶し、取得した前記シグナル通知関数リストに対し、前記第2の関数の情報に代えて第3の関数の情報を登録するものであり、
前記オペレーティングシステムに基づいて、前記情報処理装置は、前記プロセスの実行中に例外が発生した場合に、前記シグナル通知関数リストに登録されている関数の情報を参照し、前記シグナル通知関数リストに前記第3の関数の情報が登録されている場合に前記管理部に対してシグナルを送信し、
前記管理部に基づいて、前記情報処理装置は、前記シグナルの受信に伴って、前記第3の関数を実行するために、前記設定データ内の前記自モジュール登録関数の管理領域に記憶されている前記第1の関数の情報に対応する、前記第1の関数を呼び出し、さらに、前記設定データ内の前記他モジュール登録関数の管理領域に記憶されている前記第2の関数の情報に対応する、前記第2の関数を呼び出すために前記シグナルを、前記第2の関数に対して送信する
ことを特徴とする情報処理装置。 - 前記情報処理装置はひとつの前記プロセス内に複数の前記管理部を備え、複数の前記管理部は前記設定データを共有し、
複数の前記管理部のうちの第1の管理部に基づいて、前記情報処理装置は、前記設定データが存在していない場合に前記設定データを新規に作成し、また、前記設定データが存在する場合には前記設定データに、前記第1の管理部のエントリー情報を登録する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記第1の管理部に基づいて、前記情報処理装置は、前記設定データから、前記第1の管理部のエントリー情報を削除すべきときに、前記設定データに、複数の前記管理部のうちの第2の管理部のエントリー情報が存在する場合には前記設定データを削除せずに、前記設定データにある、前記第1の管理部のエントリー情報を削除する
ことを特徴とする請求項2に記載の情報処理装置。 - 前記エントリー情報は、前記自モジュール登録関数の管理領域にて、複数の前記管理部のうちのどの管理部が登録した関数であるかの判断に用いられる情報でもある
ことを特徴とする請求項2または請求項3に記載の情報処理装置。 - 前記管理部に基づいて、前記情報処理装置は、前記情報処理装置のリソース情報を取得し、前記リソース情報に従って、前記例外の発生時に呼び出される複数の前記第1の関数間における順序を、前記第1の関数に対応する前記第1種のモジュールの優先度に従う順序に変更する
ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 - モジュールを管理する管理部と、前記管理部の管理下にある第1種のモジュールと、前記管理部の管理下にない第2種のモジュールとを有するプロセスの実行処理が行われる情報処理装置にて実行される制御方法であって、
前記情報処理装置は、前記情報処理装置にて動作するオペレーティングシステムによる管理が為されるシグナル通知関数リストと、前記管理部による管理が為される設定データとを備えるものであり、
前記制御方法は、
前記情報処理装置が、前記第2種のモジュールがロードされることに伴って、ロードされる前記第2種のモジュールのために定義されている第2の関数の情報を、前記シグナル通知関数リストに登録する工程と、
前記管理部に基づいて、前記情報処理装置が、前記第1種のモジュールがロードされることに伴って、前記設定データ内の自モジュール登録関数の管理領域に、ロードされる前記第1種のモジュールのために定義されている第1の関数の情報を記憶する工程と、
前記管理部に基づいて、前記情報処理装置が、前記第1種のモジュールがロードされることに伴って、前記シグナル通知関数リストを取得し、取得した前記シグナル通知関数リストに前記第2の関数の情報が既に登録されており、かつ、前記第1種のモジュールの管理のために定義されている関数が登録されていないと判定した場合、前記設定データ内の他モジュール登録関数の管理領域に前記第2の関数の情報を記憶し、取得した前記シグナル通知関数リストに対し、前記第2の関数の情報に代えて第3の関数の情報を登録する工程と、
前記オペレーティングシステムに基づいて、前記情報処理装置が、前記プロセスの実行中に例外が発生した場合に、前記シグナル通知関数リストに登録されている関数の情報を参照し、前記シグナル通知関数リストに前記第3の関数の情報が登録されている場合に前記管理部に対してシグナルを送信する工程と、
前記管理部に基づいて、前記情報処理装置が、前記シグナルの受信に伴って、前記第3の関数を実行するために、前記設定データ内の前記自モジュール登録関数の管理領域に記憶されている前記第1の関数の情報に対応する、前記第1の関数を呼び出し、さらに、前記設定データ内の前記他モジュール登録関数の管理領域に記憶されている前記第2の関数の情報に対応する、前記第2の関数を呼び出すために前記シグナルを、前記第2の関数に対して送信する工程と、を有する
ことを特徴とする制御方法。 - 請求項6に記載した制御方法の各工程をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015053658A JP6555908B2 (ja) | 2015-03-17 | 2015-03-17 | 情報処理装置及びその制御方法、プログラム |
US15/063,795 US9619306B2 (en) | 2015-03-17 | 2016-03-08 | Information processing device, control method thereof, and recording medium |
EP16159198.7A EP3070610B1 (en) | 2015-03-17 | 2016-03-08 | Information processing device, control method thereof, and recording medium |
CN201610147017.9A CN105988866B (zh) | 2015-03-17 | 2016-03-15 | 信息处理装置及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015053658A JP6555908B2 (ja) | 2015-03-17 | 2015-03-17 | 情報処理装置及びその制御方法、プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016173746A JP2016173746A (ja) | 2016-09-29 |
JP2016173746A5 JP2016173746A5 (ja) | 2018-04-19 |
JP6555908B2 true JP6555908B2 (ja) | 2019-08-07 |
Family
ID=55527317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015053658A Active JP6555908B2 (ja) | 2015-03-17 | 2015-03-17 | 情報処理装置及びその制御方法、プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9619306B2 (ja) |
EP (1) | EP3070610B1 (ja) |
JP (1) | JP6555908B2 (ja) |
CN (1) | CN105988866B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6736440B2 (ja) | 2016-09-27 | 2020-08-05 | キヤノン株式会社 | クラウドシステムにおける文書ファイルの生成サービスを提供する装置、方法及びプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02242447A (ja) * | 1989-03-16 | 1990-09-26 | Nec Corp | メモリダンプ収集方式 |
JPH0497435A (ja) * | 1990-08-15 | 1992-03-30 | Nec Corp | 例外処理制御方式 |
JPH07334377A (ja) * | 1994-06-07 | 1995-12-22 | Hitachi Ltd | 情報処理装置 |
US5526485A (en) * | 1994-10-13 | 1996-06-11 | Microsoft Corporation | Just-in-time debugging system and methods under the windows 3.0 and windows 3.1 operating systems |
JP4114970B2 (ja) * | 1997-03-24 | 2008-07-09 | ソニー株式会社 | 情報信号伝送装置 |
US6594774B1 (en) * | 1999-09-07 | 2003-07-15 | Microsoft Corporation | Method and apparatus for monitoring computer system objects to improve system reliability |
WO2007131359A1 (en) * | 2006-05-16 | 2007-11-22 | Research In Motion Limited | System and method of skinning the user interface of an application |
US8074116B2 (en) * | 2009-05-06 | 2011-12-06 | Microsoft Corporation | Exception raised notification |
US8706834B2 (en) * | 2011-06-30 | 2014-04-22 | Amazon Technologies, Inc. | Methods and apparatus for remotely updating executing processes |
US9239743B2 (en) * | 2012-10-11 | 2016-01-19 | Ittiam Systems (P) Ltd. | Method and architecture for exception and event management in an embedded software system |
US20160232347A1 (en) * | 2015-02-09 | 2016-08-11 | Palo Alto Networks, Inc. | Mitigating malware code injections using stack unwinding |
-
2015
- 2015-03-17 JP JP2015053658A patent/JP6555908B2/ja active Active
-
2016
- 2016-03-08 US US15/063,795 patent/US9619306B2/en active Active
- 2016-03-08 EP EP16159198.7A patent/EP3070610B1/en active Active
- 2016-03-15 CN CN201610147017.9A patent/CN105988866B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
EP3070610B1 (en) | 2019-05-08 |
US9619306B2 (en) | 2017-04-11 |
US20160274957A1 (en) | 2016-09-22 |
CN105988866B (zh) | 2019-08-23 |
EP3070610A1 (en) | 2016-09-21 |
JP2016173746A (ja) | 2016-09-29 |
CN105988866A (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868785B2 (en) | Application program page processing method and device | |
US11392461B2 (en) | Method and apparatus for processing information | |
US7774636B2 (en) | Method and system for kernel panic recovery | |
US7908521B2 (en) | Process reflection | |
US20090119092A1 (en) | Ensuring product correctness in a multilingual environment | |
JP6342070B2 (ja) | ジョブ管理装置及びジョブ管理方法及びジョブ管理プログラム | |
CN104583948A (zh) | 使用bpram来布局和执行操作系统 | |
JP2011164704A (ja) | クライアントプログラム、端末、サーバ装置、システムおよび方法 | |
US20150012732A1 (en) | Method and device for recombining runtime instruction | |
CN103309751A (zh) | 提供文件系统功能的终端的设备和方法 | |
US11983519B2 (en) | Abort installation of firmware bundles | |
JP5359601B2 (ja) | ダンプ出力制御装置、ダンプ出力制御プログラム、ダンプ出力制御方法 | |
JP2016181019A (ja) | オーダ受付処理システム及びオーダ受付処理方法 | |
JP6555908B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
CN115136133A (zh) | 按需代码执行的单次使用执行环境 | |
CN110908644A (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
CN115499493A (zh) | 异步事务处理方法、装置、存储介质及计算机设备 | |
CN115185745A (zh) | 数据处理方法、系统、电子设备及计算机可读存储介质 | |
JP2013186765A (ja) | バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム | |
US20150046414A1 (en) | Computer product, managing apparatus, and managing method | |
JP5317182B2 (ja) | Pos端末、モジュールアップデート方法およびモジュールアップデートプログラム | |
US7934067B2 (en) | Data update history storage apparatus and data update history storage method | |
US11941432B2 (en) | Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program | |
JP2010026626A (ja) | データを記録する方法、システム及びプログラム | |
JP7196262B1 (ja) | サービス提供システムおよびサービス提供方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180308 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190131 |
|
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: 20190611 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190709 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6555908 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |