JP2009199166A - Information processing device, control method and program therefor - Google Patents

Information processing device, control method and program therefor Download PDF

Info

Publication number
JP2009199166A
JP2009199166A JP2008037702A JP2008037702A JP2009199166A JP 2009199166 A JP2009199166 A JP 2009199166A JP 2008037702 A JP2008037702 A JP 2008037702A JP 2008037702 A JP2008037702 A JP 2008037702A JP 2009199166 A JP2009199166 A JP 2009199166A
Authority
JP
Japan
Prior art keywords
resource
access
resource access
value
blocked
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.)
Pending
Application number
JP2008037702A
Other languages
Japanese (ja)
Inventor
Tatsuhiro Ito
達博 伊藤
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008037702A priority Critical patent/JP2009199166A/en
Priority to PCT/JP2009/053101 priority patent/WO2009104771A1/en
Publication of JP2009199166A publication Critical patent/JP2009199166A/en
Pending legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce the occurrence of a lock residue due to the interruption of access to a resource. <P>SOLUTION: An information processing device has: a resource access closing flag 130 having a value showing information on whether access to a resource of a user AP process 200 being executed by a user program 400 is closed; signal capture processing 110 capturing a signal emitted when failure occurs in an optional user AP thread 300; a resource access closing setting means 111 setting a value of the resource access closing flag 130 to the value of the information showing that the access is closed when the signal capture processing 110 captures the signal; and a resource access closing decision means 121 deciding whether the access to the resource is closed by examining the value of the resource access closing flag 130 when a thread in a process during execution accesses the resource of the process. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、情報処理装置、その制御方法及びプログラムに関し、特に、実行中のスレッドが中断された際の処理に関する。   The present invention relates to an information processing apparatus, a control method thereof, and a program, and more particularly to processing when a running thread is interrupted.

一般に、プログラムカウンタやスタックといった、実行状態に関連する情報を持つプログラムの実行制御単位をスレッドと呼ぶ。また、プログラムコードやグローバルデータといった、プログラム全体で使われるリソースを持った実行制御単位をプロセスと呼ぶ。1つのプロセスには、1つもしくは複数のスレッドが存在する。   In general, an execution control unit of a program having information related to an execution state, such as a program counter or a stack, is called a thread. An execution control unit having resources used in the entire program, such as program code and global data, is called a process. One process has one or a plurality of threads.

ある1つのスレッドがプログラム実行中に、不正アドレス参照など該当スレッドの実行を中断せざる得ないシグナル事象をOS(オペレーティングシステム)が検出した場合、通常、OSは該当スレッドの属するプロセス配下の全スレッドの実行を中断して、プロセスを終了させる。また、利用者からOSに対してプロセスの停止が要求された場合も同様である。   When an OS (Operating System) detects a signal event that inevitably interrupts the execution of the corresponding thread, such as an illegal address reference, while a certain thread is executing a program, the OS normally has all threads under the process to which the corresponding thread belongs. Suspends execution and terminates the process. The same applies when the user requests the OS to stop the process.

ここで、複数のスレッドが並行して動作することが可能な計算機システムにおいて、複数のスレッドが同一の共有資源をアクセスする場合、共有資源の一貫性を保証するために、一貫性が保証されない危険領域(クリティカルセクション)の区間を複数のスレッドが同時に実行しないように、通常、共有資源に対応するロックを取得する。OSが提供する代表的なロック機能としては、セマフォ、Mutex Lock (Mutual exclusion lock)などがあげられる。   Here, in a computer system in which multiple threads can operate in parallel, when multiple threads access the same shared resource, there is a risk that consistency is not guaranteed in order to guarantee the consistency of shared resources. Usually, a lock corresponding to a shared resource is acquired so that a plurality of threads do not execute an area (critical section) at the same time. Typical lock functions provided by the OS include semaphores and Mutex Lock (Mutual exclusion lock).

正常にスレッドがプログラムを実行している間は、危険領域に直前でロックを取得し、危険領域を抜けた直後でロックを解放する。しかし、スレッドが危険領域の区間を実行中に、該当スレッド自身もしくは同一プロセスに属する他スレッドの実行を中断せざる得ないシグナル事象が検出された場合、該当スレッドの実行が中断され、ロックが解放されることなく残ってしまう。こうしたロックの残留が発生すると、以降、同一の共有資源のロックを取得しようとする全てのスレッドがロック取得待ちで停止してしまい、致命的なシステム障害に及ぶ可能性がある。   While the thread is executing the program normally, the lock is acquired immediately before the dangerous area, and the lock is released immediately after leaving the dangerous area. However, if a signal event is detected during which the thread itself or other thread belonging to the same process must be interrupted while the thread is executing the dangerous area, the execution of the thread is interrupted and the lock is released. It will remain without being. If such a lock remains, all threads that attempt to acquire the lock of the same shared resource will stop waiting for the lock acquisition, which may cause a fatal system failure.

本発明に関連する技術としては、特許文献1,2に記載のものがある。
特許文献1は、共有サブルーチン(プログラム)の動的置換に関する発明を開示する。特許文献1には、共有サブルーチンの置き換え中に該当共有サブルーチン(プログラムアドレス)を呼び出さないように、交換要求フラグをONとすることが記載されている。しかしながら、正常にアクセスできない資源に対する不正アクセスを防止するために、アクセス防止用フラグを設けるという技術に関するものであって、ロック残留の低減を課題としたものではなく、本発明との関連性は低い。
As techniques related to the present invention, there are those described in Patent Documents 1 and 2.
Patent Document 1 discloses an invention relating to dynamic replacement of a shared subroutine (program). Patent Document 1 describes that the exchange request flag is set to ON so that the corresponding shared subroutine (program address) is not called during replacement of the shared subroutine. However, the present invention relates to a technique for providing an access prevention flag in order to prevent unauthorized access to resources that cannot be normally accessed, and is not intended to reduce lock residuals, and is not relevant to the present invention. .

特許文献2は、複数の相互に連係して動作するプロセス群における、運用指示若しくは一部プロセスの異常終了に伴って、全プロセスを終了させる場合の終了同期処理に関する発明を開示する。特許文献2に記載の発明は、関連する全プロセスの状態を管理し、特定の管理プロセスが残りの全プロセスを停止する際の同期手順を新規に設けることを特徴としている。また、特許文献2には、関連したプロセス群の制御の改善に関する記載もある。
特開平04−039739号公報 特開平04−241633号公報
Patent Document 2 discloses an invention related to termination synchronization processing in a case where all processes are terminated in accordance with an operation instruction or abnormal termination of some processes in a plurality of processes operating in conjunction with each other. The invention described in Patent Document 2 is characterized by managing the states of all related processes and newly providing a synchronization procedure when a specific management process stops all remaining processes. Patent Document 2 also describes a related process group control improvement.
Japanese Patent Laid-Open No. 04-039739 JP 04-241633 A

従来のシステムにおいては、上記のロック残留に伴うシステム障害を回避する方法として、アボートしたプロセスを再起動する際、アボートした時点でロックしていた可能性のある全ロックに関してロックの取得を試み、一定時間以内にロックの取得が完了しない場合、該当ロックが残留していると判断し、該当ロックに対応する共有資源を使用不可とする、もしくは共有資源を再作成し直す機構が用いられる。しかし、この方式の場合、ロック残留が発生したロックの数に応じてロックの検査に必要とする時間が延びるため、プロセス再起動によるシステム復旧に長時間を要する可能性がある。   In the conventional system, as a method of avoiding the system failure due to the above-mentioned lock remaining, when restarting the aborted process, an attempt is made to acquire locks for all locks that may have been locked at the time of the abort. If lock acquisition is not completed within a certain time, it is determined that the corresponding lock remains, and a mechanism that disables the shared resource corresponding to the corresponding lock or recreates the shared resource is used. However, in the case of this method, the time required for the lock inspection increases depending on the number of locks in which locks remain, and therefore it may take a long time to recover the system by restarting the process.

そこで本発明は、上記実情に鑑みて、資源アクセス中断によるロック残留の発生を低減することを目的とする。   In view of the above circumstances, an object of the present invention is to reduce the occurrence of lock residue due to interruption of resource access.

上記目的を達成するために本発明は、以下の特徴を有する。   In order to achieve the above object, the present invention has the following features.

本発明に係る情報処理装置は、実行中のプロセスの資源へのアクセスが閉塞しているか否かという情報を示す値を備える資源アクセス閉塞フラグと、前記プロセス中の任意のスレッドで障害が発生した場合に発せられるシグナルを捕捉するシグナル捕捉処理手段と、該シグナル捕捉処理手段がシグナルを捕捉した場合に、前記資源アクセス閉塞フラグの値をアクセスが閉塞していることを示す情報の値に設定する資源アクセス閉塞設定手段と、実行中のプロセス内のスレッドが前記プロセスの資源へアクセスする際に、前記資源アクセス閉塞フラグの値を調べることによって、前記資源へのアクセスが閉塞しているか否かを判定する資源アクセス閉塞判定手段と、を有することを特徴とする。   In the information processing apparatus according to the present invention, a failure has occurred in a resource access block flag having a value indicating whether or not access to a resource of a process being executed is blocked, and an arbitrary thread in the process A signal capture processing means for capturing a signal emitted in the case, and when the signal capture processing means captures a signal, the value of the resource access block flag is set to a value of information indicating that the access is blocked Whether the access to the resource is blocked by checking the value of the resource access block flag when the resource access block setting means and the thread in the process being executed access the resource of the process. Resource access blockage determining means for determining.

本発明に係る情報処理装置の制御方法は、実行中のプロセスの資源へのアクセスが閉塞しているか否かという情報を示す値を備える資源アクセス閉塞フラグを有する情報処理装置の制御方法であって、前記プロセス中の任意のスレッドで障害が発生した場合に発せられるシグナルを捕捉するシグナル捕捉処理工程と、該シグナル捕捉処理工程によりシグナルが捕捉された場合に、前記資源アクセス閉塞フラグの値をアクセスが閉塞していることを示す情報の値に設定する資源アクセス閉塞設定工程と、実行中のプロセス内のスレッドが前記プロセスへアクセスする際に、前記資源アクセス閉塞フラグの値を調べることによって、前記資源へのアクセスが閉塞しているか否かを判定する資源アクセス閉塞判定工程と、を含むことを特徴とする。   A method for controlling an information processing apparatus according to the present invention is a method for controlling an information processing apparatus having a resource access block flag having a value indicating whether or not access to a resource of a process being executed is blocked. , A signal capture processing step for capturing a signal emitted when a failure occurs in an arbitrary thread in the process, and the value of the resource access block flag is accessed when the signal is captured by the signal capture processing step A resource access blockage setting step for setting a value of information indicating that the block is blocked, and by checking a value of the resource access blockage flag when a thread in an executing process accesses the process, And a resource access blockage determining step for determining whether or not access to the resource is blocked.

本発明に係るプログラムは、実行中のプロセスの資源へのアクセスが閉塞しているか否かという情報を示す値を備える資源アクセス閉塞フラグを有する情報処理装置に、前記プロセス中の任意のスレッドで障害が発生した場合に発せられるシグナルを捕捉するシグナル捕捉処理と、該シグナル捕捉処理によりシグナルが捕捉された場合に、前記資源アクセス閉塞フラグの値をアクセスが閉塞していることを示す情報の値に設定する資源アクセス閉塞設定処理と、実行中のプロセス内のスレッドが前記プロセスへアクセスする際に、前記資源アクセス閉塞フラグの値を調べることによって、前記資源へのアクセスが閉塞しているか否かを判定する資源アクセス閉塞判定処理と、を実行させることを特徴とする。   A program according to the present invention causes an information processing apparatus having a resource access blocking flag having a value indicating whether or not access to a resource of a process being executed is blocked to a failure in an arbitrary thread in the process. A signal capturing process for capturing a signal that is generated when an error occurs, and when the signal is captured by the signal capturing process, the value of the resource access block flag is changed to an information value indicating that the access is blocked Whether or not access to the resource is blocked by checking the value of the resource access block flag when the resource access block setting process to be set and the thread in the executing process access the process And determining resource access blockage determination.

本発明によれば、資源アクセス中断によるロック残留の発生を低減することが可能となる。   According to the present invention, it is possible to reduce the occurrence of lock remaining due to resource access interruption.

まず、本実施形態におけるロック残留発生低減方式の概要について説明する。
複数のスレッドが平行して動作することが可能な計算機システムにおいて、複数のスレッドが同一の共有資源をアクセスする場合、共有資源の一貫性を保障するために、一貫性が保障されない危険領域(クリティカルセクション)の区間を複数のスレッドが同時に実行しないように、通常、共有資源に対応するロックを取得する。
First, an outline of the lock residual occurrence reduction method in the present embodiment will be described.
In a computer system in which multiple threads can operate in parallel, when multiple threads access the same shared resource, a critical area where consistency is not guaranteed (critical) to ensure the consistency of shared resources Usually, a lock corresponding to a shared resource is acquired so that a plurality of threads do not execute the section (section) at the same time.

しかしながら、何らかの理由により、ロックを取得している最中に該当スレッドが中断された場合、ロックが解放されることなく残ってしまい、以降、同一の共有資源のロックを取得しようとする全てのスレッドがロック取得待ちで停止してしまう。ここで、スレッドが中断されるケースとしては、以下の3パターンが考えられる。   However, if the thread is interrupted while acquiring the lock for some reason, the lock remains without being released, and all threads that subsequently acquire the lock of the same shared resource Will stop waiting for lock acquisition. Here, as a case where the thread is interrupted, the following three patterns can be considered.

第1に、ロックを取得している処理自身の不具合が原因で、OS(オペレーティングシステム)により打ち切られるケース。第2に、ロックを取得している処理自身には問題がなく、同一プロセス内の他スレッドでの処理の不具合を原因とした打ち切りに伴って、OSの仕様として、巻き添えの形で、前スレッドが打ち切られるケース。第3に、ロックを取得している処理自身には問題がなく、他スレッド(/他プロセス)のプログラムの意志により明示的に打ち切られるケース。   The first case is that the OS (operating system) aborts due to a failure of the process itself that acquires the lock. Secondly, there is no problem with the process itself that has acquired the lock, and the previous thread in the form of a wrapping as the OS specification in accordance with the abortion caused by the malfunction of the process in another thread in the same process. The case where is cut off. Third, there is no problem with the process itself that acquires the lock, and the process is explicitly aborted by the will of the other thread (/ other process) program.

上記のうち、本実施形態が対象とするのは、第2のケースである。本実施形態は、OSの仕様により、不具合により打ち切らざるを得ないスレッド以外に、不具合のない同一プロセスの他スレッドが即時打ち切られ、それによりロックが残ることを課題とする。上記課題を解決するために、本実施形態は、プロセス内の全スレッドがOSに強制打ち切りされるのを検知し、強制打ち切りに伴うロック残留の発生を抑制する。   Among the above, this embodiment is intended for the second case. According to the specification of the present embodiment, in addition to a thread that must be aborted due to a failure, another thread of the same process that does not have a failure is immediately aborted, so that the lock remains. In order to solve the above-described problem, the present embodiment detects that all threads in the process are forcibly terminated by the OS, and suppresses the occurrence of lock remaining due to the forced termination.

次に、本実施形態に係る情報処理装置の構成について図面を参照しながら説明する。
本実施形態に係る情報処理装置は、図1に示すように、資源アクセスライブラリ100を有し、ユーザAPプロセス200を実行中である。ユーザAPプロセス200は、ユーザプログラム400を実行する複数のユーザAPスレッド300からなる。
Next, the configuration of the information processing apparatus according to the present embodiment will be described with reference to the drawings.
As illustrated in FIG. 1, the information processing apparatus according to the present embodiment includes a resource access library 100 and is executing a user AP process 200. The user AP process 200 includes a plurality of user AP threads 300 that execute the user program 400.

資源アクセスライブラリ100は、資源アクセス閉塞判定手段121と資源アクセス手段122を有する資源アクセス処理120と、資源アクセス閉塞設定手段111とプロセスアボート遅延手段112を有するシグナル捕捉処理110と、資源アクセス閉塞フラグ130を備える。また、シグナル捕捉処理110は、本実施形態に係る情報処理装置が起動している間、予めOSに登録されている。   The resource access library 100 includes a resource access process 120 having a resource access blockage determining unit 121 and a resource access unit 122, a signal capturing process 110 having a resource access blockage setting unit 111 and a process abort delay unit 112, and a resource access blockage flag 130. Is provided. Further, the signal capturing process 110 is registered in advance in the OS while the information processing apparatus according to the present embodiment is activated.

ここで、資源アクセス閉塞フラグ130は、ユーザAPプロセス200毎に固有の記憶領域であり、初期値は0である。資源アクセス閉塞フラグ130の値が初期値である場合、フラグはOFFであり(言い換えれば、フラグが立っていない)、初期値でない値である場合、フラグはONである(言い換えれば、フラグが立っている)。資源アクセス閉塞フラグ130の値は、ユーザAPプロセス200の資源へのアクセスが閉塞しているか否かという情報を示すものであり、本実施形態では、初期値の場合アクセスが閉塞しておらず、初期値でない場合アクセスが閉塞している情報を示すこととする。   Here, the resource access block flag 130 is a storage area unique to each user AP process 200 and has an initial value of 0. When the value of the resource access block flag 130 is an initial value, the flag is OFF (in other words, the flag is not set). When the value is not the initial value, the flag is ON (in other words, the flag is set). ing). The value of the resource access block flag 130 indicates information indicating whether or not access to the resource of the user AP process 200 is blocked. In this embodiment, the access is not blocked in the case of the initial value. If it is not the initial value, it indicates information where access is blocked.

次に、このように構成された本実施形態におけるロック残留発生低減方式の動作について説明する。図2は、本実施形態におけるシグナル捕捉処理の流れを示すフローチャートである。   Next, the operation of the lock residual occurrence reducing method in the present embodiment configured as described above will be described. FIG. 2 is a flowchart showing the flow of signal capture processing in the present embodiment.

図2において、ユーザプログラム400を実行する複数のユーザAPスレッド300を含むユーザAPプロセス200が起動された後(ステップS201)、任意のユーザAPスレッド300上で動作するユーザプログラム400に関して(ステップS202)、OSが不正アドレス参照などスレッドの実行を中断せざる得ない状況を検出した場合(ステップS203)、該当するユーザAPスレッド300の延長でOSから予めOSに登録しておいたシグナル捕捉処理110が呼び出される(ステップS204)。   In FIG. 2, after the user AP process 200 including a plurality of user AP threads 300 for executing the user program 400 is started (step S201), the user program 400 operating on an arbitrary user AP thread 300 (step S202). When the OS detects a situation in which the execution of the thread must be interrupted, such as an illegal address reference (step S203), the signal capture processing 110 registered in the OS from the OS in advance by extension of the corresponding user AP thread 300 is executed. Called (step S204).

シグナル捕捉処理110では、まず資源アクセス閉塞設定手段111に制御が渡される。資源アクセス閉塞設定手段111は、資源アクセス閉塞フラグ130に1を設定し(ステップS205)、プロセスアボート遅延手段112に制御を渡す。なお、資源アクセス閉塞設定手段111が資源アクセス閉塞フラグ130に1を設定することは、「資源アクセス閉塞フラグ130をONにする(又は、フラグを立てる)」と言い換えてもよい。   In the signal capturing process 110, control is first passed to the resource access block setting unit 111. The resource access block setting unit 111 sets 1 to the resource access block flag 130 (step S205), and passes control to the process abort delay unit 112. Note that setting the resource access blockage flag 111 to 1 by the resource access blockage setting unit 111 may be rephrased as “turning on the resource access blockage flag 130 (or setting the flag)”.

プロセスアボート遅延手段112は、予め決められた時間だけスレッドの実行を待ち合わせた後(ステップS206)、OSに制御を戻す(ステップS207)。その結果、OSは、ユーザAPプロセス200に含まれる全てのユーザAPスレッド300の実行を中断し、ユーザAPプロセス200を終了する。   The process abort delay unit 112 waits for execution of a thread for a predetermined time (step S206), and then returns control to the OS (step S207). As a result, the OS interrupts execution of all user AP threads 300 included in the user AP process 200 and ends the user AP process 200.

一方で、本実施形態における資源アクセス処理は、図3のフローチャートに示す流れで実行される。図3において、ユーザプログラム400を実行する複数のユーザAPスレッド300を含むユーザAPプロセス200が起動された後(ステップS301)、任意のユーザAPスレッド300上で動作するユーザプログラム400(ステップS302)から、資源アクセス処理120が呼び出される(ステップS303)。   On the other hand, the resource access process in this embodiment is executed according to the flow shown in the flowchart of FIG. In FIG. 3, after the user AP process 200 including a plurality of user AP threads 300 for executing the user program 400 is activated (step S301), the user program 400 (step S302) operating on an arbitrary user AP thread 300 is started. Then, the resource access process 120 is called (step S303).

資源アクセス処理120では、まず資源アクセス閉塞判定手段121に制御が渡される。資源アクセス閉塞判定手段121は、資源アクセス閉塞フラグ130の値を判定する(ステップS304)。資源アクセス閉塞フラグ130の値が0の場合は(ステップS305/Yes)、資源アクセス手段122に制御を渡す(ステップS306)。資源アクセス閉塞フラグ130の値が0以外の場合は(ステップS305/No)、資源アクセス不可と判断し、ユーザプログラム400に制御を戻す(ステップS307)。   In the resource access process 120, control is first transferred to the resource access blockage determination unit 121. The resource access blockage determination unit 121 determines the value of the resource access blockage flag 130 (step S304). If the value of the resource access block flag 130 is 0 (step S305 / Yes), control is passed to the resource access unit 122 (step S306). If the value of the resource access block flag 130 is other than 0 (No in step S305), it is determined that the resource access is impossible and the control is returned to the user program 400 (step S307).

次に、本実施形態における資源アクセス手段122の動作について図4のフローチャートを参照して説明する。図4において、資源アクセス手段122は、対象となる資源のロックを取得し(ステップS401)、要求されたアクセス処理を実行した後(ステップS402/Yes)、資源のロックを解放して(ステップS403)、ユーザプログラム400に制御を戻す(ステップS404)。   Next, the operation of the resource access unit 122 in this embodiment will be described with reference to the flowchart of FIG. In FIG. 4, the resource access unit 122 acquires the lock of the target resource (step S401), executes the requested access process (step S402 / Yes), and then releases the lock of the resource (step S403). ), Control is returned to the user program 400 (step S404).

本実施形態は、複数のスレッドで構成されたプロセス(マルチスレッドプロセス)において、プロセス中のあるスレッドで回復不可能なシグナル事象が発生した場合、予めOSに登録しておいたシグナル捕捉処理がOSから呼び出された延長で、プロセス内の資源アクセス閉塞フラグをONにして、以降プロセス内での新たな資源アクセス処理の実行を抑止するとともに、プロセス内の他スレッドにおいて既に実行中の資源アクセス処理の完了を待つために、シグナル事象が発生したスレッドがアボート(中断)するのを一定時間待ち合わせることにより、ロック取得中の資源アクセス処理中断によるロック残留の発生を低減する。   In the present embodiment, when a non-recoverable signal event occurs in a certain thread in the process (multi-thread process) composed of a plurality of threads, the signal capturing process registered in the OS in advance is performed. In the extension called from the process, the resource access block flag in the process is set to ON to suppress the execution of new resource access processing in the process and the resource access processing already being executed in other threads in the process. In order to wait for completion, by waiting for a certain time for the thread in which the signal event has occurred to be aborted (suspended), occurrence of residual lock due to interruption of resource access processing during lock acquisition is reduced.

これにより、アボートしたプロセスを再起動する際に、アボートした時点でロックしていた可能性のある全ロックの検査に必要とする時間を短縮し、プロセス再起動によるシステム復旧に要する時間を短縮する。   As a result, when restarting an aborted process, the time required for checking all locks that may have been locked at the time of the abort is shortened, and the time required for system recovery by process restart is shortened. .

以上、本発明の好適な実施の形態について説明したが、本発明はこれに限定されるものではなく、要旨を逸脱しない範囲内で種々の変形実施が可能である。上述した本実施形態における制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。   The preferred embodiment of the present invention has been described above, but the present invention is not limited to this, and various modifications can be made without departing from the scope of the invention. The control operation in the present embodiment described above can also be executed using hardware, software, or a combined configuration of both.

なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。   In the case of executing processing using software, it is possible to install and execute a program in which a processing sequence is recorded in a memory in a computer incorporated in dedicated hardware. Alternatively, the program can be installed and executed on a general-purpose computer capable of executing various processes.

例えば、プログラムは、記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことが可能である。あるいは、プログラムは、リムーバブル記録媒体に、一時的、あるいは、永続的に格納(記録)しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。なお、リムーバブル記録媒体としては、フロッピー(登録商標)ディスク、CD-ROM(Compact Disc Read Only Memory)、MO(Magneto optical)ディスク、DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどが挙げられる。   For example, the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a recording medium. Alternatively, the program can be stored (recorded) temporarily or permanently in a removable recording medium. Such a removable recording medium can be provided as so-called package software. The removable recording medium includes a floppy (registered trademark) disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, a semiconductor memory, and the like.

なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールすることになる。また、ダウンロードサイトから、コンピュータに無線転送することになる。また、ネットワークを介して、コンピュータに有線で転送することになる。   The program is installed in the computer from the removable recording medium as described above. In addition, it is wirelessly transferred from the download site to the computer. In addition, it is transferred to the computer via a network by wire.

本発明の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of embodiment of this invention. 本実施形態のシグナル捕捉処理を示すフローチャートである。It is a flowchart which shows the signal capture process of this embodiment. 本実施形態の資源アクセス処理を示すフローチャートである。It is a flowchart which shows the resource access process of this embodiment. 本実施形態の資源アクセス手段の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the resource access means of this embodiment.

符号の説明Explanation of symbols

100 資源アクセスライブラリ
110 シグナル捕捉処理
111 資源アクセス閉塞設定手段
112 プロセスアボート遅延手段
120 資源アクセス処理
121 資源アクセス閉塞判定手段
122 資源アクセス手段
130 資源アクセス閉塞フラグ
200 ユーザAPプロセス
300 ユーザAPスレッド
400 ユーザプログラム
DESCRIPTION OF SYMBOLS 100 Resource access library 110 Signal capture process 111 Resource access blockage setting means 112 Process abort delay means 120 Resource access process 121 Resource access blockage determination means 122 Resource access means 130 Resource access block flag 200 User AP process 300 User AP thread 400 User program

Claims (6)

実行中のプロセスの資源へのアクセスが閉塞しているか否かという情報を示す値を備える資源アクセス閉塞フラグと、
前記プロセス中の任意のスレッドで障害が発生した場合に発せられるシグナルを捕捉するシグナル捕捉処理手段と、
該シグナル捕捉処理手段がシグナルを捕捉した場合に、前記資源アクセス閉塞フラグの値をアクセスが閉塞していることを示す情報の値に設定する資源アクセス閉塞設定手段と、
実行中のプロセス内のスレッドが前記プロセスの資源へアクセスする際に、前記資源アクセス閉塞フラグの値を調べることによって、前記資源へのアクセスが閉塞しているか否かを判定する資源アクセス閉塞判定手段と、
を有することを特徴とする情報処理装置。
A resource access blocking flag comprising a value indicating whether or not access to the resource of the process being executed is blocked;
Signal capturing processing means for capturing a signal emitted when a failure occurs in any thread in the process;
Resource access blockage setting means for setting the value of the resource access blockage flag to the value of information indicating that the access is blocked when the signal capture processing unit captures a signal;
Resource access blockage determining means for determining whether access to the resource is blocked by checking the value of the resource access blockage flag when a thread in the executing process accesses the resource of the process When,
An information processing apparatus comprising:
前記資源アクセス閉塞判定手段により前記資源へのアクセスが閉塞していると判定された場合、前記情報処理装置のオペレーティングシステムが前記プロセスのアボートを実行することを、所定の時間待たせるプロセスアボート遅延手段を、さらに有することを特徴とする請求項1記載の情報処理装置。   Process abort delay means for waiting for a predetermined time for the operating system of the information processing apparatus to execute the abort of the process when it is determined by the resource access blocking determination means that access to the resource is blocked The information processing apparatus according to claim 1, further comprising: 実行中のプロセスの資源へのアクセスが閉塞しているか否かという情報を示す値を備える資源アクセス閉塞フラグを有する情報処理装置の制御方法であって、
前記プロセス中の任意のスレッドで障害が発生した場合に発せられるシグナルを捕捉するシグナル捕捉処理工程と、
該シグナル捕捉処理工程によりシグナルが捕捉された場合に、前記資源アクセス閉塞フラグの値をアクセスが閉塞していることを示す情報の値に設定する資源アクセス閉塞設定工程と、
実行中のプロセス内のスレッドが前記プロセスへアクセスする際に、前記資源アクセス閉塞フラグの値を調べることによって、前記資源へのアクセスが閉塞しているか否かを判定する資源アクセス閉塞判定工程と、
を含むことを特徴とする情報処理装置の制御方法。
A control method for an information processing apparatus having a resource access block flag having a value indicating whether or not access to a resource of a process being executed is blocked,
A signal capturing process for capturing a signal emitted when a failure occurs in any thread in the process;
A resource access blockage setting step for setting the value of the resource access blockage flag to a value of information indicating that the access is blocked when a signal is captured by the signal capture processing step;
A resource access blockage determining step for determining whether or not access to the resource is blocked by checking the value of the resource access blockage flag when a thread in the process being executed accesses the process;
A method for controlling an information processing apparatus, comprising:
前記資源アクセス閉塞判定手段により前記資源へのアクセスが閉塞していると判定された場合、前記情報処理装置のオペレーティングシステムが前記プロセスのアボートを実行することを、所定の時間待たせるプロセスアボート遅延工程を、さらに含むことを特徴とする請求項3記載の情報処理装置の制御方法。   A process abort delay step of waiting for a predetermined time for the operating system of the information processing apparatus to execute the abort of the process when the resource access blocking determination unit determines that the access to the resource is blocked; The information processing apparatus control method according to claim 3, further comprising: 実行中のプロセスの資源へのアクセスが閉塞しているか否かという情報を示す値を備える資源アクセス閉塞フラグを有する情報処理装置に、
前記プロセス中の任意のスレッドで障害が発生した場合に発せられるシグナルを捕捉するシグナル捕捉処理と、
該シグナル捕捉処理によりシグナルが捕捉された場合に、前記資源アクセス閉塞フラグの値をアクセスが閉塞していることを示す情報の値に設定する資源アクセス閉塞設定処理と、
実行中のプロセス内のスレッドが前記プロセスへアクセスする際に、前記資源アクセス閉塞フラグの値を調べることによって、前記資源へのアクセスが閉塞しているか否かを判定する資源アクセス閉塞判定処理と、
を実行させることを特徴とするプログラム。
In an information processing apparatus having a resource access block flag having a value indicating whether access to resources of a process being executed is blocked or not,
A signal capturing process for capturing a signal emitted when a failure occurs in any thread in the process;
A resource access blockage setting process for setting a value of the resource access blockage flag to a value of information indicating that the access is blocked when a signal is captured by the signal capture process;
A resource access blockage determination process for determining whether or not access to the resource is blocked by examining the value of the resource access blockage flag when a thread in the process being executed accesses the process;
A program characterized by having executed.
前記情報処理装置に、
前記資源アクセス閉塞判定処理により前記資源へのアクセスが閉塞していると判定された場合、前記情報処理装置のオペレーティングシステムが前記プロセスのアボートを実行することを、所定の時間待たせるプロセスアボート遅延処理を、さらに実行させることを特徴とする請求項5記載のプログラム。
In the information processing apparatus,
A process abort delay process that waits a predetermined time for the operating system of the information processing apparatus to execute the abort of the process when it is determined by the resource access blocking determination process that the access to the resource is blocked 6. The program according to claim 5, further comprising:
JP2008037702A 2008-02-19 2008-02-19 Information processing device, control method and program therefor Pending JP2009199166A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008037702A JP2009199166A (en) 2008-02-19 2008-02-19 Information processing device, control method and program therefor
PCT/JP2009/053101 WO2009104771A1 (en) 2008-02-19 2009-02-16 Information processing device, control method and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008037702A JP2009199166A (en) 2008-02-19 2008-02-19 Information processing device, control method and program therefor

Publications (1)

Publication Number Publication Date
JP2009199166A true JP2009199166A (en) 2009-09-03

Family

ID=40985647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008037702A Pending JP2009199166A (en) 2008-02-19 2008-02-19 Information processing device, control method and program therefor

Country Status (2)

Country Link
JP (1) JP2009199166A (en)
WO (1) WO2009104771A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62202249A (en) * 1986-02-28 1987-09-05 Nec Corp Shared resource access guard system among plural host computers
JPH04241633A (en) * 1991-01-16 1992-08-28 Nec Corp Process managing system
JPH05289892A (en) * 1992-04-07 1993-11-05 Toshiba Corp Computer system
JPH06175864A (en) * 1992-12-10 1994-06-24 Sharp Corp Computer system with multifunction
JPH11327937A (en) * 1998-05-14 1999-11-30 Nec Corp Resource exclusive control system
JP2007249634A (en) * 2006-03-16 2007-09-27 Nec Corp Lock management method and lock management system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1124947A (en) * 1997-07-08 1999-01-29 Sanyo Electric Co Ltd Exclusive control method for computer system and computer system
JP3961301B2 (en) * 2001-01-25 2007-08-22 松下電器産業株式会社 Digital device, task management method and program thereof
JP2005339111A (en) * 2004-05-26 2005-12-08 Hitachi Ltd Method and system for controlling execution of job

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62202249A (en) * 1986-02-28 1987-09-05 Nec Corp Shared resource access guard system among plural host computers
JPH04241633A (en) * 1991-01-16 1992-08-28 Nec Corp Process managing system
JPH05289892A (en) * 1992-04-07 1993-11-05 Toshiba Corp Computer system
JPH06175864A (en) * 1992-12-10 1994-06-24 Sharp Corp Computer system with multifunction
JPH11327937A (en) * 1998-05-14 1999-11-30 Nec Corp Resource exclusive control system
JP2007249634A (en) * 2006-03-16 2007-09-27 Nec Corp Lock management method and lock management system

Also Published As

Publication number Publication date
WO2009104771A1 (en) 2009-08-27

Similar Documents

Publication Publication Date Title
JP4489802B2 (en) Multi-CPU computer and system restart method
JP5423871B2 (en) Information processing apparatus, information processing method, and program
CN109558211B (en) Method for protecting interaction integrity and confidentiality of trusted application and common application
US10067782B2 (en) Efficient detection and response to spin waits in multi-processor virtual machines
JP4476193B2 (en) Information processing method and information processing apparatus
KR20150065715A (en) Exception handling in a data processing apparatus having a secure domain and a less secure domain
JP5263602B2 (en) ACCESS CONTROL SYSTEM, ACCESS CONTROL METHOD, ELECTRONIC DEVICE, AND CONTROL PROGRAM
EP2996043A1 (en) Debugging in a data processing apparatus
JP2006330864A (en) Control method for server computer system
US9864708B2 (en) Safely discovering secure monitors and hypervisor implementations in systems operable at multiple hierarchical privilege levels
JP5392263B2 (en) Information processing apparatus and memory protection method thereof
US9535772B2 (en) Creating a communication channel between different privilege levels using wait-for-event instruction in systems operable at multiple levels hierarchical privilege levels
JP2010186386A (en) Processor
US8650579B1 (en) Containment for computer-software update installation processes
JP2009199166A (en) Information processing device, control method and program therefor
JP2004326331A (en) Unauthorized memory access detection method and program of the same
JP5663630B2 (en) Computer automatic operation device, automatic operation method, and automatic operation program
KR101375658B1 (en) Program data change protecting apparatus and program data change protecting method
US10331498B1 (en) ColoredLock synchronization object, allowing flow specific policy of lock canceling
JP2007249634A (en) Lock management method and lock management system
JP2010044699A (en) Information processor
JP4611659B2 (en) Unauthorized access detection device, unauthorized access detection method, program
WO2022019061A1 (en) Information processing device, information processing method, and program
JP2006228074A (en) Multitask system and method for controlling multitask
JP6859755B2 (en) Information processing device, control method of information processing device, and control program of information processing device

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Effective date: 20110920

Free format text: JAPANESE INTERMEDIATE CODE: A7421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Written amendment

Effective date: 20120314

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120724