JP2007328597A - Computer system, trace data storage method of computer system, and trace data storing program - Google Patents

Computer system, trace data storage method of computer system, and trace data storing program Download PDF

Info

Publication number
JP2007328597A
JP2007328597A JP2006159863A JP2006159863A JP2007328597A JP 2007328597 A JP2007328597 A JP 2007328597A JP 2006159863 A JP2006159863 A JP 2006159863A JP 2006159863 A JP2006159863 A JP 2006159863A JP 2007328597 A JP2007328597 A JP 2007328597A
Authority
JP
Japan
Prior art keywords
user
kernel
side trace
trace
trace data
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
JP2006159863A
Other languages
Japanese (ja)
Other versions
JP4859546B2 (en
Inventor
Yoshiaki Katayama
吉章 片山
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006159863A priority Critical patent/JP4859546B2/en
Publication of JP2007328597A publication Critical patent/JP2007328597A/en
Application granted granted Critical
Publication of JP4859546B2 publication Critical patent/JP4859546B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To achieve both the maintenance of the time sequence of trace data having occurred in user mode software and kernel mode software and the reduction of an overhead applied to the trace of the user mode software. <P>SOLUTION: When user-side trace data are generated, a user-side trace control part 13 refers to user-side trace control information 7 memory-mapped to kernel-side trace control information 6 to determine whether or not it is necessary to store the trace data. When it is determined that it is necessary to store the trace data, the user-side trace control part 13 stores the user-side trace data into a kernel-side trace buffer 5 through a user-side trace output vicarious execution part 12 and a kernel-side trace output part 10. When kernel-side trace data are generated, a kernel-side trace control part 11 stores the kernel-side trace data into the kernel-side trace buffer 5 through the kernel-side trace output part 10. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、ソフトウェアのトレースデータを蓄積するコンピュータシステム、コンピュータシステムのトレースデータ蓄積方法およびトレースデータ蓄積プログラムに関するものである。   The present invention relates to a computer system for accumulating software trace data, a trace data accumulation method for the computer system, and a trace data accumulation program.

汎用パーソナルコンピュータ(PC:Personal Computer)や組込み機器などのコンピュータシステム(以下、システムとする)においては、障害発生時にシステム全体のソフトウェアの動作履歴を把握するため、トレースデータを蓄積する。ただし、トレースデータ蓄積を行うとソフトウェアの動作が遅くなるため、トレースデータ蓄積をするか否かを表すスイッチ(蓄積要否フラグ)をシステム内に設け、製品リリース時にはトレースデータ蓄積機能を無効にしていた(例えば、特許文献1)。
ところが、上記システムのうち、メモリ保護機能を持つOS(Operating System)上で動作するソフトウェアは、一般的にユーザモード(非特権モードともいう)とカーネルモード(特権モード、スーパバイザモードともいう)とのどちらかのモードで動作する。ユーザモードは、実行可能なCPU(Central Processing Unit)命令が制限され、かつメモリ保護機能が有効な状態である。アプリケーションソフトウェア(以下、アプリケーションとする)などがこのユーザモードで動作する。ユーザモードにおいては、一般的にアプリケーション毎にメモリ空間が割り当てられ、異なるメモリ空間で動作する他のアプリケーションのデータには直接アクセスできないようにOSによりメモリ保護されている。カーネルモードは、上述したCPU命令の制限を持たない状態であり、OS自身やデバイスドライバなどがこのカーネルモードで動作する。
このようなシステムにおいては、カーネルモード側に上記蓄積要否フラグとトレースデータを蓄積するためのトレースバッファとを具備し、OSを介してユーザモードからカーネルモードへ動作モードを一旦遷移することにより、カーネルモード側の蓄積要否フラグやトレースバッファを用いて、ユーザモードソフトウェアのトレースデータを蓄積していた。
また他のシステムにおいては、蓄積要否フラグとトレースバッファとをユーザモードとカーネルモードとの双方に具備し、ユーザモードとカーネルモードとでおのおの個別にトレースデータを蓄積していた。
特開2002−149444号公報 (第2頁、段落[0002])
In a computer system (hereinafter referred to as a system) such as a general-purpose personal computer (PC) or an embedded device, trace data is accumulated in order to grasp the operation history of software of the entire system when a failure occurs. However, since the software operation slows down when the trace data is accumulated, a switch (accumulation necessity flag) indicating whether or not the trace data is accumulated is provided in the system, and the trace data accumulation function is disabled at the time of product release. (For example, Patent Document 1).
However, among the above systems, software operating on an OS (Operating System) having a memory protection function generally includes a user mode (also referred to as non-privileged mode) and a kernel mode (also referred to as privileged mode or supervisor mode). Operates in either mode. The user mode is a state where executable CPU (Central Processing Unit) instructions are restricted and the memory protection function is valid. Application software (hereinafter referred to as an application) operates in this user mode. In the user mode, a memory space is generally allocated for each application, and the memory is protected by the OS so that data of other applications operating in different memory spaces cannot be directly accessed. The kernel mode is a state in which there is no restriction on the CPU instruction described above, and the OS itself, the device driver, and the like operate in this kernel mode.
In such a system, the kernel mode side includes the above-described accumulation necessity flag and a trace buffer for accumulating trace data. By temporarily changing the operation mode from the user mode to the kernel mode via the OS, The user mode software trace data was accumulated using the accumulation necessity flag and the trace buffer on the kernel mode side.
In other systems, the accumulation necessity flag and the trace buffer are provided in both the user mode and the kernel mode, and the trace data is individually accumulated in the user mode and the kernel mode.
JP 2002-149444 A (2nd page, paragraph [0002])

しかし、前者の場合、蓄積要否フラグがカーネルモード側に具備されているため、ユーザモードソフトウェアは、トレースデータ蓄積機能の有効・無効を蓄積要否フラグを参照して判定する度に、OSのシステムコールを介してカーネルモードへ遷移する必要がある。そのため、前者のシステムにはユーザモードソフトウェアのトレース蓄積にかかるオーバヘッドが大きくなってしまうという課題があった。
また、後者の場合、ユーザモードソフトウェアとカーネルモードソフトウェアとがそれぞれのトレースバッファにトレースデータを蓄積するため、システム全体の動作履歴を把握するには、ユーザモードとカーネルモードとの双方で蓄積したトレースデータをマージし、発生順に並び替えてトレースデータを参照する必要がある。このトレースデータを発生順に並び替える方法として、システムに搭載された高精度ハードウェアタイマのカウンタ値をトレースデータに埋め込んでおくことが考えられる。ただし、実装コストや消費電力など制限の多い組込み機器などでは、高精度ハードウェアタイマを搭載していない、もしくは高精度ハードウェアタイマを常時利用できないという場合が多く、このトレースデータの発生順の並び替え方法は使えなかった。また、使用するハードウェアタイマが低精度である場合、ユーザモードのトレースデータとカーネルモードのトレースデータとが同一の発生時刻を示し、トレースデータを正確な発生順に並び替えられないということが考えられる。つまり、後者のシステムには、時系列のトレースデータを得るために、高コスト・高消費電力になるという課題があった。
However, in the former case, since the accumulation necessity flag is provided on the kernel mode side, every time the user mode software determines the validity / invalidity of the trace data accumulation function with reference to the accumulation necessity flag, the OS mode It is necessary to transition to kernel mode via a system call. For this reason, the former system has a problem that the overhead for storing traces of user mode software increases.
In the latter case, the user mode software and kernel mode software accumulate trace data in their respective trace buffers. Therefore, in order to grasp the operation history of the entire system, traces accumulated in both the user mode and kernel mode are stored. It is necessary to merge the data and refer to the trace data by rearranging the data in the order of occurrence. As a method of rearranging the trace data in the order of generation, it is conceivable to embed a counter value of a high-precision hardware timer installed in the system in the trace data. However, in embedded devices with many restrictions such as mounting cost and power consumption, there are many cases where the high-precision hardware timer is not installed or the high-precision hardware timer cannot always be used. The replacement method could not be used. In addition, when the hardware timer to be used has low accuracy, the user mode trace data and the kernel mode trace data indicate the same occurrence time, and the trace data may not be rearranged in the correct generation order. . That is, the latter system has a problem of high cost and high power consumption in order to obtain time-series trace data.

この発明は、個々の動作モードおよびソフトウェアのトレースデータの時系列を維持するための特別なハードウェア装置を具備していないコンピュータシステムにおいて、例えば、上記のような課題点を解決するためになされたものである。
例えば、本発明は、ユーザモードソフトウェアとカーネルモードソフトウェアとの双方で発生したトレースデータの時系列を維持することと、ユーザモードソフトウェアのトレースにかかるオーバヘッドを削減することとの双方を実現することを目的とする。
The present invention has been made in order to solve the above-described problems in a computer system that does not include a special hardware device for maintaining time series of individual operation modes and software trace data. Is.
For example, the present invention realizes both maintaining a time series of trace data generated in both user mode software and kernel mode software and reducing overhead required for tracing of user mode software. Objective.

本発明のコンピュータシステムは、システムが提供する機能を実行するカーネルモードで使用するカーネル側メモリに記憶したカーネル側トレース制御情報に基づいて、システムが提供する機能を使用するユーザモードで動作するユーザモードソフトウェアプログラムの動作履歴を示すユーザ側トレースデータを記憶するコンピュータシステムであり、ユーザモードで使用され、前記カーネル側メモリにおける前記カーネル側トレース制御情報の記憶域を示す制御情報アドレスを記憶したユーザ側メモリと、前記カーネル側メモリにユーザ側トレースデータを記憶するカーネル側トレース出力部と、前記ユーザ側メモリに記憶された前記制御情報アドレスが示す前記カーネル側メモリにおける記憶域に記憶された前記カーネル側トレース制御情報を参照し、参照した前記カーネル側トレース制御情報が示す蓄積要否フラグに基づいてユーザ側トレースデータの蓄積要否を判定するユーザ側トレース制御部と、前記ユーザ側トレース制御部がユーザ側トレースデータの蓄積要と判定した場合に前記カーネル側トレース出力部を呼び出すユーザ側トレース出力代行部とを備え、前記カーネル側トレース出力部は前記ユーザ側トレース出力代行部から呼び出された際にユーザ側トレースデータを前記カーネル側メモリに記憶することを特徴とする。   The computer system of the present invention is a user mode that operates in a user mode that uses a function provided by the system, based on kernel-side trace control information stored in a kernel-side memory that is used in a kernel mode that executes the function provided by the system. A computer system for storing user-side trace data indicating an operation history of a software program, used in a user mode, and storing a control information address indicating a storage area of the kernel-side trace control information in the kernel-side memory A kernel-side trace output unit for storing user-side trace data in the kernel-side memory, and the kernel-side trace stored in a storage area in the kernel-side memory indicated by the control information address stored in the user-side memory control A user-side trace control unit that determines whether or not user-side trace data needs to be stored based on the storage-necessity flag indicated by the referenced kernel-side trace control information, and the user-side trace control unit A user-side trace output proxy unit that calls the kernel-side trace output unit when it is determined that data accumulation is necessary, and the kernel-side trace output unit is configured to call the user-side trace output unit when called from the user-side trace output proxy unit. Data is stored in the kernel side memory.

本発明によれば、例えば、ユーザモードソフトウェアとカーネルモードソフトウェアとの双方で発生したトレースデータの時系列を維持することと、ユーザモードソフトウェアのトレースにかかるオーバヘッドを削減することとの双方を実現するコンピュータシステム、コンピュータシステムのトレースデータ蓄積方法およびトレースデータ蓄積プログラムを提供することができる。   According to the present invention, for example, it is possible to both maintain a time series of trace data generated in both user mode software and kernel mode software, and reduce overhead required for tracing of user mode software. A computer system, a computer system trace data storage method, and a trace data storage program can be provided.

実施の形態1.
実施の形態1では、カーネルモードのトレースデータとユーザモードのトレースデータとを蓄積するコンピュータシステムにおいて、カーネル側メモリに記憶したカーネル側トレース制御情報の記憶域を示す制御情報アドレスをユーザ側メモリに記憶することで、カーネルモードに遷移することなくユーザモードでトレースデータの蓄積要否を判定する実施形態を示す。
Embodiment 1 FIG.
In the first embodiment, in a computer system that accumulates kernel-mode trace data and user-mode trace data, a control information address indicating a storage area of kernel-side trace control information stored in the kernel-side memory is stored in the user-side memory. Thus, an embodiment is described in which it is determined whether or not the trace data needs to be accumulated in the user mode without changing to the kernel mode.

カーネルモードは特権モードやスーパバイザモードとも呼ばれるコンピュータシステムの動作モードの一つであり、コンピュータシステムが提供する機能である特定のCPU命令はカーネルモードでのみ実行される。
ユーザモードは、非特権モードとも呼ばれるコンピュータシステムの動作モードの一つであり、実行可能なCPU命令が制限され、また、カーネルモードで使用されるメモリやユーザモードで動作する他のソフトウェアプログラムが使用するメモリへのアクセスが制限される。そのため、制限されたCPU命令の実行および制限されたメモリへのアクセスが必要な場合、ユーザモードではシステムコールを行うことでOSを介してカーネルモードへ遷移して制限されたメモリへアクセスする。
The kernel mode is one of operation modes of the computer system, also called a privilege mode or a supervisor mode, and a specific CPU instruction that is a function provided by the computer system is executed only in the kernel mode.
User mode is one of the computer system operation modes, also called non-privileged mode, which limits the CPU instructions that can be executed, and is used by memory used in kernel mode and other software programs operating in user mode. Access to the memory is limited. Therefore, when it is necessary to execute a restricted CPU instruction and access to the restricted memory, in the user mode, a system call is performed to transit to the kernel mode via the OS to access the restricted memory.

以下、カーネルモードで使用されるメモリをカーネル側メモリ、カーネルモードで動作するソフトウェアプログラムをカーネルモードソフトウェア(または、カーネルモードソフトウェアプログラム)、カーネルモードで発生しカーネルモードソフトウェアの動作履歴を示すトレースデータをカーネル側トレースデータとする。
また、ユーザモードで使用されるメモリをユーザ側メモリ、ユーザモードで動作するソフトウェアプログラムをユーザモードソフトウェア(または、ユーザモードソフトウェアプログラム)、ユーザモードで発生しユーザモードソフトウェアの動作履歴を示すトレースデータをユーザ側トレースデータとする。
また、カーネル側トレースデータとユーザ側トレースデータとの少なくともいずれかを含むトレースデータをシステムトレースデータとする。
Below, the memory used in the kernel mode is the kernel side memory, the software program that operates in the kernel mode is the kernel mode software (or kernel mode software program), and the trace data that is generated in the kernel mode and indicates the operation history of the kernel mode software Kernel side trace data.
Also, the memory used in the user mode is the user side memory, the software program that operates in the user mode is the user mode software (or user mode software program), and the trace data that is generated in the user mode and indicates the operation history of the user mode software Use user-side trace data.
Further, the trace data including at least one of the kernel side trace data and the user side trace data is set as the system trace data.

カーネル側メモリおよびユーザ側メモリは実メモリと仮想メモリとのいずれであってもよく、実メモリおよび仮想メモリの記憶域はバッファやメモリ空間ともいう。
また、特定の記憶域を示すアドレス(制御情報アドレス)を記憶する処理の一例としてメモリマッピングがあり、メモリマッピングでは主に仮想メモリのアドレスと実メモリのアドレスとを対応付けて記憶する。メモリマッピングを行うことにより、各アプリケーションは仮想メモリのアドレスを用いて実メモリにアクセスすることができる。以下で説明するメモリマッピングでは、ユーザ側トレース制御情報7(図1参照)の記憶域を示すアドレスとカーネル側トレース制御情報6(図1参照)の記憶域を示すアドレス(制御情報アドレス)とが対応付けられて、システムのメモリ保護ユニット(MMU:Memory Management Unit)の記憶域に記憶されるものとする。ここで、メモリマッピングによりユーザ側トレース制御情報7の記憶域を示すアドレスがカーネル側トレース制御情報6の記憶域を示す制御情報アドレスにMMUの記憶域において対応付けられることも、ユーザ側メモリ192がカーネル側トレース制御情報6の記憶域を示す制御情報アドレスを記憶することに含めるものとする。
また、アプリケーションやアプリケーションプログラムなどと呼ばれるソフトウェアはユーザモードソフトウェアの一例であり、OSはカーネルモードソフトウェアの一例である。
The kernel side memory and the user side memory may be either real memory or virtual memory, and the storage areas of the real memory and virtual memory are also referred to as buffers and memory spaces.
Memory mapping is an example of processing for storing an address (control information address) indicating a specific storage area. In memory mapping, a virtual memory address and a real memory address are mainly stored in association with each other. By performing memory mapping, each application can access the real memory using the address of the virtual memory. In the memory mapping described below, an address indicating the storage area of the user-side trace control information 7 (see FIG. 1) and an address (control information address) indicating the storage area of the kernel-side trace control information 6 (see FIG. 1) are obtained. Assume that the data is stored in a storage area of a memory protection unit (MMU) of the system. Here, the address indicating the storage area of the user-side trace control information 7 is associated in the MMU storage area with the control information address indicating the storage area of the kernel-side trace control information 6 by the memory mapping. It is assumed that the control information address indicating the storage area of the kernel side trace control information 6 is included in the storage.
Further, software called an application or application program is an example of user mode software, and the OS is an example of kernel mode software.

コンピュータシステムは、単に、コンピュータまたはシステムともいう。
ソフトウェアプログラムは、単に、ソフトウェアまたはプログラムともいう。
A computer system is also simply referred to as a computer or system.
A software program is also simply referred to as software or a program.

図1は、実施の形態1におけるコンピュータシステム1の構成図である。
図1において、コンピュータシステム1は、組込み機器など、コンピュータシステム1を有する又は使用する機械も意味するものとする。
OS実行部2はメモリ保護機能などの機能を持つOSを実行する。
ユーザモードソフトウェア実行部3は、アプリケーションソフトウェアなどのユーザモードで動作するユーザモードソフトウェアを実行する。
カーネルモードソフトウェア実行部4は、デバイスドライバなどのカーネルモードで動作するカーネルモードソフトウェアを実行する。
カーネル側トレースバッファ5(第1のカーネル側メモリ)はカーネルモードソフトウェア実行部4から出力されたカーネル側トレースデータとユーザモードソフトウェア実行部3から出力されたユーザ側トレースデータとのシステムトレースデータを蓄積する。
カーネル側トレース制御情報6は、トレースデータを蓄積するか否かの情報(以下、蓄積要否フラグとする)を含み、カーネル側メモリ194(第2のカーネル側メモリ)に記憶される。
ユーザ側トレース制御情報7はユーザモードのメモリ空間(ユーザ側メモリ192[第2のユーザ側メモリ])にメモリマッピングされたカーネル側トレース制御情報6(制御情報アドレス)を示す。
カーネル側トレース初期化部8はカーネル側トレース制御情報6を初期化する。
トレース制御情報マップ部9は、カーネル側トレース初期化部8から呼び出され、カーネル側トレース制御情報6をユーザ側トレース制御情報7としてメモリマッピングする。
カーネル側トレース出力部10はカーネル側トレースバッファ5へシステムトレースデータを書き込む。
カーネル側トレース制御部11は、カーネル側トレース制御情報6を参照し、カーネル側トレース出力部10を呼び出すか否かを判断する。
ユーザ側トレース出力代行部12はカーネル側トレースバッファ5へユーザ側トレースデータを書き込むためにカーネル側トレース出力部10を呼び出す。
ユーザ側トレース制御部13は、ユーザ側トレース制御情報7を参照し、ユーザ側トレース出力代行部12を呼び出すか否かを判断する。
FIG. 1 is a configuration diagram of a computer system 1 according to the first embodiment.
In FIG. 1, the computer system 1 also means a machine that has or uses the computer system 1, such as an embedded device.
The OS execution unit 2 executes an OS having functions such as a memory protection function.
The user mode software execution unit 3 executes user mode software that operates in a user mode such as application software.
The kernel mode software execution unit 4 executes kernel mode software that operates in a kernel mode, such as a device driver.
The kernel side trace buffer 5 (first kernel side memory) stores system trace data of the kernel side trace data output from the kernel mode software execution unit 4 and the user side trace data output from the user mode software execution unit 3. To do.
The kernel-side trace control information 6 includes information on whether or not to accumulate trace data (hereinafter referred to as an accumulation necessity flag), and is stored in the kernel-side memory 194 (second kernel-side memory).
User-side trace control information 7 indicates kernel-side trace control information 6 (control information address) that is memory-mapped in a user-mode memory space (user-side memory 192 [second user-side memory]).
The kernel side trace initialization unit 8 initializes the kernel side trace control information 6.
The trace control information map unit 9 is called from the kernel side trace initialization unit 8 and performs memory mapping of the kernel side trace control information 6 as user side trace control information 7.
The kernel side trace output unit 10 writes system trace data to the kernel side trace buffer 5.
The kernel-side trace control unit 11 refers to the kernel-side trace control information 6 and determines whether to call the kernel-side trace output unit 10.
The user side trace output proxy unit 12 calls the kernel side trace output unit 10 to write the user side trace data to the kernel side trace buffer 5.
The user-side trace control unit 13 refers to the user-side trace control information 7 and determines whether or not to call the user-side trace output proxy unit 12.

カーネルモードソフトウェア実行部4、カーネル側トレース制御部11、カーネル側トレース出力部10、トレース制御情報マップ部9およびカーネル側トレース初期化部8は、CPU911を用いて、OSの拡張部であるカーネルモードソフトウェアもしくはOSとは独立したカーネルモードソフトウェアとして実行される。   The kernel mode software execution unit 4, the kernel side trace control unit 11, the kernel side trace output unit 10, the trace control information map unit 9, and the kernel side trace initialization unit 8, using the CPU 911, a kernel mode that is an OS extension unit It is executed as software or kernel mode software independent of the OS.

図2は、実施の形態1におけるコンピュータシステム1のハードウェア資源の一例を示す図である。
図2において、コンピュータシステム1は、プログラムを実行するCPU911(中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
RAM914は、揮発性メモリの一例である。ROM913、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。
通信ボード915は、入出力機器、入出力装置あるいは入出力部の一例である。
FIG. 2 is a diagram illustrating an example of hardware resources of the computer system 1 according to the first embodiment.
2, the computer system 1 includes a CPU 911 (also referred to as a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, or a processor) that executes a program. The CPU 911 is connected to the ROM 913, the RAM 914, the communication board 915, and the magnetic disk device 920 via the bus 912, and controls these hardware devices.
The RAM 914 is an example of a volatile memory. The storage medium of the ROM 913 and the magnetic disk device 920 is an example of a nonvolatile memory. These are examples of a storage device, a storage device, or a storage unit.
The communication board 915 is an example of an input / output device, an input / output device, or an input / output unit.

通信ボード915は、有線または無線で、LAN(Local Area Network)、インターネット、ISDN等のWAN(ワイドエリアネットワーク)、電話回線などの通信網に接続されている。
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、OS921により実行される。
The communication board 915 is wired or wirelessly connected to a communication network such as a LAN (Local Area Network), the Internet, a WAN (Wide Area Network) such as ISDN, and a telephone line.
The magnetic disk device 920 stores an OS 921 (operating system), a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911 and the OS 921.

上記プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態において、「〜部」の機能を実行した際の「〜の判定結果」、「〜の計算結果」、「〜の処理結果」などの結果データ、「〜部」の機能を実行するプログラム間で受け渡しするデータ、その他の情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。例えば、ユーザ側トレース制御情報7、カーネル側トレース制御情報6、システムトレースデータなどが記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、実施の形態において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、磁気ディスク装置920の磁気ディスク、その他の記録媒体に記録される。また、データや信号値は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
The program group 923 stores a program for executing a function described as “˜unit” in the embodiment. The program is read and executed by the CPU 911.
In the file group 924, in the embodiment, result data such as “determination result”, “calculation result of”, “processing result of” when executing the function of “to part”, “to part” The data to be passed between programs that execute the function “,” other information, data, signal values, variable values, and parameters are stored as items “˜file” and “˜database”. The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. For example, user side trace control information 7, kernel side trace control information 6, system trace data, and the like are stored in the recording medium. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.
In addition, arrows in the flowcharts described in the embodiments mainly indicate input / output of data and signals, and the data and signal values are recorded in the memory of the RAM 914, the magnetic disk of the magnetic disk device 920, and other recording media. . Data and signal values are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、実施の形態において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスクやその他の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、トレースデータ蓄積プログラムは、「〜部」としてコンピュータを機能させるものである。あるいは、「〜部」の手順や方法をコンピュータに実行させるものである。   In addition, what is described as “˜unit” in the embodiment may be “˜circuit”, “˜device”, “˜device”, “˜means”, and “˜step”, “˜”. “Procedure” and “˜Process” may be used. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware. Firmware and software are stored as programs on a magnetic disk or other recording medium. The program is read by the CPU 911 and executed by the CPU 911. In other words, the trace data storage program causes the computer to function as “to part”. Alternatively, the procedure or method of “to part” is executed by a computer.

次に、コンピュータシステム1におけるトレースデータ蓄積方法の動作について説明する。
実施の形態1におけるコンピュータシステム1は以下に説明するシステム初期化処理(図3参照)、カーネル側トレース出力処理(図4参照)およびユーザ側トレース出力処理(図5参照)を実行することによりシステムトレースデータの蓄積を行う。
Next, the operation of the trace data storage method in the computer system 1 will be described.
The computer system 1 according to the first embodiment performs system initialization processing (see FIG. 3), kernel-side trace output processing (see FIG. 4), and user-side trace output processing (see FIG. 5) described below. Accumulate trace data.

図3は、実施の形態1におけるコンピュータシステム1が実行するシステム初期化処理を示すフローチャートである。
まずは、コンピュータシステム1がトレース機能を起動する際に実行するシステムの初期化処理の動作について、図3に基づいて以下に説明する。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 3 is a flowchart showing system initialization processing executed by the computer system 1 according to the first embodiment.
First, the operation of the initialization process of the system executed when the computer system 1 activates the trace function will be described below with reference to FIG.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

OS実行部2はシステム起動時もしくはトレース機能利用開始時にカーネル側トレース初期化部8を呼び出す(S100)。
カーネル側トレース初期化部8は、OS実行部2から呼び出されると、カーネル側メモリ194においてカーネル側トレース制御情報6を初期化する(S101)。
また、カーネル側トレース初期化部8はカーネル側トレースバッファ5も初期化する(S102)。
次に、カーネル側トレース初期化部8はトレース制御情報マップ部9を呼び出す(S103)。
トレース制御情報マップ部9は、システム(通常はCPU911)が具備しているメモリ保護ユニットを用いて、もしくはOS実行部2が提供するMMU操作に関するシステムコールを用いて、カーネル側トレース制御情報6をユーザモードのメモリ空間(ユーザ側メモリ192)にユーザ側トレース制御情報7としてメモリマッピングする(S104:制御情報アドレス記憶処理)。
The OS execution unit 2 calls the kernel side trace initialization unit 8 when the system is started or when the use of the trace function is started (S100).
When called from the OS execution unit 2, the kernel side trace initialization unit 8 initializes the kernel side trace control information 6 in the kernel side memory 194 (S101).
The kernel side trace initialization unit 8 also initializes the kernel side trace buffer 5 (S102).
Next, the kernel side trace initialization unit 8 calls the trace control information map unit 9 (S103).
The trace control information map unit 9 uses the memory protection unit provided in the system (usually the CPU 911) or the system call related to the MMU operation provided by the OS execution unit 2 to store the kernel side trace control information 6. Memory mapping is performed as user-side trace control information 7 in a user-mode memory space (user-side memory 192) (S104: control information address storage process).

なお、コンピュータシステム1は、ユーザモードソフトウェアが複数起動されユーザモードソフトウェア毎にメモリ空間を割り当てるなどにより、ユーザモードに複数のメモリ空間が存在する場合、全てのユーザモードソフトウェアで共通に使用するメモリ領域にカーネル側トレース制御情報6をメモリマッピングすればよい。また、コンピュータシステム1は個々のメモリ空間上にカーネル側トレース制御情報6をメモリマッピングしてもよい。なお、OS実行部2によって新たなユーザモードのメモリ空間が生成された場合には、トレース制御情報マップ部9はその都度呼び出され、新たに生成されたメモリ空間に対してもカーネル側トレース制御情報6をメモリマッピングするものとする。   Note that the computer system 1 has a memory area that is commonly used by all user mode software when a plurality of user mode software is activated and a memory space is allocated for each user mode software. Kernel side trace control information 6 may be memory mapped. Further, the computer system 1 may perform memory mapping of the kernel side trace control information 6 on each memory space. When a new user mode memory space is generated by the OS execution unit 2, the trace control information map unit 9 is called each time, and the kernel side trace control information is also generated for the newly generated memory space. 6 is a memory mapping.

図4は、実施の形態1におけるコンピュータシステム1が実行するカーネル側トレース出力処理を示すフローチャートである。
次に、カーネルモードソフトウェアのトレースデータ(カーネル側トレースデータ)を出力する際の動作について、図4に基づいて以下に説明する。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 4 is a flowchart showing kernel-side trace output processing executed by the computer system 1 according to the first embodiment.
Next, the operation when outputting kernel mode software trace data (kernel-side trace data) will be described with reference to FIG.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

カーネルモードソフトウェア実行部4は、カーネルモードソフトウェアの実行に際して発生したカーネル側トレースデータを出力するために、カーネル側トレース制御部11を呼び出す(S111)。
カーネル側トレース制御部11では、カーネル側トレース制御情報6に含まれる蓄積要否フラグを参照してカーネル側トレースデータの蓄積要否を判定する(S112:カーネル側トレース制御処理)。
カーネル側トレースデータを蓄積すると判定した場合、カーネル側トレース制御部11はカーネル側トレース出力部10を呼び出す(S113)。
カーネル側トレース出力部10はカーネル側トレースデータをカーネル側トレースバッファ5に書き込み、カーネルモードソフトウェア実行部4はカーネル側トレース出力処理を終了する。カーネル側トレース出力部10は、カーネル側トレースデータの書き込みを、カーネル側トレースバッファ5において書き込み済みのシステムトレースデータの後ろに行って、システムトレースデータの時系列を確保する(S114:カーネル側トレース出力処理)。
S112において、カーネル側トレースデータを蓄積しないと判定した場合、カーネル側トレース制御部11は呼び出し元であるカーネルモードソフトウェア実行部4に処理を戻し、カーネルモードソフトウェア実行部4はカーネル側トレース出力処理を終了する。
The kernel mode software execution unit 4 calls the kernel side trace control unit 11 in order to output the kernel side trace data generated during the execution of the kernel mode software (S111).
The kernel-side trace control unit 11 determines whether or not kernel-side trace data needs to be stored with reference to the storage necessity flag included in the kernel-side trace control information 6 (S112: kernel-side trace control processing).
When it is determined that the kernel side trace data is to be accumulated, the kernel side trace control unit 11 calls the kernel side trace output unit 10 (S113).
The kernel side trace output unit 10 writes the kernel side trace data to the kernel side trace buffer 5, and the kernel mode software execution unit 4 ends the kernel side trace output process. The kernel-side trace output unit 10 writes the kernel-side trace data after the system trace data that has been written in the kernel-side trace buffer 5 to secure a time series of the system trace data (S114: kernel-side trace output) processing).
If it is determined in S112 that the kernel side trace data is not accumulated, the kernel side trace control unit 11 returns the process to the kernel mode software execution unit 4 that is the caller, and the kernel mode software execution unit 4 performs the kernel side trace output process. finish.

図5は、実施の形態1におけるコンピュータシステム1が実行するユーザ側トレース出力処理を示すフローチャートである。
次に、ユーザモードソフトウェアのトレースデータ(ユーザ側トレースデータ)を出力する際の動作について、図5に基づいて以下に説明する。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 5 is a flowchart showing user-side trace output processing executed by the computer system 1 according to the first embodiment.
Next, the operation when outputting the trace data (user side trace data) of the user mode software will be described with reference to FIG.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

ユーザモードソフトウェア実行部3は、ユーザモードソフトウェアの実行に際して発生したユーザ側トレースデータを出力するために、ユーザ側トレース制御部13を呼び出す(S121)。
ユーザ側トレース制御部13では、ユーザ側メモリ192においてユーザ側トレース制御情報7を参照することにより、ユーザ側トレース制御情報7にメモリマッピングされたカーネル側トレース制御情報6に含まれる蓄積要否フラグを参照する。そして、ユーザ側トレース制御部13は蓄積要否フラグに基づいてユーザ側トレースデータの蓄積要否を判定する(S122:ユーザ側トレース制御処理)。
ユーザ側トレースデータを蓄積すると判定した場合、ユーザ側トレース制御部13はユーザ側トレース出力代行部12を呼び出す(S123)。
ユーザ側トレース出力代行部12は、ユーザ側トレースデータをカーネル側トレースバッファ5に書き込むために、OS実行部2を介してカーネル側トレース出力部10を呼び出す(S124:ユーザ側トレース出力代行処理)。
そして、カーネル側トレース出力部10はユーザ側トレースデータをカーネル側トレースバッファ5に書き込み、ユーザモードソフトウェア実行部3はユーザ側トレース出力処理を終了する。カーネル側トレース出力部10は、ユーザ側トレースデータの書き込みを、カーネル側トレースバッファ5において書き込み済みのシステムトレースデータの後ろに行って、システムトレースデータの時系列を確保する(S125:ユーザ側トレース出力処理)。
S122において、ユーザ側トレースデータを蓄積しないと判定した場合、ユーザ側トレース制御部13は呼び出し元であるユーザモードソフトウェア実行部3に処理を戻し、ユーザモードソフトウェア実行部3はユーザ側トレース出力処理を終了する。
The user mode software execution unit 3 calls the user side trace control unit 13 to output user side trace data generated during the execution of the user mode software (S121).
The user-side trace control unit 13 refers to the user-side trace control information 7 in the user-side memory 192 to set the accumulation necessity flag included in the kernel-side trace control information 6 that is memory-mapped to the user-side trace control information 7. refer. Then, the user side trace control unit 13 determines whether or not the user side trace data needs to be accumulated based on the accumulation necessity flag (S122: user side trace control process).
When it is determined that user-side trace data is to be accumulated, the user-side trace control unit 13 calls the user-side trace output proxy unit 12 (S123).
The user side trace output proxy unit 12 calls the kernel side trace output unit 10 via the OS execution unit 2 in order to write the user side trace data to the kernel side trace buffer 5 (S124: user side trace output proxy process).
Then, the kernel side trace output unit 10 writes the user side trace data to the kernel side trace buffer 5, and the user mode software execution unit 3 ends the user side trace output process. The kernel-side trace output unit 10 writes the user-side trace data after the system trace data already written in the kernel-side trace buffer 5 to secure the time series of the system trace data (S125: user-side trace output) processing).
If it is determined in S122 that the user side trace data is not accumulated, the user side trace control unit 13 returns the process to the user mode software execution unit 3 that is the caller, and the user mode software execution unit 3 performs the user side trace output process. finish.

本実施の形態において、以下の手段を備えたシステムトレースデータ蓄積方式について説明した。
(a)カーネルモードソフトウェアやオペレーティングシステムを動作させるカーネルモード側に具備した、トレースデータ蓄積をするか否かを表す蓄積要否フラグを含むカーネル側トレース制御情報6を、ユーザモードで動作するユーザモードソフトウェアが直接アクセス可能なメモリ空間であるユーザ側メモリ192にメモリマッピングするトレース制御情報マップ部9。
(b)上記トレース制御情報マップ部9によってメモリマッピングされたユーザ側トレース制御情報7を直接参照し、ユーザ側トレースデータの蓄積をするか否かを判断するユーザ側トレース制御部13。
(c)上記ユーザ側トレース制御部13によって蓄積要と判断された場合に呼び出され、カーネル側トレースバッファ5にユーザ側トレースデータを書き込むために、カーネル側トレース出力部10を呼び出すユーザ側トレース出力代行部12。
In the present embodiment, the system trace data storage method including the following means has been described.
(A) User mode in which kernel-side trace control information 6 including an accumulation necessity flag indicating whether or not to accumulate trace data is provided in the kernel mode side for operating kernel mode software and an operating system. A trace control information map unit 9 that performs memory mapping on a user-side memory 192 that is a memory space that can be directly accessed by software.
(B) A user-side trace control unit 13 that directly refers to the user-side trace control information 7 memory-mapped by the trace control information map unit 9 and determines whether to accumulate user-side trace data.
(C) User-side trace output proxy that is called when the user-side trace control unit 13 determines that accumulation is necessary and calls the kernel-side trace output unit 10 to write user-side trace data to the kernel-side trace buffer 5 Part 12.

以上のように本実施の形態によれば、システムで唯一のカーネル側トレースバッファ5にユーザモードソフトウェアとカーネルモードソフトウェアとの双方のトレースデータを発生順に書き込むことにより、システムトレースデータの時系列を維持することができる。
また、本実施の形態では、カーネル側トレース制御情報6をユーザ側トレース制御情報7にメモリマッピングすることによって、カーネル側トレース制御情報6に含まれる蓄積要否フラグをユーザモードから直接参照可能にする。これにより、ユーザ側トレースデータの蓄積要否を判定するためにユーザモードからカーネルモードへ遷移する必要がなくなり、そのオーバヘッドを削減することができる。
また、本実施の形態では、ユーザモードソフトウェアが複数動作中であっても、カーネル側トレース制御情報6の蓄積要否フラグを書き換えるだけで、全てのユーザモードソフトウェアに対してシステムトレースデータの蓄積要否を変更することができる。
As described above, according to the present embodiment, the time series of the system trace data is maintained by writing the trace data of both the user mode software and the kernel mode software in the only kernel side trace buffer 5 in the system in the order of generation. can do.
In the present embodiment, the kernel-side trace control information 6 is memory-mapped to the user-side trace control information 7 so that the accumulation necessity flag included in the kernel-side trace control information 6 can be directly referred to from the user mode. . This eliminates the need to transition from the user mode to the kernel mode in order to determine whether or not the user-side trace data needs to be accumulated, thereby reducing the overhead.
Further, in this embodiment, even when a plurality of user mode softwares are operating, it is necessary to store system trace data for all user mode softwares by simply rewriting the storage necessity flag in the kernel side trace control information 6. No can be changed.

実施の形態2.
以上の実施の形態1では、トレース制御情報マップ部9によりカーネル側トレース制御情報6をユーザ側トレース制御情報7にメモリマッピングする実施形態を示したが、実施の形態2では、メモリマッピングを使わず、カーネル側トレース制御情報6の内容をユーザ側トレース制御情報7に複写する実施形態を示す。
以下、実施の形態1と異なる事項について説明し、説明しない事項は実施の形態1と同様である。
Embodiment 2. FIG.
In the first embodiment described above, an embodiment in which the kernel-side trace control information 6 is memory-mapped to the user-side trace control information 7 by the trace control information map unit 9 is described. However, in the second embodiment, memory mapping is not used. The embodiment of copying the contents of the kernel side trace control information 6 to the user side trace control information 7 will be described.
Hereinafter, items different from the first embodiment will be described, and items not described are the same as those of the first embodiment.

図6は、実施の形態2におけるコンピュータシステム1の構成図である。
図1と同一符号の構成は同一又は相当部分を示す。
FIG. 6 is a configuration diagram of the computer system 1 according to the second embodiment.
The same reference numerals as those in FIG. 1 denote the same or corresponding parts.

図6において、トレース制御情報アドレス表14はユーザ側トレース制御情報7のメモリアドレスを1つもしくは複数有し、カーネル側メモリ195に格納される。
トレース制御情報複写部15は、トレース制御情報アドレス表14をもとに、カーネル側トレース制御情報6をユーザ側トレース制御情報7に複写する。
トレース制御情報変更部16はカーネル側トレース制御情報6を変更する機能とカーネル側トレース制御情報6を変更したことをトレース制御情報複写部15に通知する機能とを具備する。
トレース制御情報アドレス登録部17はトレース制御情報アドレス表14にユーザ側トレース制御情報7のメモリアドレスを登録する。
ユーザ側トレース初期化部18はユーザモードソフトウェア実行部3がユーザ側トレース制御部13を呼び出す前に実行される。
In FIG. 6, the trace control information address table 14 has one or more memory addresses of the user side trace control information 7 and is stored in the kernel side memory 195.
The trace control information copying unit 15 copies the kernel side trace control information 6 to the user side trace control information 7 based on the trace control information address table 14.
The trace control information changing unit 16 has a function of changing the kernel side trace control information 6 and a function of notifying the trace control information copying unit 15 that the kernel side trace control information 6 has been changed.
The trace control information address registration unit 17 registers the memory address of the user side trace control information 7 in the trace control information address table 14.
The user side trace initialization unit 18 is executed before the user mode software execution unit 3 calls the user side trace control unit 13.

トレース制御情報複写部15、トレース制御情報変更部16およびトレース制御情報アドレス登録部17は、CPU911を用いて、OSの拡張部であるカーネルモードソフトウェアもしくはOSとは独立したカーネルモードソフトウェアとして実行される。   The trace control information copying unit 15, the trace control information changing unit 16, and the trace control information address registering unit 17 are executed using the CPU 911 as kernel mode software that is an OS expansion unit or as kernel mode software independent of the OS. .

次に、コンピュータシステム1におけるトレースデータ蓄積方法の動作について説明する。
まずは、コンピュータシステム1がトレース機能を起動する際に実行するシステムの初期化処理の動作について説明する。コンピュータシステム1は以下に説明するカーネルモード初期化処理(図7参照)およびユーザモードソフトウェア初期化処理(図8参照)を実行することによりシステムの初期化を行う。
Next, the operation of the trace data storage method in the computer system 1 will be described.
First, an operation of a system initialization process executed when the computer system 1 starts the trace function will be described. The computer system 1 initializes the system by executing a kernel mode initialization process (see FIG. 7) and a user mode software initialization process (see FIG. 8) described below.

図7は、実施の形態2におけるコンピュータシステム1が実行するカーネルモード初期化処理を示すフローチャートである。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 7 is a flowchart illustrating kernel mode initialization processing executed by the computer system 1 according to the second embodiment.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

OS実行部2はシステム起動時もしくはトレース機能利用開始時にカーネル側トレース初期化部8を呼び出す(S200)。
カーネル側トレース初期化部8は、OS実行部2から呼び出されると、カーネル側トレース制御情報6を初期化する(S201)。
また、カーネル側トレース初期化部8はカーネル側トレースバッファ5も初期化する(S202)。
さらに、カーネル側トレース初期化部8はトレース制御情報アドレス表14も初期化する(S203)。
The OS execution unit 2 calls the kernel side trace initialization unit 8 when the system is started or when the use of the trace function is started (S200).
When called from the OS execution unit 2, the kernel side trace initialization unit 8 initializes the kernel side trace control information 6 (S201).
The kernel side trace initialization unit 8 also initializes the kernel side trace buffer 5 (S202).
Further, the kernel side trace initialization unit 8 also initializes the trace control information address table 14 (S203).

図8は、実施の形態2におけるコンピュータシステム1が実行するユーザモードソフトウェア初期化処理を示すフローチャートである。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 8 is a flowchart showing user mode software initialization processing executed by the computer system 1 according to the second embodiment.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

ユーザモードソフトウェア実行部3は、ユーザ側トレースデータの蓄積を開始する際、ユーザ側トレース制御部13を呼び出す前に一度、ユーザ側トレース初期化部18を呼び出す(S211)。
ユーザ側トレース初期化部18は、動作中のユーザモードソフトウェアの各々に対して、ユーザ側トレース制御情報7に使用するメモリをユーザ側メモリ192に確保し、確保したメモリにおいてユーザ側トレース制御情報7の初期化を行う(S212)。
次に、ユーザ側トレース初期化部18は、OS実行部2を介して、全てのユーザ側トレース制御情報7のメモリアドレスをトレース制御情報アドレス登録部17に通知する(S213)。
トレース制御情報アドレス登録部17は通知されたユーザ側トレース制御情報7のメモリアドレスをトレース制御情報アドレス表14に加える(S214)。
次に、トレース制御情報アドレス登録部17はトレース制御情報複写部15を呼び出す(S215)。
トレース制御情報複写部15はトレース制御情報アドレス表14を参照する(S216)。
そして、トレース制御情報複写部15は、トレース制御情報アドレス表14に登録されたすべてのメモリアドレスについて、ユーザ側トレース制御情報7にカーネル側トレース制御情報6を複写する(S217:ユーザ側トレース制御情報記憶処理)。
When starting the accumulation of user side trace data, the user mode software execution unit 3 calls the user side trace initialization unit 18 once before calling the user side trace control unit 13 (S211).
The user-side trace initialization unit 18 secures the memory used for the user-side trace control information 7 in the user-side memory 192 for each user mode software being operated, and the user-side trace control information 7 in the secured memory. Is initialized (S212).
Next, the user side trace initialization unit 18 notifies the trace control information address registration unit 17 of the memory addresses of all user side trace control information 7 via the OS execution unit 2 (S213).
The trace control information address registration unit 17 adds the notified memory address of the user side trace control information 7 to the trace control information address table 14 (S214).
Next, the trace control information address registration unit 17 calls the trace control information copying unit 15 (S215).
The trace control information copying unit 15 refers to the trace control information address table 14 (S216).
Then, the trace control information copying unit 15 copies the kernel side trace control information 6 to the user side trace control information 7 for all the memory addresses registered in the trace control information address table 14 (S217: user side trace control information). Amnestic processing).

なお、ユーザモードソフトウェアが終了する際には、ユーザモードソフトウェア実行部3はユーザ側トレース初期化部18を介して当該ユーザ側トレース制御情報7に使用したメモリを解放し、トレース制御情報アドレス登録部17を介してトレース制御情報アドレス表14に登録された当該ユーザ側トレース制御情報7のメモリアドレスを削除するものとする。
また、新たにユーザモードソフトウェアを起動する際には、コンピュータシステム1は新たに起動したユーザモードソフトウェアについて、上記処理(S211〜S217)を実行するものとする。
When the user mode software is terminated, the user mode software execution unit 3 releases the memory used for the user side trace control information 7 via the user side trace initialization unit 18, and the trace control information address registration unit. The memory address of the user side trace control information 7 registered in the trace control information address table 14 via 17 is deleted.
Further, when the user mode software is newly activated, the computer system 1 performs the above-described processing (S211 to S217) for the newly activated user mode software.

カーネルモードソフトウェアのトレースデータを出力する際の動作(カーネル側トレース出力処理)については、実施の形態1(図4)と同じであるため、説明を省略する。   The operation (kernel-side trace output processing) at the time of outputting the trace data of the kernel mode software is the same as that of the first embodiment (FIG. 4), and thus the description thereof is omitted.

ユーザモードソフトウェアのトレースデータを出力する際の動作(ユーザ側トレース出力処理)についても、実施の形態1(図5)と同じであるため、説明を省略する。   Since the operation (user side trace output processing) when outputting the trace data of the user mode software is the same as that of the first embodiment (FIG. 5), the description is omitted.

図9は、実施の形態2におけるコンピュータシステム1が実行するユーザ側トレース制御情報更新処理を示すフローチャートである。
次に、ユーザモードソフトウェアの実行中におけるシステムトレースデータの蓄積要否の変更について、図9に基づいて以下に説明する。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 9 is a flowchart showing user side trace control information update processing executed by the computer system 1 according to the second embodiment.
Next, a change in necessity of accumulating system trace data during execution of user mode software will be described with reference to FIG.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

システムトレースデータの蓄積要否を変更する際、カーネルモードソフトウェア実行部4はカーネル側トレース制御部11を呼び出す(S221)。
カーネル側トレース制御部11はトレース制御情報変更部16を呼び出す(S222)。
トレース制御情報変更部16はカーネル側トレース制御情報6のシステムトレースデータの蓄積要否フラグを書き換える(S223)。
次に、トレース制御情報変更部16はトレース制御情報複写部15を呼び出す(S224)。
トレース制御情報複写部15はトレース制御情報アドレス表14を参照する(S225)。
そして、トレース制御情報複写部15は、トレース制御情報アドレス表14に登録されたすべてのメモリアドレスについて、ユーザ側トレース制御情報7にカーネル側トレース制御情報6を複写する(S226:トレース制御情報複写処理)。
When changing whether or not to accumulate system trace data, the kernel mode software execution unit 4 calls the kernel side trace control unit 11 (S221).
The kernel side trace control unit 11 calls the trace control information change unit 16 (S222).
The trace control information changing unit 16 rewrites the system trace data accumulation necessity flag of the kernel side trace control information 6 (S223).
Next, the trace control information changing unit 16 calls the trace control information copying unit 15 (S224).
The trace control information copying unit 15 refers to the trace control information address table 14 (S225).
Then, the trace control information copying unit 15 copies the kernel side trace control information 6 to the user side trace control information 7 for all the memory addresses registered in the trace control information address table 14 (S226: Trace control information copy processing). ).

本実施の形態において、以下の手段を備えたシステムトレースデータ蓄積方式について説明した。
(a)蓄積要否フラグを含むトレース制御情報を、ユーザモードのメモリ空間であるユーザ側メモリ192に確保して初期化し、そのユーザ側メモリ192のメモリアドレスをトレース制御情報アドレス登録部17に通知するユーザ側トレース初期化部18。
(b)上記ユーザ側トレース初期化部18によって確保・初期化されたユーザ側トレース制御情報7を直接参照し、ユーザ側トレースデータの蓄積をするか否かを判断するユーザ側トレース制御部13。
(c)上記ユーザ側トレース制御部13によって蓄積要と判断された場合に呼び出され、カーネル側トレースバッファ5にユーザ側トレースデータを書き込むために、カーネル側トレース出力部10を呼び出すユーザ側トレース出力代行部12。
(d)ユーザ側トレース初期化部18から通知されたユーザ側トレース制御情報7のメモリアドレスをトレース制御情報アドレス表14に登録するトレース制御情報アドレス登録部17。
(e)カーネル側トレース制御情報6を変更する機能を具備し、変更したことをトレース制御情報複写部15に通知するトレース制御情報変更部16。
(f)トレース制御情報アドレス登録部17によってトレース制御情報アドレス表14が変更された時や、トレース制御情報変更部16によってカーネル側トレース制御情報6が変更された時に呼び出され、カーネル側トレース制御情報6をトレース制御情報アドレス表14に記載のメモリアドレス先のメモリに複写するトレース制御情報複写部15。
In the present embodiment, the system trace data storage method including the following means has been described.
(A) The trace control information including the accumulation necessity flag is secured and initialized in the user side memory 192 which is a memory space in the user mode, and the memory address of the user side memory 192 is notified to the trace control information address registration unit 17. A user-side trace initialization unit 18 for
(B) A user-side trace control unit 13 that directly refers to the user-side trace control information 7 secured and initialized by the user-side trace initialization unit 18 and determines whether to accumulate user-side trace data.
(C) User-side trace output proxy that is called when the user-side trace control unit 13 determines that accumulation is necessary and calls the kernel-side trace output unit 10 to write user-side trace data to the kernel-side trace buffer 5 Part 12.
(D) A trace control information address registration unit 17 that registers the memory address of the user side trace control information 7 notified from the user side trace initialization unit 18 in the trace control information address table 14.
(E) A trace control information changing unit 16 that has a function of changing the kernel-side trace control information 6 and notifies the trace control information copying unit 15 of the change.
(F) Called when the trace control information address table 14 is changed by the trace control information address registration unit 17 or when the kernel side trace control information 6 is changed by the trace control information change unit 16, and the kernel side trace control information is called. A trace control information copying unit 15 for copying 6 to the memory address destination memory described in the trace control information address table 14;

以上のように本実施の形態によれば、システムで唯一のカーネル側トレースバッファ5にユーザモードソフトウェアとカーネルモードソフトウェアとの双方のトレースデータを発生順に書き込むことにより、システムトレースデータの時系列を維持することができる。
また、本実施の形態では、カーネル側トレース制御情報6をユーザ側トレース制御情報7に複写することによって、カーネル側トレース制御情報6に含まれる蓄積フラグをユーザモードから直接参照可能にする。これにより、MMUを直接操作するとOSとの間で不都合が生じる場合やOSがMMU操作に関するシステムコールを提供していない場合などにおいても、ユーザ側トレースデータの蓄積要否を判定するためにユーザモードからカーネルモードへ遷移する必要がなくなり、そのオーバヘッドを削減することができる。
また、本実施の形態では、新たに動作させたユーザモードソフトウェアについてもユーザ側トレースデータを時系列に蓄積することができ、ユーザモードソフトウェアの動作中にシステムトレースデータの蓄積要否を変更することができる。
As described above, according to the present embodiment, the time series of the system trace data is maintained by writing the trace data of both the user mode software and the kernel mode software in the only kernel side trace buffer 5 in the system in the order of generation. can do.
In the present embodiment, the kernel side trace control information 6 is copied to the user side trace control information 7 so that the accumulation flag included in the kernel side trace control information 6 can be directly referred to from the user mode. As a result, the user mode is used to determine whether or not the user-side trace data needs to be stored even when there is a problem with the OS when the MMU is directly operated, or when the OS does not provide a system call related to the MMU operation. It is no longer necessary to make a transition from the kernel mode to the kernel mode, and the overhead can be reduced.
In this embodiment, user-side trace data can also be accumulated in time series for newly operated user mode software, and the necessity of accumulating system trace data can be changed during the operation of user mode software. Can do.

実施の形態3.
以上の実施の形態1では、カーネル側トレースデータとユーザ側トレースデータとを蓄積する領域としてカーネル側トレースバッファ5を唯一具備することによりシステムトレースデータの時系列を維持する実施形態を示したが、実施の形態3では、カーネル側トレースバッファ5と1つのユーザ側トレースバッファとを具備してシステムトレースデータの時系列を維持する実施形態を示す。
以下、実施の形態1と異なる事項について説明し、説明しない事項は実施の形態1と同様である。
Embodiment 3 FIG.
In the first embodiment described above, the embodiment has been described in which the time series of the system trace data is maintained by only including the kernel side trace buffer 5 as an area for storing the kernel side trace data and the user side trace data. In the third embodiment, a kernel trace buffer 5 and one user trace buffer are provided to maintain a time series of system trace data.
Hereinafter, items different from the first embodiment will be described, and items not described are the same as those of the first embodiment.

図10は、実施の形態3におけるコンピュータシステム1の構成図である。
図1、図6と同一符号の構成は同一又は相当部分を示す。
FIG. 10 is a configuration diagram of the computer system 1 according to the third embodiment.
1 and 6 denote the same or corresponding parts.

図10において、ユーザ側トレースバッファ19(第1のユーザ側メモリ)はユーザモードソフトウェア実行部3から出力されたユーザ側トレースデータを蓄積する。
ユーザ側トレース出力部20はユーザ側トレースバッファ19へユーザ側トレースデータを書き込む。
トレースデータ移動部21はユーザ側トレースバッファ19からユーザ側トレースデータを取得し、取得したユーザ側トレースデータをカーネル側トレースバッファ5に書き込む。
In FIG. 10, the user side trace buffer 19 (first user side memory) stores user side trace data output from the user mode software execution unit 3.
The user side trace output unit 20 writes the user side trace data to the user side trace buffer 19.
The trace data moving unit 21 acquires user side trace data from the user side trace buffer 19 and writes the acquired user side trace data to the kernel side trace buffer 5.

トレースデータ移動部21は、CPU911を用いて、OSの拡張部であるカーネルモードソフトウェアもしくはOSとは独立したカーネルモードソフトウェアとして実行される。   The trace data moving unit 21 is executed using the CPU 911 as kernel mode software that is an OS extension unit or kernel mode software independent of the OS.

次に、コンピュータシステム1におけるトレースデータ蓄積方法の動作について説明する。
図11は、実施の形態3におけるコンピュータシステム1が実行するシステム初期化処理を示すフローチャートである。
まずは、コンピュータシステム1がトレース機能を起動する際に実行するシステムの初期化処理の動作について、図11に基づいて以下に説明する。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
Next, the operation of the trace data storage method in the computer system 1 will be described.
FIG. 11 is a flowchart illustrating system initialization processing executed by the computer system 1 according to the third embodiment.
First, the operation of the initialization process of the system executed when the computer system 1 activates the trace function will be described below with reference to FIG.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

<カーネルモード初期化処理:S300〜S304>
OS実行部2はシステム起動時もしくはトレース機能利用開始時にカーネル側トレース初期化部8を呼び出す(S300)。
カーネル側トレース初期化部8は、OS実行部2から呼び出されると、カーネル側トレース制御情報6を初期化する(S301)。
また、カーネル側トレース初期化部8はカーネル側トレースバッファ5も初期化する(S302)。
次に、カーネル側トレース初期化部8はトレース制御情報マップ部9を呼び出す(S303)。
トレース制御情報マップ部9は、システム(通常はCPU911)が具備しているメモリ保護ユニット(MMU)を用いて、もしくはOS実行部2が提供するMMU操作に関するシステムコールを用いて、カーネル側トレース制御情報6をユーザモードのメモリ空間(ユーザ側メモリ192)にメモリマッピングする(S304:制御情報アドレス記憶処理)。
<ユーザモード初期化処理:S311〜S314>
次に、ユーザモードソフトウェア実行部3は、ユーザ側トレースデータの蓄積を開始する際、ユーザ側トレース制御部13を呼び出す前に一度、ユーザ側トレース初期化部18を呼び出す(S311)。
ユーザ側トレース初期化部18はユーザ側トレースバッファ19のメモリ確保・初期化を行う(S312)。
次に、ユーザ側トレース初期化部18は、OS実行部2を介して、ユーザ側トレースバッファ19のメモリアドレスをトレースデータ移動部21に通知する(S313)。
トレースデータ移動部21は通知されたユーザ側トレースバッファ19のメモリアドレスを記憶する(S314)。
<Kernel mode initialization processing: S300 to S304>
The OS execution unit 2 calls the kernel side trace initialization unit 8 when the system is started or when the use of the trace function is started (S300).
When called from the OS execution unit 2, the kernel side trace initialization unit 8 initializes the kernel side trace control information 6 (S301).
The kernel side trace initialization unit 8 also initializes the kernel side trace buffer 5 (S302).
Next, the kernel side trace initialization unit 8 calls the trace control information map unit 9 (S303).
The trace control information map unit 9 uses the memory protection unit (MMU) included in the system (usually the CPU 911) or the system call related to the MMU operation provided by the OS execution unit 2 to perform kernel-side trace control. The information 6 is subjected to memory mapping in the user mode memory space (user side memory 192) (S304: control information address storage process).
<User mode initialization processing: S311 to S314>
Next, when starting the accumulation of the user side trace data, the user mode software execution unit 3 calls the user side trace initialization unit 18 once before calling the user side trace control unit 13 (S311).
The user side trace initialization unit 18 secures and initializes the memory of the user side trace buffer 19 (S312).
Next, the user side trace initialization unit 18 notifies the trace data moving unit 21 of the memory address of the user side trace buffer 19 via the OS execution unit 2 (S313).
The trace data moving unit 21 stores the notified memory address of the user side trace buffer 19 (S314).

図12は、実施の形態3におけるコンピュータシステム1が実行するカーネル側トレース出力処理を示すフローチャートである。
次に、カーネルモードソフトウェアのトレースデータ(カーネル側トレースデータ)を出力する際の動作について、図12に基づいて以下に説明する。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 12 is a flowchart illustrating kernel-side trace output processing executed by the computer system 1 according to the third embodiment.
Next, the operation for outputting the kernel mode software trace data (kernel-side trace data) will be described with reference to FIG.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

カーネルモードソフトウェア実行部4は、カーネルモードソフトウェアの実行に際して発生したカーネル側トレースデータを出力するために、カーネル側トレース制御部11を呼び出す(S321)。
カーネル側トレース制御部11では、カーネル側トレース制御情報6に含まれる蓄積要否フラグを参照してカーネル側トレースデータの蓄積要否を判定する(S322:カーネル側トレース制御処理)。
カーネル側トレースデータを蓄積すると判定した場合、カーネル側トレース制御部11はトレースデータ移動部21を呼び出す(S323)。
トレースデータ移動部21は、S314で記憶したメモリアドレスが示すユーザ側トレースバッファ19からその時点で蓄積完了したユーザ側トレースデータを取得する(S324)。
そして、トレースデータ移動部21は取得したユーザ側トレースデータをカーネル側トレースバッファ5へ書き込む。トレースデータ移動部21は、ユーザ側トレースデータの書き込みを、カーネル側トレースバッファ5において書き込み済みのシステムトレースデータの後ろに行って、システムトレースデータの時系列を確保する(S325:ユーザ側トレースデータ移動処理)。
その後、カーネル側トレース制御部11はカーネル側トレース出力部10を呼び出す(S326)。
そして、カーネル側トレース出力部10はカーネル側トレースデータをカーネル側トレースバッファ5に書き込み、カーネルモードソフトウェア実行部4はカーネル側トレース出力処理を終了する。カーネル側トレース出力部10は、カーネル側トレースデータの書き込みを、カーネル側トレースバッファ5において書き込み済みのシステムトレースデータの後ろに行って、システムトレースデータの時系列を確保する(S327:カーネル側トレース出力処理)。
S322において、カーネル側トレースデータを蓄積しないと判定した場合、カーネル側トレース制御部11は呼び出し元であるカーネルモードソフトウェア実行部4に処理を戻し、カーネルモードソフトウェア実行部4はカーネル側トレース出力処理を終了する。
The kernel mode software execution unit 4 calls the kernel side trace control unit 11 to output the kernel side trace data generated during the execution of the kernel mode software (S321).
The kernel-side trace control unit 11 determines whether or not kernel-side trace data needs to be stored with reference to the storage necessity flag included in the kernel-side trace control information 6 (S322: kernel-side trace control processing).
When it is determined that the kernel side trace data is to be accumulated, the kernel side trace control unit 11 calls the trace data moving unit 21 (S323).
The trace data moving unit 21 acquires the user-side trace data accumulated at that time from the user-side trace buffer 19 indicated by the memory address stored in S314 (S324).
Then, the trace data moving unit 21 writes the acquired user side trace data to the kernel side trace buffer 5. The trace data moving unit 21 writes the user-side trace data after the system trace data already written in the kernel-side trace buffer 5 to secure the time series of the system trace data (S325: user-side trace data movement) processing).
Thereafter, the kernel side trace control unit 11 calls the kernel side trace output unit 10 (S326).
Then, the kernel side trace output unit 10 writes the kernel side trace data in the kernel side trace buffer 5, and the kernel mode software execution unit 4 ends the kernel side trace output process. The kernel-side trace output unit 10 writes the kernel-side trace data after the system trace data that has been written in the kernel-side trace buffer 5 to secure the time series of the system trace data (S327: kernel-side trace output) processing).
If it is determined in S322 that the kernel side trace data is not accumulated, the kernel side trace control unit 11 returns the process to the kernel mode software execution unit 4 that is the caller, and the kernel mode software execution unit 4 performs the kernel side trace output process. finish.

図13は、実施の形態3におけるコンピュータシステム1が実行するユーザ側トレース出力処理を示すフローチャートである。
次に、ユーザモードソフトウェアのトレースデータ(ユーザ側トレースデータ)を出力する際の動作について、図13に基づいて以下に説明する。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 13 is a flowchart illustrating user-side trace output processing executed by the computer system 1 according to the third embodiment.
Next, the operation when outputting the trace data (user side trace data) of the user mode software will be described with reference to FIG.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

ユーザモードソフトウェア実行部3は、ユーザモードソフトウェアの実行に際して発生したユーザ側トレースデータを出力するために、ユーザ側トレース制御部13を呼び出す(S331)。
ユーザ側トレース制御部13では、ユーザ側トレース制御情報7にメモリマッピングされたカーネル側トレース制御情報6に含まれる蓄積要否フラグを参照してユーザ側トレースデータの蓄積要否を判定する(S332:ユーザ側トレース制御処理)。
ユーザ側トレースデータを蓄積すると判定した場合、ユーザ側トレース制御部13はユーザ側トレース出力部20を呼び出す(S333)。
ユーザ側トレース出力部20はユーザ側トレースデータをユーザ側トレースバッファ19に書き込む。ユーザ側トレース出力部20は、ユーザ側トレースデータの書き込みを、ユーザ側トレースバッファ19において書き込み済みのユーザ側トレースデータの後ろに行って、ユーザ側トレースデータの時系列を確保する(S334:ユーザ側トレース出力処理)。
S332において、ユーザ側トレースデータを蓄積しないと判定した場合、ユーザ側トレース制御部13は呼び出し元であるユーザモードソフトウェア実行部3に処理を戻し、ユーザモードソフトウェア実行部3はユーザ側トレース出力処理を終了する。
The user mode software execution unit 3 calls the user side trace control unit 13 in order to output user side trace data generated during the execution of the user mode software (S331).
The user-side trace control unit 13 determines whether or not user-side trace data needs to be stored with reference to the storage necessity flag included in the kernel-side trace control information 6 memory-mapped to the user-side trace control information 7 (S332: User side trace control processing).
When it is determined that user-side trace data is to be accumulated, the user-side trace control unit 13 calls the user-side trace output unit 20 (S333).
The user side trace output unit 20 writes the user side trace data in the user side trace buffer 19. The user-side trace output unit 20 writes user-side trace data after the user-side trace data already written in the user-side trace buffer 19 to secure a time series of user-side trace data (S334: user-side) Trace output processing).
In S332, when it is determined that the user side trace data is not accumulated, the user side trace control unit 13 returns the process to the user mode software execution unit 3 that is the caller, and the user mode software execution unit 3 performs the user side trace output process. finish.

なお、ユーザモードソフトウェアが終了する際には、ユーザモードソフトウェア実行部3は、ユーザ側トレース初期化部18を介して、ユーザ側トレースバッファ19を解放し、トレースデータ移動部21に記憶されているユーザ側トレースバッファ19のメモリアドレスを無効にする。また、ユーザ側トレース初期化部18は、ユーザ側トレースバッファ19を解放する前に,OS実行部2を介してトレースデータ移動部21に通知することで,ユーザ側トレースバッファ19に残存するトレースデータをカーネル側トレースバッファ5に移動することができる。
また、S325において、トレースデータ移動部21は、ユーザ側トレースバッファ19のメモリアドレスが未通知または無効な場合、何も処理を行わない。
When the user mode software is terminated, the user mode software execution unit 3 releases the user side trace buffer 19 via the user side trace initialization unit 18 and is stored in the trace data moving unit 21. The memory address of the user side trace buffer 19 is invalidated. Further, the user side trace initialization unit 18 notifies the trace data moving unit 21 via the OS execution unit 2 before releasing the user side trace buffer 19, thereby remaining the trace data remaining in the user side trace buffer 19. Can be moved to the kernel-side trace buffer 5.
In S325, when the memory address of the user side trace buffer 19 is not notified or invalid, the trace data moving unit 21 performs no processing.

上記の説明ではコンピュータシステム1はユーザ側トレースデータの蓄積要否の判定を、実施の形態1と同様に、カーネル側トレース制御情報6をメモリマッピングしたユーザ側トレース制御情報7を使用しているが、コンピュータシステム1は、実施の形態2と同様に、カーネル側トレース制御情報6を複製したユーザ側トレース制御情報7を使用してもよい。   In the above description, the computer system 1 uses the user-side trace control information 7 obtained by mapping the kernel-side trace control information 6 in the same manner as in the first embodiment to determine whether or not the user-side trace data needs to be stored. Similarly to the second embodiment, the computer system 1 may use the user side trace control information 7 obtained by copying the kernel side trace control information 6.

本実施の形態において、以下の手段を備えたシステムトレースデータ蓄積方式について説明した。
(a)ユーザ側トレースバッファ19をユーザモードのメモリ空間に確保して初期化し、そのユーザ側トレースバッファ19のメモリアドレスをトレースデータ移動部21に通知するユーザ側トレース初期化部18。
(b)カーネルモードソフトウェア実行部4から呼び出された時、トレースデータ移動部21を呼び出した後、カーネル側トレース出力部10を呼び出すカーネル側トレース制御部11。
(c)カーネル側トレース制御部11から呼び出され、事前にユーザ側トレース初期化部18から通知されたユーザ側トレースバッファ19から蓄積済みのユーザ側トレースデータを取得し、カーネル側トレースバッファ5に書込みを行うトレースデータ移動部21。
In the present embodiment, the system trace data storage method including the following means has been described.
(A) A user-side trace initialization unit 18 that secures and initializes the user-side trace buffer 19 in a user-mode memory space and notifies the trace data moving unit 21 of the memory address of the user-side trace buffer 19.
(B) When called from the kernel mode software execution unit 4, the kernel side trace control unit 11 calls the kernel side trace output unit 10 after calling the trace data moving unit 21.
(C) Acquired accumulated user-side trace data from the user-side trace buffer 19 called from the kernel-side trace control unit 11 and notified in advance from the user-side trace initialization unit 18, and writes it to the kernel-side trace buffer 5 A trace data moving unit 21 for performing

以上のように本実施の形態によれば、カーネルモードソフトウェアのトレースデータをカーネル側トレースバッファ5に書き込む前に、それまでに蓄積されたユーザモードソフトウェアのトレースデータをカーネル側トレースバッファ5に書き込むことにより、システムトレースデータの時系列を維持することができる。
また、本実施の形態では、ユーザ側トレースデータの蓄積要否を判定するためにユーザモードからカーネルモードへ遷移する必要がなくなり、そのオーバヘッドを削減することができる。
また、本実施の形態では、カーネル側トレースデータが発生する間、ユーザ側トレースデータをユーザ側トレースバッファ19に蓄積することで、ユーザ側トレースデータの発生の度にユーザモードからカーネルモードへ遷移する必要がなくなり、そのオーバヘッドを削減することができる。
また、本実施の形態において、ユーザ側トレースバッファ19の領域に空きがなくなった場合にユーザ側トレース出力部20がユーザ側トレースバッファ19の領域不足をトレースデータ移動部21に通知し、通知を受けたトレースデータ移動部21がユーザ側トレースバッファ19からカーネル側トレースバッファ5にユーザ側トレースデータを移動させることにより、領域不足でユーザ側トレースバッファ19にユーザ側トレースデータを書き込めなくなることを防ぐことができる。
As described above, according to the present embodiment, before the trace data of kernel mode software is written in the kernel side trace buffer 5, the user mode software trace data accumulated so far is written in the kernel side trace buffer 5. Thus, the time series of the system trace data can be maintained.
Further, in the present embodiment, it is not necessary to shift from the user mode to the kernel mode in order to determine whether or not the user side trace data needs to be accumulated, and the overhead can be reduced.
In this embodiment, while the kernel-side trace data is generated, the user-side trace data is accumulated in the user-side trace buffer 19 so that the user mode is changed to the kernel mode every time the user-side trace data is generated. This is unnecessary, and the overhead can be reduced.
Also, in this embodiment, when there is no more space in the user-side trace buffer 19, the user-side trace output unit 20 notifies the trace data moving unit 21 of the shortage of the user-side trace buffer 19 area. The trace data moving unit 21 moves the user side trace data from the user side trace buffer 19 to the kernel side trace buffer 5, thereby preventing the user side trace data from being unable to be written to the user side trace buffer 19 due to insufficient area. it can.

実施の形態4.
以上の実施の形態3では、システムトレースデータを蓄積する領域としてカーネル側トレースバッファ5とユーザ側トレースバッファ19とを各々1つずつ具備する実施形態を示したが、実施の形態4では、カーネル側トレースバッファ5と、1つもしくは複数のユーザ側トレースバッファとを具備する実施形態を示す。
また、実施の形態3では、カーネル側トレースデータの発生の際、カーネル側トレースデータの蓄積前に、ユーザ側トレースバッファ19に蓄積されているユーザ側トレースデータをカーネル側トレースバッファ5に移動することにより、システムトレースデータの時系列を維持する実施形態を示した。実施の形態4では、ユーザモードからカーネルモードへの遷移の際、カーネル側トレースデータの発生前に、ユーザ側トレースバッファ19に蓄積されているユーザ側トレースデータをカーネル側トレースバッファ5に移動することにより、システムトレースデータの時系列を維持する実施形態を示す。
以下、実施の形態1と異なる事項について説明し、説明しない事項については実施の形態1と同様である。
Embodiment 4 FIG.
In the above-described third embodiment, an embodiment in which one kernel-side trace buffer 5 and one user-side trace buffer 19 are provided as areas for accumulating system trace data has been described. An embodiment comprising a trace buffer 5 and one or more user side trace buffers is shown.
In the third embodiment, when the kernel-side trace data is generated, the user-side trace data stored in the user-side trace buffer 19 is moved to the kernel-side trace buffer 5 before the kernel-side trace data is stored. Thus, an embodiment for maintaining a time series of system trace data has been shown. In the fourth embodiment, at the time of transition from the user mode to the kernel mode, the user side trace data stored in the user side trace buffer 19 is moved to the kernel side trace buffer 5 before the generation of the kernel side trace data. Shows an embodiment for maintaining a time series of system trace data.
Hereinafter, items different from the first embodiment will be described, and items not described are the same as those of the first embodiment.

図14は、実施の形態4におけるコンピュータシステム1の構成図である。
図1、図6、図10と同一符号は同一又は相当部分を示す。
FIG. 14 is a configuration diagram of the computer system 1 according to the fourth embodiment.
1, 6, and 10 indicate the same or corresponding parts.

図14において、トレースバッファアドレス表23はユーザ側トレースバッファ19のメモリアドレスを1つもしくは複数有し、カーネル側メモリ196に格納される。
トレースバッファアドレス登録部22はトレースバッファアドレス表23にユーザ側トレースバッファ19のメモリアドレスを登録する。
In FIG. 14, the trace buffer address table 23 has one or more memory addresses of the user side trace buffer 19 and is stored in the kernel side memory 196.
The trace buffer address registration unit 22 registers the memory address of the user side trace buffer 19 in the trace buffer address table 23.

トレースバッファアドレス登録部22は、CPU911を用いて、OSの拡張部であるカーネルモードソフトウェアもしくはOSとは独立したカーネルモードソフトウェアとして実行される。   Using the CPU 911, the trace buffer address registration unit 22 is executed as kernel mode software that is an extension unit of the OS or kernel mode software independent of the OS.

次に、コンピュータシステム1におけるトレースデータ蓄積方法の動作について説明する。
まずは、コンピュータシステム1がトレース機能を起動する際に実行するシステムの初期化処理の動作について説明する。コンピュータシステム1は以下に説明するカーネルモード初期化処理(図15参照)およびユーザモードソフトウェア初期化処理(図16参照)を実行することによりシステムの初期化を行う。
Next, the operation of the trace data storage method in the computer system 1 will be described.
First, an operation of a system initialization process executed when the computer system 1 starts the trace function will be described. The computer system 1 initializes the system by executing a kernel mode initialization process (see FIG. 15) and a user mode software initialization process (see FIG. 16) described below.

図15は、実施の形態4におけるコンピュータシステム1が実行するカーネルモード初期化処理を示すフローチャートである。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 15 is a flowchart illustrating kernel mode initialization processing executed by the computer system 1 according to the fourth embodiment.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

OS実行部2はシステム起動時もしくはトレース機能利用開始時にカーネル側トレース初期化部8を呼び出す(S400)。
カーネル側トレース初期化部8は、OS実行部2から呼び出されると、カーネル側トレース制御情報6を初期化する(S401)。
また、カーネル側トレース初期化部8はカーネル側トレースバッファ5も初期化する(S402)。
さらに、カーネル側トレース初期化部8はトレースバッファアドレス表23も初期化する(S403)。
The OS execution unit 2 calls the kernel side trace initialization unit 8 when the system is started or when the use of the trace function is started (S400).
When called from the OS execution unit 2, the kernel side trace initialization unit 8 initializes the kernel side trace control information 6 (S401).
The kernel side trace initialization unit 8 also initializes the kernel side trace buffer 5 (S402).
Further, the kernel side trace initialization unit 8 also initializes the trace buffer address table 23 (S403).

図16は、実施の形態4におけるコンピュータシステム1が実行するユーザモードソフトウェア初期化処理を示すフローチャートである。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 16 is a flowchart illustrating user mode software initialization processing executed by the computer system 1 according to the fourth embodiment.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

ユーザモードソフトウェア実行部3は、ユーザ側トレースデータの蓄積を開始する際、ユーザ側トレース制御部13を呼び出す前に一度、ユーザ側トレース初期化部18を呼び出す(S411)。
ユーザ側トレース初期化部18は、動作中のユーザモードソフトウェアの各々に対して、ユーザ側トレースバッファ19のメモリ確保・初期化を行う(S412)。
次に、ユーザ側トレース初期化部18は、OS実行部2を介して、全てのユーザ側トレースバッファ19のメモリアドレスをトレースバッファアドレス登録部22に通知する(S413)。
トレースバッファアドレス登録部22は通知されたユーザ側トレース制御情報7のメモリアドレスをトレースバッファアドレス表23に加える(S414)。
When starting the accumulation of user side trace data, the user mode software execution unit 3 calls the user side trace initialization unit 18 once before calling the user side trace control unit 13 (S411).
The user-side trace initialization unit 18 secures and initializes the memory of the user-side trace buffer 19 for each user mode software being operated (S412).
Next, the user side trace initialization unit 18 notifies the trace buffer address registration unit 22 of the memory addresses of all the user side trace buffers 19 via the OS execution unit 2 (S413).
The trace buffer address registration unit 22 adds the notified memory address of the user side trace control information 7 to the trace buffer address table 23 (S414).

カーネルモードソフトウェアのトレースデータを出力する際の動作(カーネル側トレース出力処理)については、実施の形態1(図4)と同じであるため、説明を省略する。   The operation (kernel-side trace output processing) at the time of outputting the trace data of the kernel mode software is the same as that of the first embodiment (FIG. 4), and thus the description thereof is omitted.

ユーザモードソフトウェアのトレースデータを出力する際の動作(ユーザ側トレース出力処理)については、実施の形態3(図13)と同じであるため、説明を省略する。   Since the operation (user side trace output processing) when outputting the trace data of the user mode software is the same as that of the third embodiment (FIG. 13), the description is omitted.

つまり、実施の形態4では、カーネル側トレースデータはカーネル側トレースバッファ5に蓄積され、ユーザ側トレースデータはユーザモードソフトウェア毎にユーザ側トレースバッファ19に一時的に蓄積される。   That is, in the fourth embodiment, kernel-side trace data is accumulated in the kernel-side trace buffer 5, and user-side trace data is temporarily accumulated in the user-side trace buffer 19 for each user mode software.

図17は、実施の形態4におけるコンピュータシステム1が実行するカーネル側トレースデータ移動処理を示すフローチャートである。
次に、ユーザ側トレースバッファ19内に蓄積されたユーザ側トレースデータをカーネル側トレースバッファ5に移動する処理の動作について、図17に基づいて以下に説明する。
「〜部」として説明するコンピュータシステム1の各構成はCPU911を用いて以下の処理を実行する。
FIG. 17 is a flowchart showing kernel-side trace data movement processing executed by the computer system 1 according to the fourth embodiment.
Next, the operation of the process of moving the user side trace data stored in the user side trace buffer 19 to the kernel side trace buffer 5 will be described with reference to FIG.
Each component of the computer system 1 described as “unit” executes the following processing using the CPU 911.

動作モードがユーザモードからカーネルモードへ遷移する際、OS実行部2はトレースデータ移動部21を呼び出す。OS実行部2がトレースデータ移動部21を呼び出す契機としては、例えば、ユーザモードソフトウェア間での実行の切替え(一般にはプロセス切替え)時や、ユーザモードソフトウェア実行部3からのシステムコールの発行時や、ハードウェアからの割込み発生時が含まれる。なお、呼び出された際にトレースデータ移動部21は、それまで動作していたユーザモードソフトウェアを識別可能な値もしくはそれまで動作していたユーザモードソフトウェアに対応するユーザ側トレースバッファ19を識別可能な値として、例えばプロセスIDが、OS実行部2から通知されるものとする(S421)。
トレースデータ移動部21は、OS実行部2からの通知を元にトレースバッファアドレス表23を参照し、それまで動作していたユーザモードソフトウェアに対応するユーザ側トレースバッファ19のメモリアドレスを取得する(S422)。
次に、トレースデータ移動部21は、取得したメモリアドレスが示すユーザ側トレースバッファ19から、その時点で蓄積されている当該ユーザモードソフトウェアのユーザ側トレースデータを取り出す(S423)。
そして、トレースデータ移動部21は取り出したユーザ側トレースデータをカーネル側トレースバッファ5へ書き込む。トレースデータ移動部21は、ユーザ側トレースデータの書き込みを、カーネル側トレースバッファ5において書き込み済みのシステムトレースデータの後ろに行って、システムトレースデータの時系列を確保する(S424:ユーザ側トレースデータ移動処理)。
When the operation mode transitions from the user mode to the kernel mode, the OS execution unit 2 calls the trace data moving unit 21. As a trigger for the OS execution unit 2 to call the trace data moving unit 21, for example, when switching execution between user mode software (generally process switching), when issuing a system call from the user mode software execution unit 3, This includes the occurrence of an interrupt from the hardware. When called, the trace data moving unit 21 can identify a value that can identify the user mode software that has been operating until then, or the user side trace buffer 19 that corresponds to the user mode software that has been operated until then. For example, the process ID is notified from the OS execution unit 2 as a value (S421).
The trace data moving unit 21 refers to the trace buffer address table 23 based on the notification from the OS execution unit 2 and acquires the memory address of the user side trace buffer 19 corresponding to the user mode software that has been operating until then ( S422).
Next, the trace data moving unit 21 extracts the user side trace data of the user mode software stored at that time from the user side trace buffer 19 indicated by the acquired memory address (S423).
Then, the trace data moving unit 21 writes the extracted user side trace data into the kernel side trace buffer 5. The trace data moving unit 21 writes the user-side trace data after the system trace data already written in the kernel-side trace buffer 5 to secure the time series of the system trace data (S424: user-side trace data movement). processing).

つまり、実施の形態4におけるコンピュータシステム1は、プロセス切替え前のユーザモードソフトウェアのトレースデータを、プロセス切替え後のユーザモードソフトウェアにおいてトレースデータが発生する前に、カーネル側トレースバッファ5に蓄積するため、ユーザモードソフトウェア間におけるトレースデータの時系列を確保することができる。
また、実施の形態4におけるコンピュータシステム1は、カーネルモードへの遷移前に発生したユーザ側トレースデータを、モード遷移後にカーネルモードでトレースデータが発生する前に、カーネル側トレースバッファ5に蓄積するため、ユーザ側トレースデータとカーネル側トレースデータとの間における時系列を確保することができる。
That is, the computer system 1 according to the fourth embodiment stores the trace data of the user mode software before the process switching in the kernel side trace buffer 5 before the trace data is generated in the user mode software after the process switching. A time series of trace data between user mode software can be secured.
Further, the computer system 1 according to the fourth embodiment stores the user side trace data generated before the transition to the kernel mode in the kernel side trace buffer 5 before the trace data is generated in the kernel mode after the mode transition. The time series between the user side trace data and the kernel side trace data can be secured.

なお、ユーザモードソフトウェアが終了する際には、ユーザモードソフトウェア実行部3はユーザ側トレース初期化部18を介して当該ユーザ側トレースバッファ19を解放し、トレースバッファアドレス登録部22を介してトレースバッファアドレス表23に登録された当該ユーザ側トレースバッファ19のメモリアドレスを削除するものとする。また、ユーザ側トレース初期化部18は、ユーザ側トレースバッファ19を解放する前に,OS実行部2を介してトレースデータ移動部21に通知することで,ユーザ側トレースバッファ19に残存するトレースデータをカーネル側トレースバッファ5に移動することができる。   When the user mode software is terminated, the user mode software execution unit 3 releases the user side trace buffer 19 via the user side trace initialization unit 18 and the trace buffer via the trace buffer address registration unit 22. It is assumed that the memory address of the user side trace buffer 19 registered in the address table 23 is deleted. Further, the user side trace initialization unit 18 notifies the trace data moving unit 21 via the OS execution unit 2 before releasing the user side trace buffer 19, thereby remaining the trace data remaining in the user side trace buffer 19. Can be moved to the kernel-side trace buffer 5.

上記の説明ではコンピュータシステム1はユーザ側トレースデータの蓄積要否の判定を、実施の形態1と同様に、カーネル側トレース制御情報6をメモリマッピングしたユーザ側トレース制御情報7を使用しているが、コンピュータシステム1は、実施の形態2と同様に、カーネル側トレース制御情報6を複製したユーザ側トレース制御情報7を使用してもよい。   In the above description, the computer system 1 uses the user-side trace control information 7 obtained by mapping the kernel-side trace control information 6 in the same manner as in the first embodiment to determine whether or not the user-side trace data needs to be stored. Similarly to the second embodiment, the computer system 1 may use the user side trace control information 7 obtained by copying the kernel side trace control information 6.

以上のように本実施の形態によれば、OS実行部2によってユーザモードからカーネルモードへ遷移する際に、それまでに蓄積されたユーザモードソフトウェアのトレースデータをカーネル側トレースバッファ5に書き込むことにより、システムトレースデータの時系列を維持することができる。
また、本実施の形態では、1つもしくは複数のユーザモードソフトウェアに対して、ユーザ側トレースデータの蓄積要否を判定するためにユーザモードからカーネルモードへ遷移する必要がなくなり、そのオーバヘッドを削減することができる。
また、本実施の形態では、ユーザモードからカーネルモードへ遷移する契機を利用してユーザ側トレースデータをカーネル側トレースバッファ5に蓄積することで、ユーザ側トレースデータをカーネル側トレースバッファ5に蓄積することだけを目的としてユーザモードからカーネルモードへ遷移する必要がなくなり、そのオーバヘッドを削減することができる。
As described above, according to the present embodiment, when the OS execution unit 2 makes a transition from the user mode to the kernel mode, the user mode software trace data accumulated so far is written into the kernel side trace buffer 5. The time series of system trace data can be maintained.
In this embodiment, it is not necessary to shift from user mode to kernel mode in order to determine whether or not user-side trace data needs to be stored for one or a plurality of user mode software, thereby reducing the overhead. be able to.
In the present embodiment, user-side trace data is accumulated in the kernel-side trace buffer 5 by accumulating user-side trace data in the kernel-side trace buffer 5 by using an opportunity to change from the user mode to the kernel mode. Therefore, it is not necessary to make a transition from the user mode to the kernel mode only for the purpose, and the overhead can be reduced.

本実施の形態において、以下の手段を備えたシステムトレースデータ蓄積方式について説明した。
(a)ユーザ側トレース初期化部18によってメモリ確保・初期化されたユーザ側トレースバッファ19のメモリアドレスをトレースバッファアドレス表23に登録するトレースバッファアドレス登録部22。
(b)OS実行部2から呼び出され、トレースバッファアドレス表23に記載のユーザ側トレースバッファ19のうち、OS実行部2から通知されたユーザモードソフトウェアのユーザ側トレースバッファ19に蓄積済みのユーザ側トレースデータを取得し、取得したユーザ側トレースデータをカーネル側トレースバッファ5に書込みするトレースデータ移動部21。
In the present embodiment, the system trace data storage method including the following means has been described.
(A) A trace buffer address registration unit 22 that registers the memory address of the user side trace buffer 19 that has been secured and initialized by the user side trace initialization unit 18 in the trace buffer address table 23.
(B) The user side that has been stored in the user side trace buffer 19 of the user mode software that is called from the OS execution unit 2 and notified from the OS execution unit 2 among the user side trace buffers 19 described in the trace buffer address table 23 A trace data moving unit 21 that acquires trace data and writes the acquired user-side trace data to the kernel-side trace buffer 5.

実施の形態1におけるコンピュータシステム1の構成図。1 is a configuration diagram of a computer system 1 according to Embodiment 1. FIG. 実施の形態1におけるコンピュータシステム1のハードウェア資源の一例を示す図。FIG. 3 is a diagram illustrating an example of hardware resources of the computer system 1 according to the first embodiment. 実施の形態1におけるコンピュータシステム1が実行するシステム初期化処理を示すフローチャート。3 is a flowchart showing system initialization processing executed by the computer system 1 according to the first embodiment. 実施の形態1におけるコンピュータシステム1が実行するカーネル側トレース出力処理を示すフローチャート。3 is a flowchart showing kernel-side trace output processing executed by the computer system 1 according to the first embodiment. 実施の形態1におけるコンピュータシステム1が実行するユーザ側トレース出力処理を示すフローチャート。5 is a flowchart showing user-side trace output processing executed by the computer system 1 according to the first embodiment. 実施の形態2におけるコンピュータシステム1の構成図。FIG. 3 is a configuration diagram of a computer system 1 according to a second embodiment. 実施の形態2におけるコンピュータシステム1が実行するカーネルモード初期化処理を示すフローチャート。9 is a flowchart showing kernel mode initialization processing executed by the computer system 1 according to the second embodiment. 実施の形態2におけるコンピュータシステム1が実行するユーザモードソフトウェア初期化処理を示すフローチャート。9 is a flowchart illustrating user mode software initialization processing executed by the computer system 1 according to the second embodiment. 実施の形態2におけるコンピュータシステム1が実行するユーザ側トレース制御情報更新処理を示すフローチャート。9 is a flowchart showing user side trace control information update processing executed by the computer system 1 according to the second embodiment. 実施の形態3におけるコンピュータシステム1の構成図。FIG. 6 is a configuration diagram of a computer system 1 according to a third embodiment. 実施の形態3におけるコンピュータシステム1が実行するシステム初期化処理を示すフローチャート。10 is a flowchart showing system initialization processing executed by the computer system 1 according to the third embodiment. 実施の形態3におけるコンピュータシステム1が実行するカーネル側トレース出力処理を示すフローチャート。10 is a flowchart showing kernel-side trace output processing executed by the computer system 1 according to the third embodiment. 実施の形態3におけるコンピュータシステム1が実行するユーザ側トレース出力処理を示すフローチャート。10 is a flowchart showing user-side trace output processing executed by the computer system 1 according to the third embodiment. 実施の形態4におけるコンピュータシステム1の構成図。FIG. 6 is a configuration diagram of a computer system 1 according to a fourth embodiment. 実施の形態4におけるコンピュータシステム1が実行するカーネルモード初期化処理を示すフローチャート。10 is a flowchart showing kernel mode initialization processing executed by the computer system 1 according to the fourth embodiment. 実施の形態4におけるコンピュータシステム1が実行するユーザモードソフトウェア初期化処理を示すフローチャート。15 is a flowchart showing user mode software initialization processing executed by the computer system 1 according to the fourth embodiment. 実施の形態4におけるコンピュータシステム1が実行するカーネル側トレースデータ移動処理を示すフローチャート。15 is a flowchart showing kernel-side trace data movement processing executed by the computer system 1 according to the fourth embodiment.

符号の説明Explanation of symbols

1 コンピュータシステム、2 OS実行部、3 ユーザモードソフトウェア実行部、4 カーネルモードソフトウェア実行部、5 カーネル側トレースバッファ、6 カーネル側トレース制御情報、7 ユーザ側トレース制御情報、8 カーネル側トレース初期化部、9 トレース制御情報マップ部、10 カーネル側トレース出力部、11 カーネル側トレース制御部、12 ユーザ側トレース出力代行部、13 ユーザ側トレース制御部、14 トレース制御情報アドレス表、15 トレース制御情報複写部、16 トレース制御情報変更部、17 トレース制御情報アドレス登録部、18 ユーザ側トレース初期化部、19 ユーザ側トレースバッファ、20 ユーザ側トレース出力部、21 トレースデータ移動部、22 トレースバッファアドレス登録部、23 トレースバッファアドレス表、192 ユーザ側メモリ、194,195,196 カーネル側メモリ、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、923 プログラム群、924 ファイル群。   DESCRIPTION OF SYMBOLS 1 Computer system, 2 OS execution part, 3 User mode software execution part, 4 Kernel mode software execution part, 5 Kernel side trace buffer, 6 Kernel side trace control information, 7 User side trace control information, 8 Kernel side trace initialization part , 9 Trace control information map section, 10 Kernel side trace output section, 11 Kernel side trace control section, 12 User side trace output proxy section, 13 User side trace control section, 14 Trace control information address table, 15 Trace control information copy section , 16 Trace control information change unit, 17 Trace control information address registration unit, 18 User side trace initialization unit, 19 User side trace buffer, 20 User side trace output unit, 21 Trace data move unit, 22 Trace buffer add Register, 23 Trace buffer address table, 192 User side memory, 194, 195, 196 Kernel side memory, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 magnetic disk unit, 921 OS, 923 program Group, 924 file group.

Claims (12)

システムが提供する機能を実行するカーネルモードで使用するカーネル側メモリに記憶したカーネル側トレース制御情報に基づいて、システムが提供する機能を使用するユーザモードで動作するユーザモードソフトウェアプログラムの動作履歴を示すユーザ側トレースデータを記憶するコンピュータシステムであり、
ユーザモードで使用され、前記カーネル側メモリにおける前記カーネル側トレース制御情報の記憶域を示す制御情報アドレスを記憶したユーザ側メモリと、
前記カーネル側メモリにユーザ側トレースデータを記憶するカーネル側トレース出力部と、
前記ユーザ側メモリに記憶された前記制御情報アドレスが示す前記カーネル側メモリにおける記憶域に記憶された前記カーネル側トレース制御情報を参照し、参照した前記カーネル側トレース制御情報が示す蓄積要否フラグに基づいてユーザ側トレースデータの蓄積要否を判定するユーザ側トレース制御部と、
前記ユーザ側トレース制御部がユーザ側トレースデータの蓄積要と判定した場合に前記カーネル側トレース出力部を呼び出すユーザ側トレース出力代行部と
を備え、
前記カーネル側トレース出力部は前記ユーザ側トレース出力代行部から呼び出された際にユーザ側トレースデータを前記カーネル側メモリに記憶する
ことを特徴とするコンピュータシステム。
Indicates the operation history of the user mode software program that operates in the user mode that uses the function provided by the system, based on the kernel side trace control information stored in the kernel side memory that is used in the kernel mode that executes the function provided by the system. A computer system for storing user-side trace data;
A user side memory that is used in a user mode and stores a control information address indicating a storage area of the kernel side trace control information in the kernel side memory;
A kernel side trace output unit for storing user side trace data in the kernel side memory;
The kernel-side trace control information stored in the storage area in the kernel-side memory indicated by the control-information address stored in the user-side memory is referred to, and the accumulation necessity flag indicated by the referenced kernel-side trace control information is displayed. A user-side trace control unit that determines whether or not user-side trace data needs to be accumulated, and
A user-side trace output proxy unit that calls the kernel-side trace output unit when the user-side trace control unit determines that the user-side trace data needs to be accumulated;
The computer system wherein the kernel side trace output unit stores user side trace data in the kernel side memory when called from the user side trace output proxy unit.
システムが提供する機能を実行するカーネルモードで使用するカーネル側メモリに記憶したカーネル側トレース制御情報に基づいて、システムが提供する機能を使用するユーザモードで動作するユーザモードソフトウェアプログラムの動作履歴を示すユーザ側トレースデータを記憶するコンピュータシステムであり、
ユーザモードで使用され、前記カーネル側メモリに記憶された前記カーネル側トレース制御情報をコピーしたユーザ側トレース制御情報を記憶したユーザ側メモリと、
前記カーネル側メモリにユーザ側トレースデータを記憶するカーネル側トレース出力部と、
前記ユーザ側メモリに記憶された前記ユーザ側トレース制御情報を参照し、参照した前記ユーザ側トレース制御情報が示す蓄積要否フラグに基づいてユーザ側トレースデータの蓄積要否を判定するユーザ側トレース制御部と、
前記ユーザ側トレース制御部がユーザ側トレースデータの蓄積要と判定した場合に前記カーネル側トレース出力部を呼び出すユーザ側トレース出力代行部と
を備え、
前記カーネル側トレース出力部は前記ユーザ側トレース出力代行部から呼び出された際にユーザ側トレースデータを前記カーネル側メモリに記憶する
ことを特徴とするコンピュータシステム。
Indicates the operation history of the user mode software program that operates in the user mode that uses the function provided by the system, based on the kernel side trace control information stored in the kernel side memory that is used in the kernel mode that executes the function provided by the system. A computer system for storing user-side trace data;
A user-side memory that stores user-side trace control information that is used in user mode and that is a copy of the kernel-side trace control information stored in the kernel-side memory;
A kernel side trace output unit for storing user side trace data in the kernel side memory;
User-side trace control that refers to the user-side trace control information stored in the user-side memory and determines whether or not user-side trace data needs to be accumulated based on an accumulation necessity flag that is indicated by the referenced user-side trace control information And
A user-side trace output proxy unit that calls the kernel-side trace output unit when the user-side trace control unit determines that the user-side trace data needs to be accumulated;
The computer system wherein the kernel side trace output unit stores user side trace data in the kernel side memory when called from the user side trace output proxy unit.
前記コンピュータシステムは、さらに、
前記カーネル側トレース制御情報が示す蓄積要否フラグが変更された際に変更された前記カーネル側トレース制御情報が示す前記蓄積要否フラグをコピーして前記ユーザ側トレース制御情報が示す前記蓄積要否フラグを更新するトレース制御情報複写部
を備えたことを特徴とする請求項2記載のコンピュータシステム。
The computer system further includes:
The accumulation necessity indicated by the user side trace control information by copying the accumulation necessity flag indicated by the kernel side trace control information changed when the accumulation necessity flag indicated by the kernel side trace control information is changed. 3. The computer system according to claim 2, further comprising a trace control information copying unit for updating a flag.
システムが提供する機能を実行するカーネルモードで動作するカーネルモードソフトウェアプログラムの動作履歴を示すカーネル側トレースデータとシステムが提供する機能を使用するユーザモードで動作するユーザモードソフトウェアプログラムの動作履歴を示すユーザ側トレースデータとを記憶するコンピュータシステムであり、
カーネルモードで使用され、カーネル側トレースデータとユーザ側トレースデータとを記憶する第1のカーネル側メモリと、
ユーザモードで使用され、ユーザ側トレースデータを記憶する第1のユーザ側メモリと、
ユーザ側トレースデータが発生した際に発生した前記ユーザ側トレースデータを前記第1のユーザ側メモリに記憶するユーザ側トレース出力部と、
カーネル側トレースデータが発生した際に前記ユーザ側トレース出力部が前記第1のユーザ側メモリに記憶した前記ユーザ側トレースデータを前記第1のカーネル側メモリに移動するトレースデータ移動部と、
カーネル側トレースデータが発生した際に発生した前記カーネル側トレースデータを前記トレースデータ移動部が前記第1のカーネル側メモリに移動した前記ユーザ側トレースデータの後ろに記憶するカーネル側トレース出力部と
を備えたことを特徴とするコンピュータシステム。
User showing the operation history of the kernel mode software program that operates in the kernel mode that executes the function provided by the system and the operation history of the user mode software program that operates in the user mode that uses the function provided by the system A computer system for storing side trace data,
A first kernel-side memory used in kernel mode and storing kernel-side trace data and user-side trace data;
A first user-side memory used in user mode and storing user-side trace data;
A user-side trace output unit for storing the user-side trace data generated when user-side trace data is generated in the first user-side memory;
A trace data moving unit that moves the user side trace data stored in the first user side memory by the user side trace output unit to the first kernel side memory when kernel side trace data is generated;
A kernel-side trace output unit for storing the kernel-side trace data generated when the kernel-side trace data is generated, after the user-side trace data moved by the trace data moving unit to the first kernel-side memory; A computer system comprising:
システムが提供する機能を実行するカーネルモードで動作するカーネルモードソフトウェアプログラムの動作履歴を示すカーネル側トレースデータとシステムが提供する機能を使用するユーザモードで動作するユーザモードソフトウェアプログラムの動作履歴を示すユーザ側トレースデータとを記憶するコンピュータシステムであり、
カーネルモードで使用され、カーネル側トレースデータとユーザ側トレースデータとを記憶する第1のカーネル側メモリと、
ユーザモードで使用され、ユーザ側トレースデータを記憶する第1のユーザ側メモリと、
ユーザ側トレースデータが発生した際に発生した前記ユーザ側トレースデータを前記第1のユーザ側メモリに記憶するユーザ側トレース出力部と、
ユーザモードからカーネルモードへの遷移の際に前記ユーザ側トレース出力部が前記第1のユーザ側メモリに記憶した前記ユーザ側トレースデータを前記第1のカーネル側メモリに移動するトレースデータ移動部と、
カーネル側トレースデータが発生した際に発生したカーネル側トレースデータを前記トレースデータ移動部が前記第1のカーネル側メモリに移動した前記ユーザ側トレースデータの後ろに記憶するカーネル側トレース出力部と
を備えたことを特徴とするコンピュータシステム。
User showing the operation history of the kernel mode software program that operates in the kernel mode that executes the function provided by the system and the operation history of the user mode software program that operates in the user mode that uses the function provided by the system A computer system for storing side trace data,
A first kernel-side memory used in kernel mode and storing kernel-side trace data and user-side trace data;
A first user-side memory used in user mode and storing user-side trace data;
A user-side trace output unit for storing the user-side trace data generated when user-side trace data is generated in the first user-side memory;
A trace data moving unit for moving the user side trace data stored in the first user side memory by the user side trace output unit to the first kernel side memory at the time of transition from the user mode to the kernel mode;
A kernel-side trace output unit for storing kernel-side trace data generated when kernel-side trace data is generated, after the user-side trace data moved by the trace data moving unit to the first kernel-side memory. A computer system characterized by that.
前記コンピュータシステムは、さらに、
カーネルモードで使用され、ユーザ側トレースデータの蓄積要否フラグを示すカーネル側トレース制御情報を記憶する第2のカーネル側メモリと、
ユーザモードで使用され、前記第2のカーネル側メモリにおける前記カーネル側トレース制御情報の記憶域を示す制御情報アドレスを記憶する第2のユーザ側メモリと、
前記第2のユーザ側メモリに記憶された前記制御情報アドレスが示す前記第2のカーネル側メモリにおける記憶域に記憶された前記カーネル側トレース制御情報を参照し、参照した前記カーネル側トレース制御情報が示す前記蓄積要否フラグに基づいてユーザ側トレースデータの蓄積要否を判定するユーザ側トレース制御部とを備え、
前記ユーザ側トレース出力部は、
前記ユーザ側トレース制御部がユーザ側トレースデータの蓄積要と判定した場合にユーザ側トレースデータを前記第1のユーザ側メモリに記憶する
ことを特徴とする請求項4〜請求項5いずれかに記載のコンピュータシステム。
The computer system further includes:
A second kernel-side memory that is used in the kernel mode and stores kernel-side trace control information indicating an accumulation necessity flag of user-side trace data;
A second user-side memory that is used in a user mode and stores a control information address indicating a storage area of the kernel-side trace control information in the second kernel-side memory;
The kernel-side trace control information stored in the storage area in the second kernel-side memory indicated by the control information address stored in the second user-side memory is referred to. A user-side trace control unit that determines whether or not user-side trace data needs to be accumulated based on the accumulation necessity flag shown,
The user side trace output unit
6. The user-side trace data is stored in the first user-side memory when the user-side trace control unit determines that user-side trace data needs to be stored. Computer system.
前記コンピュータシステムは、さらに、
カーネルモードで使用され、ユーザ側トレースデータの蓄積要否フラグを示すカーネル側トレース制御情報を記憶する第2のカーネル側メモリと、
ユーザモードで使用され、前記第2のカーネル側メモリに記憶された前記カーネル側トレース制御情報をコピーしたユーザ側トレース制御情報を記憶する第2のユーザ側メモリと、
前記第2のユーザ側メモリに記憶された前記ユーザ側トレース制御情報を参照し、参照した前記ユーザ側トレース制御情報が示す蓄積要否フラグに基づいてユーザ側トレースデータの蓄積要否を判定するユーザ側トレース制御部とを備え、
前記ユーザ側トレース出力部は、
前記ユーザ側トレース制御部がユーザ側トレースデータの蓄積要と判定した場合にユーザ側トレースデータを前記第1のユーザ側メモリに記憶する
ことを特徴とする請求項4〜請求項5いずれかに記載のコンピュータシステム。
The computer system further includes:
A second kernel-side memory that is used in the kernel mode and stores kernel-side trace control information indicating an accumulation necessity flag of user-side trace data;
A second user-side memory for storing user-side trace control information used in the user mode and copied from the kernel-side trace control information stored in the second kernel-side memory;
A user who refers to the user-side trace control information stored in the second user-side memory and determines whether or not user-side trace data needs to be accumulated based on an accumulation necessity flag indicated by the referenced user-side trace control information Side trace control unit,
The user side trace output unit
6. The user-side trace data is stored in the first user-side memory when the user-side trace control unit determines that user-side trace data needs to be stored. Computer system.
システムが提供する機能を実行するカーネルモードで使用するカーネル側メモリに記憶したカーネル側トレース制御情報に基づいて、システムが提供する機能を使用するユーザモードで動作するユーザモードソフトウェアプログラムの動作履歴を示すユーザ側トレースデータを記憶するコンピュータシステムのトレースデータ蓄積方法であり、
ユーザモードで使用されるユーザ側メモリが前記カーネル側メモリにおける前記カーネル側トレース制御情報の記憶域を示す制御情報アドレスを記憶する制御情報アドレス記憶処理と、
ユーザ側トレース制御部が前記ユーザ側メモリに記憶された前記制御情報アドレスが示す前記カーネル側メモリにおける記憶域に記憶された前記カーネル側トレース制御情報を参照し、参照した前記カーネル側トレース制御情報が示す蓄積要否フラグに基づいてユーザ側トレースデータの蓄積要否を判定するユーザ側トレース制御処理と、
ユーザ側トレース出力代行部が前記ユーザ側トレース制御部がユーザ側トレースデータの蓄積要と判定した場合にカーネル側トレース出力部を呼び出すユーザ側トレース出力代行処理と、
カーネル側トレース出力部が前記ユーザ側トレース出力代行部から呼び出された際にユーザ側トレースデータを前記カーネル側メモリに記憶するカーネル側トレース出力処理と
を実行することを特徴とするコンピュータシステムのトレースデータ蓄積方法。
Indicates the operation history of the user mode software program that operates in the user mode that uses the function provided by the system, based on the kernel side trace control information stored in the kernel side memory that is used in the kernel mode that executes the function provided by the system. A trace data accumulation method for a computer system for storing user side trace data,
A control information address storage process in which a user side memory used in the user mode stores a control information address indicating a storage area of the kernel side trace control information in the kernel side memory;
The user side trace control unit refers to the kernel side trace control information stored in the storage area in the kernel side memory indicated by the control information address stored in the user side memory, and the referenced kernel side trace control information is A user-side trace control process for determining whether or not user-side trace data needs to be accumulated based on an accumulation necessity flag shown;
A user side trace output proxy unit that calls the kernel side trace output unit when the user side trace control unit determines that the user side trace data needs to be stored; and
Trace data of a computer system for executing kernel-side trace output processing for storing user-side trace data in the kernel-side memory when a kernel-side trace output unit is called from the user-side trace output proxy unit Accumulation method.
システムが提供する機能を実行するカーネルモードで使用するカーネル側メモリに記憶したカーネル側トレース制御情報に基づいて、システムが提供する機能を使用するユーザモードで動作するユーザモードソフトウェアプログラムの動作履歴を示すユーザ側トレースデータを記憶するコンピュータシステムのトレースデータ蓄積方法であり、
ユーザモードで使用されるユーザ側メモリが前記カーネル側メモリに記憶された前記カーネル側トレース制御情報をコピーしたユーザ側トレース制御情報を記憶するユーザ側トレース制御情報記憶処理と、
ユーザ側トレース制御部が前記ユーザ側メモリに記憶された前記ユーザ側トレース制御情報を参照し、参照した前記ユーザ側トレース制御情報が示す蓄積要否フラグに基づいてユーザ側トレースデータの蓄積要否を判定するユーザ側トレース制御処理と、
ユーザ側トレース出力代行部が前記ユーザ側トレース制御部がユーザ側トレースデータの蓄積要と判定した場合にカーネル側トレース出力部を呼び出すユーザ側トレース出力代行処理と、
カーネル側トレース出力部が前記ユーザ側トレース出力代行部から呼び出された際にユーザ側トレースデータを前記カーネル側メモリに記憶するカーネル側トレース出力処理と
を実行することを特徴とするコンピュータシステムのトレースデータ蓄積方法。
Indicates the operation history of the user mode software program that operates in the user mode that uses the function provided by the system, based on the kernel side trace control information stored in the kernel side memory that is used in the kernel mode that executes the function provided by the system. A trace data accumulation method for a computer system for storing user side trace data,
A user-side trace control information storage process for storing user-side trace control information obtained by copying the kernel-side trace control information stored in the kernel-side memory by a user-side memory used in the user mode;
The user-side trace control unit refers to the user-side trace control information stored in the user-side memory, and determines whether or not the user-side trace data needs to be accumulated based on the accumulation necessity flag indicated by the referenced user-side trace control information. User-side trace control processing to be determined;
A user side trace output proxy unit that calls the kernel side trace output unit when the user side trace control unit determines that the user side trace data needs to be stored; and
Trace data of a computer system for executing kernel-side trace output processing for storing user-side trace data in the kernel-side memory when a kernel-side trace output unit is called from the user-side trace output proxy unit Accumulation method.
システムが提供する機能を実行するカーネルモードで動作するカーネルモードソフトウェアプログラムの動作履歴を示すカーネル側トレースデータとシステムが提供する機能を使用するユーザモードで動作するユーザモードソフトウェアプログラムの動作履歴を示すユーザ側トレースデータとを記憶するコンピュータシステムのトレースデータ蓄積方法であり、
ユーザトレース出力部がユーザ側トレースデータが発生した際に発生した前記ユーザ側トレースデータを第1のユーザ側メモリに記憶するユーザ側トレース出力処理と、
トレースデータ移動部がカーネル側トレースデータが発生した際に前記ユーザ側トレース出力部が前記第1のユーザ側メモリに記憶した前記ユーザ側トレースデータを第1のカーネル側メモリに移動するトレースデータ移動処理と、
カーネル側トレース出力部がカーネル側トレースデータが発生した際に発生した前記カーネル側トレースデータを前記トレースデータ移動部が前記第1のカーネル側メモリに移動した前記ユーザ側トレースデータの後ろに記憶するカーネル側トレース出力処理と
を実行することを特徴とするコンピュータシステムのトレースデータ蓄積方法。
User showing the operation history of the kernel mode software program that operates in the kernel mode that executes the function provided by the system and the operation history of the user mode software program that operates in the user mode that uses the function provided by the system A trace data storage method of a computer system for storing side trace data,
A user-side trace output process in which the user-trace output unit stores the user-side trace data generated when the user-side trace data is generated in a first user-side memory;
Trace data moving process in which the user side trace output unit moves the user side trace data stored in the first user side memory to the first kernel side memory when the kernel side trace data is generated by the trace data moving unit When,
A kernel that stores the kernel-side trace data generated when kernel-side trace data is generated by the kernel-side trace output unit after the user-side trace data that the trace data moving unit has moved to the first kernel-side memory A trace data storage method for a computer system, characterized in that a side trace output process is executed.
システムが提供する機能を実行するカーネルモードで動作するカーネルモードソフトウェアプログラムの動作履歴を示すカーネル側トレースデータとシステムが提供する機能を使用するユーザモードで動作するユーザモードソフトウェアプログラムの動作履歴を示すユーザ側トレースデータとを記憶するコンピュータシステムのトレースデータ蓄積方法であり、
ユーザ側トレース出力部がユーザ側トレースデータが発生した際に発生した前記ユーザ側トレースデータを第1のユーザ側メモリに記憶するユーザ側トレース出力処理と、
トレースデータ移動部がユーザモードからカーネルモードへの遷移の際に前記ユーザ側トレース出力部が前記第1のユーザ側メモリに記憶した前記ユーザ側トレースデータを第1のカーネル側メモリに移動するトレースデータ移動処理と、
カーネル側トレース出力部がカーネル側トレースデータが発生した際に発生したカーネル側トレースデータを前記トレースデータ移動部が前記第1のカーネル側メモリに移動した前記ユーザ側トレースデータの後ろに記憶するカーネル側トレース出力処理と
を実行することを特徴とするコンピュータシステムのトレースデータ蓄積方法。
User showing the operation history of the kernel mode software program that operates in the kernel mode that executes the function provided by the system and the operation history of the user mode software program that operates in the user mode that uses the function provided by the system A trace data storage method of a computer system for storing side trace data,
A user side trace output process in which the user side trace output unit stores the user side trace data generated when the user side trace data is generated in a first user side memory; and
Trace data for moving the user-side trace data stored in the first user-side memory by the user-side trace output unit to the first kernel-side memory when the trace data moving unit makes a transition from the user mode to the kernel mode. Move processing,
The kernel side in which the kernel side trace output unit stores the kernel side trace data generated when the kernel side trace data is generated, after the user side trace data that the trace data moving unit has moved to the first kernel side memory. A trace data storage method for a computer system, characterized in that a trace output process is executed.
請求項8〜請求項11いずれかに記載のコンピュータシステムのトレースデータ蓄積方法をコンピュータシステムに実行させるトレースデータ蓄積プログラム。   A trace data storage program for causing a computer system to execute the trace data storage method for a computer system according to any one of claims 8 to 11.
JP2006159863A 2006-06-08 2006-06-08 Computer system, computer system trace data storage method, and trace data storage program Expired - Fee Related JP4859546B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006159863A JP4859546B2 (en) 2006-06-08 2006-06-08 Computer system, computer system trace data storage method, and trace data storage program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006159863A JP4859546B2 (en) 2006-06-08 2006-06-08 Computer system, computer system trace data storage method, and trace data storage program

Publications (2)

Publication Number Publication Date
JP2007328597A true JP2007328597A (en) 2007-12-20
JP4859546B2 JP4859546B2 (en) 2012-01-25

Family

ID=38929020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006159863A Expired - Fee Related JP4859546B2 (en) 2006-06-08 2006-06-08 Computer system, computer system trace data storage method, and trace data storage program

Country Status (1)

Country Link
JP (1) JP4859546B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101134464B1 (en) * 2009-05-19 2012-04-13 한국전자통신연구원 Method and apparatus for providing network asynchronous input/output processing
JP2012511777A (en) * 2008-12-09 2012-05-24 マイクロソフト コーポレーション User mode based remote desktop protocol (RDP) coding architecture
CN103761175A (en) * 2013-11-25 2014-04-30 中国科学院计算技术研究所 System and method for monitoring program execution paths under Linux system
JP2015170084A (en) * 2014-03-06 2015-09-28 三菱電機株式会社 Computer system, process analyzing method and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149444A (en) * 2000-11-13 2002-05-24 Mitsubishi Electric Corp Software testing system and software testing method, and computer-readable program recording medium with program for realizing the same method by computer recorded thereon, and program for realizing the same method by computer
JP2005128623A (en) * 2003-10-21 2005-05-19 Ntt Data Corp Access history recording device and access control system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149444A (en) * 2000-11-13 2002-05-24 Mitsubishi Electric Corp Software testing system and software testing method, and computer-readable program recording medium with program for realizing the same method by computer recorded thereon, and program for realizing the same method by computer
JP2005128623A (en) * 2003-10-21 2005-05-19 Ntt Data Corp Access history recording device and access control system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012511777A (en) * 2008-12-09 2012-05-24 マイクロソフト コーポレーション User mode based remote desktop protocol (RDP) coding architecture
KR101134464B1 (en) * 2009-05-19 2012-04-13 한국전자통신연구원 Method and apparatus for providing network asynchronous input/output processing
CN103761175A (en) * 2013-11-25 2014-04-30 中国科学院计算技术研究所 System and method for monitoring program execution paths under Linux system
JP2015170084A (en) * 2014-03-06 2015-09-28 三菱電機株式会社 Computer system, process analyzing method and program

Also Published As

Publication number Publication date
JP4859546B2 (en) 2012-01-25

Similar Documents

Publication Publication Date Title
US6684305B1 (en) Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence
JP6202543B2 (en) Method, system and computer program for managing dynamic address translation table
JP5655677B2 (en) Hypervisor replacement method and information processing apparatus
KR100848603B1 (en) A data processing apparatus and method for saving return state
JP6284130B2 (en) Local clear control
JP4939387B2 (en) Data processing apparatus and address space protection method
US8578136B2 (en) Apparatus and method for mapping architectural registers to physical registers
CN111201518B (en) Apparatus and method for managing capability metadata
TWI771441B (en) An apparatus and method for controlling execution of instructions
TW201843584A (en) An apparatus and method for managing use of capabilities
KR20220045211A (en) Capability Write Address Tracking
JP4859546B2 (en) Computer system, computer system trace data storage method, and trace data storage program
US20060149940A1 (en) Implementation to save and restore processor registers on a context switch
JP5318197B2 (en) Device emulation support in the host data processor
EP0619899A1 (en) Software control of hardware interruptions
US6199156B1 (en) System for explicitly referencing a register for its current content when performing processor context switch
JP4594889B2 (en) Method for tracing program executed on a system including a plurality of processing devices, and system including a plurality of processing devices
US7937525B2 (en) Method and apparatus for decoding a virtual machine control structure identification
JP3554320B2 (en) A data processing system that performs communication between execution environments in a data processing system employing an object-oriented memory protection mechanism
US11704127B2 (en) Marking current context data to control a context-data-dependent processing operation to save current or default context data to a data location
JPH0738168B2 (en) Data processing device
Early ESPRIT LTR 21917 (Pegasus II) Deliverable 2.1. 2 Pentium Port Report
JP2007219938A (en) Processor
JPS63273133A (en) Data processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111013

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111101

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141111

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees