JPH08147196A - システムコールエミュレータ - Google Patents

システムコールエミュレータ

Info

Publication number
JPH08147196A
JPH08147196A JP6283800A JP28380094A JPH08147196A JP H08147196 A JPH08147196 A JP H08147196A JP 6283800 A JP6283800 A JP 6283800A JP 28380094 A JP28380094 A JP 28380094A JP H08147196 A JPH08147196 A JP H08147196A
Authority
JP
Japan
Prior art keywords
system call
report
contents
describes
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6283800A
Other languages
English (en)
Inventor
Yusuke Shigyo
祐輔 執行
Yoshiyasu Nishibe
喜康 西部
Tatsuo Sawada
立夫 沢田
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP6283800A priority Critical patent/JPH08147196A/ja
Publication of JPH08147196A publication Critical patent/JPH08147196A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 デフォルトテーブルと指定テーブルを組み合
わせて用いることにより、システムコールの即時報告、
完了報告、非同期報告の内容と通知タイミング(内部時
間)を指定するためのテーブルの記述を容易化し、アプ
リケーションソフトウェアの早期開発、多様な試験を可
能とするシステムコールエミュレータを提供する。 【構成】 システムコールが正常に完了する場合の内容
を記述するデフォルトテーブル20とアプリケーション
プログラムでのシステムコールの出現箇所とそのシステ
ムコールに対応する即時報告、完了報告、非同期報告の
内容等のみを記述する指定テーブル19の2種類のテー
ブルに記述された情報の中で報告処理に必要な情報をシ
ステムコールのプログラム中での発行箇所をもとに判定
し、必要テーブルをテーブル選択部17で選択する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、アプリケーションの開
発、試験をハードウェアとは独立に行うことを可能とす
るために、アプリケーションに対してシステムコールを
エミュレートするシステムコールエミュレータに関す
る。
【0002】
【従来の技術】従来、アプリケーションソフトウェアの
開発を、実ハードを使用せずにハードウェアの開発と独
立して行うために、図7(a)に示すように、規定され
たシステムコールを発行すると常に正常のシステムコー
ルリターンを返すスタブテーブルを使用していた。この
従来の方法は、スタブテーブル内にシステムコール種別
毎に正常なリターンを記述しておき、各システムコール
が呼ばれる毎にシステムコール種別対応の報告を返すも
のである。
【0003】また、他の方法としては、図7(b)に示
すように、指定テーブル内に、アプリケーション中に出
現するすべてのシステムコールに対して、それぞれのシ
ステムコール対応の報告内容をすべて記述しておき、各
システムコールが呼ばれる毎に対応する報告内容を返す
ものである。
【0004】
【発明が解決しようとする課題】上述した従来の技術で
は、スタブテーブルを使用する場合は、システムコール
に関するシステムコール名やシステムコールパラメータ
の記述が正しいかどうかの検証にしか使用できず、また
すべての発行されるシステムコールに関して記述する方
法の場合は、報告内容を記述するための指定テーブルの
作成に多くの労力が必要であった。更に、スタブテーブ
ルを使用する場合、システムコールが正常のシステムコ
ールリターンを返さない場合のアプリケーションソフト
ウェアの検証ができなかった。
【0005】本発明は、上記に鑑みてなされたもので、
その目的とするところは、デフォルトテーブルと指定テ
ーブルを組み合わせて用いることにより、システムコー
ルの即時報告、完了報告、非同期報告の内容と通知タイ
ミング(内部時間)を指定するためのテーブルの記述を
容易化し、アプリケーションソフトウェアの早期開発、
多様な試験を可能とするシステムコールエミュレータを
提供することにある。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、本発明のシステムコールエミュレータは、アプリケ
ーションが使用するシステムコールを疑似するシステム
コールエミュレータにおいて、システムコール名を記述
するシステムコール名記述部、システムコールの即時報
告の内容等を記述する即時報告記述部、システムコール
の完了報告の内容とタイミング(内部時間)を記述する
完了報告記述部、システムコールの非同期報告の内容と
タイミング(内部時間)を記述する非同期報告記述部、
システムコールの周期報告の内容とタイミング(内部時
間)を記述する周期報告記述部、およびその他の情報を
記述するオプション情報記述部を有するデフォルトテー
ブルと、システムコールに対応した情報として、前記デ
フォルトテーブルのシステムコール対応情報の記述部で
ある前記即時報告記述部、完了報告記述部、非同期報告
記述部、周期報告記述部、およびオプション情報記述部
に加えて、システムコールをプログラム中において一意
に識別するために必要な情報として、システムコールが
記述しているプログラムのファイル名、ファイル中でシ
ステムコールが記述されている行、およびシステムコー
ルがプログラム中で繰り返し実行される場合に、何回目
のシステムコール発行であるかを記述する回数を有する
位置記述部を合わせ持つ指定テーブルと、前記両テーブ
ルに記述された情報の中で報告処理に必要な情報をシス
テムコールのプログラム中での発行箇所をもとに判定
し、必要テーブルを選択する機能であるテーブル選択部
とを具備することを要旨とする。
【0007】また、本発明のシステムコールエミュレー
タは、前記において、プログラムのシステムコール発行
履歴を記録するログテーブルを指定テーブルと同一の構
成と内容で生成するログテーブル生成部を具備し、生成
されたログテーブルを指定テーブルとして使用すること
を要旨とする。
【0008】
【作用】本発明のシステムコールエミュレータでは、即
時報告、完了報告、非同期報告の内容と通知タイミング
(内部時間)を指定するためのテーブルを、システムコ
ールが正常に完了する場合の内容を記述するデフォルト
テーブルと、指定したタイミング(内部時間)と内容で
即時報告、完了報告、非同期報告を返すために、アプリ
ケーションプログラムでのシステムコールの出現箇所と
そのシステムコールに対応する即時報告、完了報告、非
同期報告の内容等のみを記述する指定テーブルに分け、
これらのテーブルを自動的に選択するテーブル選択部を
設けることにより、システムコールの内容とリターンタ
イミング(内部時間)を自在に制御するとともにテーブ
ル記述量を減少させる。
【0009】また、本発明のシステムコールエミュレー
タでは、指定テーブルと同一形式のログテーブルを生成
するログテーブル生成部を設けることにより、異常処理
のためのテーブルの記述が容易になる。
【0010】
【実施例】以下図を用いて、本発明の実施例を説明す
る。
【0011】図1は、本発明の一実施例に係るシステム
コールエミュレータの構成を示すブロック図である。同
図において、エミュレータ12は、システムコール発行
時処理部13、周期処理部14、システムコールプログ
ラム内位置管理部15、処理待ち行列16、テーブル選
択部17、ログテーブル生成部18により構成される。
【0012】前記システムコール発行時処理部13は、
アプリケーションプログラム11からシステムコールが
発行されたときに実行される部分である。周期処理部1
4は、周期的に一定の時間間隔でエミュレータにて実行
される部分である。システムコールプログラム内位置管
理部15は、発行されたシステムコールがプログラムフ
ァイル内の何行目に記述されているかを示すものであ
り、プログラム実行中の何回目に実行されているものか
を対応付ける部分である。処理待ち行列16は、周期処
理が処理対象とする報告を待ち合わせるためのものであ
る。テーブル選択部17は、発行されたシステムコール
に関する情報がデフォルトテーブル20に記述されてい
るか指定テーブル19に記述されているかを判定する。
ログテーブル生成部18は、処理の実行内容を指定テー
ブル19と同一の形式でログテーブル21として記録す
るものである。
【0013】次に、図2に示すフローチャートを参照し
て、システムコール発行時の処理について説明する。
【0014】前記システムコール発行時処理部13は、
システムコール発行時に起動されると、まずシステムコ
ールプログラムファイル内位置管理部15にシステムコ
ールのファイル内での行と回数を問い合わせて、これら
を取得する(ステップS11)。システムコールがデフ
ォルトテーブル20に記述されているか指定テーブル1
9に記述されているかをテーブル選択部17に問い合わ
せ、テーブルを選択し(ステップS12)、この選択さ
れたテーブルより記述内容を読み込む(ステップS1
3)。それから、読み込んだ記述内容をもとに報告メッ
セージを作成し処理待ち行列に入れる(ステップS1
4)。即時報告をアプリケーション11に返す(ステッ
プS15)。
【0015】次に、図3に示すフローチャートを参照し
て、周期的処理について説明する。
【0016】前記周期処理部14は、周期的に起動され
ると、処理待ち行列の中に未確認のすべての報告メッセ
ージがあるか否かをチェックし(ステップS21)、な
い場合には処理を終了するが、ある場合には、メッセー
ジの処理待ち残り時間を減算し(ステップS22)、処
理待ち行列中のメッセージの残り時間が0以下のものが
あるか否かをチェックし、これにより処理待ち行列の中
にある処理待ち時間に達しているメッセージを捜し出す
(ステップS23)。残り時間が0以下のものがない場
合には、ステップS21に戻って、同じ処理を繰り返す
が、ある場合には、報告メッセージをアプリケーション
に返し(ステップS24)、ログテーブル21の処理を
行い(ステップS25)、ステップS21に戻る。な
お、ステップS25の処理はログテーブル生成が指定さ
れている場合である。
【0017】以上の周期的処理は、例えば1秒周期毎に
実行され、周期処理部14の起動時に、条件にあてはま
るメッセージをすべて処理する。
【0018】図4は、デフォルトテーブルおよび指定テ
ーブルの一般構成を示す図である。同図において、20
1はデフォルトテーブルの構成を示し、202は指定テ
ーブルの構成を示している。デフォルトテーブル201
は、システムコール名記述部、即時報告記述部、完了報
告記述部、非同期報告記述部、周期報告記述部、オプシ
ョン情報記述部により構成される。また、指定テーブル
202は、システムコール名記述部、位置記述部、即時
報告記述部、完了報告記述部、非同期報告記述部、周期
報告記述部、オプション情報記述部により構成される。
図4において、各記述部は”;”により区切られ、シナ
リオの終了は”;;”で表示している。
【0019】図5は、位置、即時報告、完了報告、非同
期報告、周期報告の各記述部の構成と具体例である。こ
こで、オプション情報記述部は、必要に応じて決めるも
ので、構造は不定であるため省略する。
【0020】位置記述部は、システムコールが記述され
ているファイルの名称を表す英数字列、システムコール
がファイルの何行目に記述されているかを表す数字列、
システムコールがプログラム実行中に数回実行される場
合、何行目の実行の時に指定された値を返すかを表す数
字列により構成される。例えば、”FILE003,1
0,1”のようになる。以上、3つの要素によりプログ
ラム中でシステムコールを一意に指定する。
【0021】即時報告記述部、完了報告記述部、非同期
報告記述部、周期報告記述部は、デフォルトテーブルと
指定テーブルで構造は共通である。
【0022】即時報告記述部は、システムコール毎に規
定されている即時報告内容を表現する英数字列である。
例えば”00 00 00 00”のようになる。
【0023】完了報告記述部は、本記述が完了報告であ
ることを表示するための英字列”FIN”、システムコ
ール発行から完了報告を返すまでの待ち時間を表す数字
列、完了報告内容を表す英数字列により構成される。例
えば、”FIN,5,0000 00 00”のように
なる。
【0024】非同期報告記述部は、本記述が非同期報告
であることを表示する英字列”ASY”、システムコー
ル発行から非同期報告を返すまでの待ち時間を表す数字
列、非同期報告内容を表す英数字列により構成される。
例えば、”ASY,10,00,00,00,08”の
ようになる。
【0025】周期報告記述部は、本記述が周期報告であ
ることを表示する英字列”CYC”、システムコール発
行から周期報告を返すまでの待ち時間を表す数字列、周
期報告内容を表す英数字列により構成される。例え
ば、”CYC,30,00 0000 00−00 0
0 00 01−00 00 00 02”のようにな
る。ここで、”00 00 00 00”,”00 0
0 00 01”,”00 00 00 02”はそれ
ぞれ1回目、2回目、3回目に報告内容として使用され
る。”00 00 00 00”は4回目の報告内容と
して使用される。以降、”00 00 00 0
1”,”00 00 00 02”の順で繰り返し本情
報が使用される。
【0026】図6は、アプリケーションプログラムとテ
ーブルの例を示す図である。図6(a)はプログラム例
を示し、図6(b)はテーブル例を示している。
【0027】図6においては、アプリケーションプログ
ラムがシステムコールAlocate−Resourc
e 0;を2回発行しているが、指定テーブルでFIL
E001の8行目のシステムコールの即時報告として”
00 00 00 10”を返すように指定しているた
め、1回目の発行時は”00 00 00 00”が報
告として返され、2回目の発行の時には、指定された値
である”00 0000 10”が返される。
【0028】
【発明の効果】以上説明したように、本発明によれば、
システムコールエミュレータにおいてシステムコールの
各種報告等のタイミング(内部時間)と内容を通常の場
合と特別な場合に分けられることにより、システムコー
ルエミュレータの動作テーブルを1システムコール毎に
記述する必要がなくなり、動作テーブルの記述量を減少
させ、テーブル作成の稼働を軽減するという利点があ
る。また、システムコールが正常の報告を返さない場合
でも、指定テーブルを利用することにより、アプリケー
ションソフトウェアの検証が可能である。
【図面の簡単な説明】
【図1】本発明の一実施例に係るシステムコールエミュ
レータの構成を示すブロック図である。
【図2】システムコール発行時の処理を示すフローチャ
ートである。
【図3】周期処理を示すフローチャートである。
【図4】テーブルの一般構成を説明するための図であ
る。
【図5】テーブルの各記述部の構成と具体例を説明する
図である。
【図6】アプリケーションプログラムファイルの内容と
テーブルの関係を説明するための図である。
【図7】従来の一実施例を示す図である。
【符号の説明】
11 アプリケーションプログラム 12 エミュレータ 13 システムコール発行時処理部 14 周期処理部 15 システムコールプログラム内位置管理部 16 処理待ち行列 17 テーブル選択部 18 ログテーブル生成部 19 指定テーブル 20 デフォルトテーブル 21 ログテーブル

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーションが使用するシステムコ
    ールを疑似するシステムコールエミュレータにおいて、 システムコール名を記述するシステムコール名記述部、
    システムコールの即時報告の内容等を記述する即時報告
    記述部、システムコールの完了報告の内容とタイミング
    を記述する完了報告記述部、システムコールの非同期報
    告の内容とタイミングを記述する非同期報告記述部、シ
    ステムコールの周期報告の内容とタイミングを記述する
    周期報告記述部、およびその他の情報を記述するオプシ
    ョン情報記述部を有するデフォルトテーブルと、 システムコールに対応した情報として、前記デフォルト
    テーブルのシステムコール対応情報の記述部である前記
    即時報告記述部、完了報告記述部、非同期報告記述部、
    周期報告記述部、およびオプション情報記述部に加え
    て、システムコールをプログラム中において一意に識別
    するために必要な情報として、システムコールが記述し
    ているプログラムのファイル名、ファイル中でシステム
    コールが記述されている行、およびシステムコールがプ
    ログラム中で繰り返し実行される場合に、何回目のシス
    テムコール発行であるかを記述する回数を有する位置記
    述部を合わせ持つ指定テーブルと、 前記両テーブルに記述された情報の中で報告処理に必要
    な情報をシステムコールのプログラム中での発行箇所を
    もとに判定し、必要テーブルを選択する機能であるテー
    ブル選択部とを具備することを特徴とするシステムコー
    ルエミュレータ。
  2. 【請求項2】 プログラムのシステムコール発行履歴を
    記録するログテーブルを指定テーブルと同一の構成と内
    容で生成するログテーブル生成部を具備し、生成された
    ログテーブルを指定テーブルとして使用することを特徴
    とする請求項1記載のシステムコールエミュレータ。
JP6283800A 1994-11-17 1994-11-17 システムコールエミュレータ Pending JPH08147196A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6283800A JPH08147196A (ja) 1994-11-17 1994-11-17 システムコールエミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6283800A JPH08147196A (ja) 1994-11-17 1994-11-17 システムコールエミュレータ

Publications (1)

Publication Number Publication Date
JPH08147196A true JPH08147196A (ja) 1996-06-07

Family

ID=17670313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6283800A Pending JPH08147196A (ja) 1994-11-17 1994-11-17 システムコールエミュレータ

Country Status (1)

Country Link
JP (1) JPH08147196A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018525714A (ja) * 2015-06-27 2018-09-06 マカフィー,エルエルシー アプリケーションのシミュレーション

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018525714A (ja) * 2015-06-27 2018-09-06 マカフィー,エルエルシー アプリケーションのシミュレーション

Similar Documents

Publication Publication Date Title
US6279006B1 (en) Structured data management system and computer-readable recording medium storing structured data management program
JP3182111B2 (ja) プログラムテスト支援装置
JP3206096B2 (ja) 入力データ処理装置
JP2613881B2 (ja) 船積書類自動作成方式
JPH05313864A (ja) ホスト−端末間動的リビジョン情報交換方式
JP3339708B2 (ja) イベント記録方式
Bianchi et al. A User's Viewpoint on the Programmer's Workbench.
JP2560892B2 (ja) エラー情報処理装置
JPS592156A (ja) リスト出力制御方式
JP2518390B2 (ja) システム性能監視方式
JP2000047862A (ja) ソフトウエア開発支援方法および装置並びに記録媒体
JPH07109586B2 (ja) プログラム構造資料作成処理装置
JPH0264744A (ja) 障害解析情報取得方式
JPH02247765A (ja) コマンド合成編集方式
JPH10187611A (ja) ジョブスケジュールの変更処理方式
JPH0520051A (ja) ソフトウエアコンバージヨン作業管理装置
JPH07120274B2 (ja) ユーザ資産の互換性の判定方法
JPH03248228A (ja) ソフトウェア設計情報の誤り検出方式
JPS63201740A (ja) サ−ビスプロセツサのデ−タ編集方式
JPH05274190A (ja) ワークステーション稼働情報分析システム
JPH0243638A (ja) プログラムテスト用ドライバ
JP2000003291A (ja) プログラム開発支援システム
JPH05151030A (ja) 利用者プログラム異常終了時の情報表示方式
JPH04213725A (ja) テスト・プログラムの自動発生方式
JPS58177868A (ja) エレベ−タの監視方式