JP2000259446A - デバック支援環境付オペレーティング・システムの実装されたコンピュータ・システム - Google Patents

デバック支援環境付オペレーティング・システムの実装されたコンピュータ・システム

Info

Publication number
JP2000259446A
JP2000259446A JP11065542A JP6554299A JP2000259446A JP 2000259446 A JP2000259446 A JP 2000259446A JP 11065542 A JP11065542 A JP 11065542A JP 6554299 A JP6554299 A JP 6554299A JP 2000259446 A JP2000259446 A JP 2000259446A
Authority
JP
Japan
Prior art keywords
task
response condition
operating system
system call
condition table
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
JP11065542A
Other languages
English (en)
Inventor
Mitsunori Tadokoro
三徳 田所
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11065542A priority Critical patent/JP2000259446A/ja
Publication of JP2000259446A publication Critical patent/JP2000259446A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 ソフトウェアの開発効率の向上と品質の向上
がみこまれるデバック支援環境付OSの実装されたコン
ピュータ・システムを提供する。 【解決手段】 リアルタイムOSの内部に、タスクから
のシステムコールの発行に対する応答条件と、その応答
条件に対応する処理を記述した応答条件テーブルを持つ
応答条件処理部を具備することによって、タスクごとに
独立して動作検証を行うことが可能となっている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイコンシステム
開発等において、プログラムの動作検証などのデバッグ
を支援する技術を組み入れたデバック支援環境付オペレ
ーティング・システムの実装されたコンピュータ・シス
テムに関するものである。
【0002】
【従来の技術】オペレーティング・システムを実装した
コンピュータ・システム、例えば、機器制御などに代表
される組み込みシステムにおいて、リアルタイム・オペ
レーティング・システム(リアルタイムOS)を使用し
たシステムでは、アプリケーションソフトウェアにおけ
るタスク間の関連やリアルタイムOSが管理するオブジ
ェクトとの関連が複雑である。そのため、機能的には、
個々に独立している単体のタスクの動作を検証する場合
でも、関連するタスクやオブジェクトの動作や定義を記
述する必要があり、単体のタスクのみの動作を検証する
ことは、一般的に困難であった。
【0003】タスクの単体での検証が困難であるという
ことは、複数の開発者で分担してタスクの開発を行なう
場合や、初期の開発段階で結合検証の実施が困難な場合
などには開発効率の低下やソフトウエア品質の向上が期
待できないなどの問題点があった。
【0004】
【発明が解決しようとする課題】従って、本発明の目的
は、上記問題点を解決し、ソフトウェアの開発効率の向
上と品質の向上がみこまれるデバック支援環境付オペレ
ーティング・システムの実装されたコンピュータ・シス
テムを提供することを目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明のコンピュータ・システムは、オペレーティ
ング・システムが実装され、このオペレーティング・シ
ステムの提供するシステムコールを利用するプログラム
の実行可能なコンピュータ・システムであって、前記オ
ペレーティング・システムに対して、前記プログラムか
らシステムコールが行われた場合、応答条件テーブルを
参照し、前記プログラムの設計者が予め設定し、そのシ
ステムコールに対応するエントリに記載されているユー
ザー定義処理が行われることを特徴とする。
【0006】従って、システムコールの対象オブジェク
トが存在していない場合でも、あらかじめ応答条件を設
定しておけば目的とするタスクのデバッグが可能となる
ことで、ソフトウェアの開発効率の向上と品質の向上が
みこまれる。
【0007】又、上記構成において、前記オペレーティ
ング・システムはオブジュクト管理テーブルを備え、前
記システムコールはオブジュクトと引数とし、このオブ
ジュクトが前記オブジュクト管理テーブルで有効なエン
トリに含まれる場合にはそのシステムコールで要求され
ている前記オペレーティング・システムのサービスが行
われ、有効でない場合には前記応答条件テーブルに記載
されている前記ユーザー定義処理が行われる。
【0008】又、上記構成において、前記オペレーティ
ング・システムが管理するオブジュクトとして、メール
ボックスとセマフォが含まれる。
【0009】又、上記構成において、前記外部から新た
なエントリの入力を求める処理は、対話的にユーザから
のコマンドを受け付ける処理である。
【0010】又、前記オペレーティング・システムはダ
ミータスクを備え、前記プログラムの他に実行可能タス
クが存在しない場合、前記プログラムから前記オペレー
ティングに制御が戻された際に、このダミータスクが実
行される。
【0011】
【発明の実施の形態】以下、機器制御を行なうためのリ
アルタイムOSを組み込んだ制御用のコンピュータ・シ
ステムを例にして、本発明の実施例を図を参照しながら
説明する。
【0012】図1は、本発明の実施例によるコンピュー
タ・システムの構成を概念的に表わした機能ブロック図
である。又、図2は、本発明の実施例によるコンピュー
タ・システムにおける処理の流れを示すダイアグラムで
ある。
【0013】本発明の実施例によるコンピュータ・シス
テムの特徴は、リアルタイムOSのデバック支援機能に
ある。すなわち、図1に示されているように、ユーザー
アプリケーションに対してハードウエアのサービスを提
供したり、タスク管理を行うオペレーティング・システ
ムには、応答条件処理部1と、応答条件テーブル5と、
ダミータスク処理部3と、コマンドラインインタプリタ
(CLI)7が設けられている。
【0014】応答条件処理部1は、タスクからのシステ
ムコール発行時に、そのシステムコールが発行されたと
きの条件をもとに応答条件テーブル5を参照し、条件に
一致する処理を行いタスクに対し応答(エラーコードや
メッセージの返却)を行う。
【0015】ここで、応答条件テーブル5の参照は、一
般には、システムコール処理ルーチン内のエラー処理ル
ーチンの一部として行われるようにする。例えば、未定
義のオブジェクトに対してシステムコールが発行された
場合などに応答条件テーブル5の参照が行われる。この
ようにすれば、通常の動作では未定義のオブジェクトに
対してシステムコールが発行されることはないので、応
答条件テーブル5の参照はデバックの時のみとなる。従
って、デバック動作と通常の動作を同一環境とすること
も可能となる。
【0016】また、システムコールの呼び出しに対し
て、デバック動作の時には常に応答条件テーブル5を参
照するようにし、又通常動作では一切参照しないように
しておいてもよい。この場合は、デバック動作の時のみ
応答条件テーブル5のを参照が行われ、通常の動作では
この参照はスキップされる。
【0017】応答条件テーブル5は、タスクからのシス
テムコールの発行に対する応答条件と、その応答条件に
対応する処理を記述したテーブルである。このテーブル
は、応答条件処理部1とダミータスク処理部3によって
参照される。
【0018】図3は、応答条件テーブル5のフォーマッ
トを説明する図である。ここで応答条件テーブル5は、
応答条件を記述した条件部とそれに対する応答処理を記
述した処理部からなるエントリを複数有する。条件部は
システムコールを発行したタスクID、オブジェクトI
D、システムコール番号、その他の条件からなる。その
他の条件としては、イベントフラグのパターンや、その
他必要な情報を格納しておくことができる。
【0019】又、処理部は応答条件処理部1用とダミー
タスク処理部3用で別れており、応答条件処理部1用は
タスクに返すエラーコードとメッセージなどの付加情報
からなる。一方、ダミータスク処理部3用はシステムコ
ール発行用とコマンド発行用に別れており、システムコ
ール発行用は発行するシステムコールのタスクID、オ
ブジェクトID、システムコール番号、その他の引数か
らなり、コマンド発行用はコマンド番号とその引数から
なる。
【0020】次に、ダミータスク処理部3を説明する。
システムコールの発行等により、オペレーティング・シ
ステムに制御が戻り、ディスパッチが発生した時、実行
可能タスクが存在しない場合には、このダミータスク処
理部3に制御が渡される。ここでは、ディスパッチが発
生した時点での待ちタスクの条件をもとに「応答条件テ
ーブル5」を参照し、条件に一致する処理(システムコ
ールの発行、メモリやレジスタの読み書きといったユー
ザー定義のコマンド発行)を行なう。
【0021】次に、コマンドラインインタプリタ7を説
明する。これは、ユーザからのコマンド入力を対話的に
行うためのインタフェースであり、応答条件テーブル5
を参照した時、その条件に一致しないか、または条件が
設定されていない場合に、このコマンドラインインタプ
リタ7に制御が移る。ここでは、ユーザから対話的に入
力されるコマンドを解析し応答条件を応答条件テーブル
5に追加する。
【0022】本発明の具体例として、図4乃至図7のフ
ローチャートを参照して、以下の条件における発明の作
用と効果について説明する。図4は、本発明の応答条件
処理部1のフローチャートであり、図5は、本発明のダ
ミータスク処理部3のフローチャートであり、図6は、
本発明のコマンドラインインタプリタ7のフローチャー
トであり、図7は、本発明のディスパッチ処理部のフロ
ーチャートである。
【0023】1.実施例のアプリケーションには、一つ
のタスク(tska)だけが存在し、その他のオブジェクト
(セマフォや他のタスクなど)は一切存在しない。
【0024】2.タスク(tska)の内容は以下の通り。
【0025】 /* *タスク(tska)は、メールボックスMBXIDにrcv_msgを発行し、 *その返り値としてエラーコードとメッセージを得る。 *その得られたエラーコード毎に処理を振り分け、もしエラーコ *ード(ercd)がE_OKならば、得られたメッセージを出力し、エ *ラーコードがE_RLWAIならば、Can't receive messageを出力する。 */ #define MBXID 1 TASK tska(INT stacd) { ER ercd; T_MSG *pk_msg; ercd = rcv_msg(&pk_msg, MBXID); if (ercd == E_OK) printf("%s\n", pk_msg->msgcont); else if (ercd == E_RLWAI) printf("Can't receive message\n"); ext_tsk(); } 従来のOSでは、実施例のアプリケーションを実行した
場合、タスク(tska)が実行状態になりシステムコール
rcv_msgをメールボックスMBXIDに対して発行する。その
とき、メールボックスMBXIDは存在しないとすると、O
Sはシステムコールに対する応答としてエラーをE_NOEX
Sをタスクに返す。しかし、ユーザはエラーコードとし
てE_OKやE_RLWAIが返ることを期待しているので、この
タスクはユーザの期待通りの動作をすることはない。そ
のため、このタスクの動作を検証することはこの時点で
不可能となる。
【0026】これに対して、本発明による実施例では、
応答条件処理部1を持っている。タスク(tska)が実際
には存在しないメールボックスMBXIDに対してシステム
コールrcv_msgを発行したときに(ステップ41)、オ
ペレーティング・システムは内部のオブジュクト管理テ
ーブルを検索し(ステップ42)、有効なオブジュクト
として登録してあれば通常のシステムコールの処理が行
われる(ステップ47)。もし、有効なオブジュクトと
して登録してなければ、応答条件処理部1が応答条件テ
ーブル5から発行されたシステムコールに対する応答条
件を探して(ステップ43)、ユーザが予め定義した応
答をタスク(tska)に対して返す(ステップ44)。
【0027】このとき、応答条件テーブル5にはユーザ
の望む任意の応答条件を定義しておくことができるの
で、例えばタスク(tska)からメールボックスMBXIDに
対して、rcv_msgが発行された場合には、エラーコード
としてE_OKを返すと定義しておけば、rcv_msgの応答と
してE_OKが返される場合のタスク(tska)の動作を検証
することが可能となる。また、応答条件テーブル5に最
初にrcv_msgが発行された場合には、エラーコードとし
てE_OKを返すと定義しておき、2回目にrcv_msgが発行
された場合には、エラーコードとしてE_RLWAIを返すと
定義しておけば、rcv_msgの発行に対する応答により処
理を振り分けているような場合でも、想定しうるあらゆ
る状態に対するタスク(tska)の動作を検証することが
可能となる。その後、応答条件の処理結果としてディス
パッチ要求が起こった場合(ステップ45)には、ディ
スパッチ処理に移り(ステップ71)、ディスパッチ要
求が無い場合には一連のシステムコール処理が終了す
る。
【0028】又、ダミータスク処理部3を持たないOS
において、実施例のアプリケーションでタスク(tska)
がシステムコールrcv_msgを発行した場合について考え
る。このときメールボックスMBXIDが存在しており、そ
のメールボックスにメールが入っていない場合、あるい
はメールボックスMBXIDが存在しておらず、応答条件テ
ーブル5に待ち条件に入るという応答条件が定義されて
いる場合には、ディスパッチャはタスク(tska)を実行
状態から待ち状態に移行し、現在実行可能状態にある他
のタスクを実行状態に移行させようとする。しかし、実
施例のアプリケーションの場合、tska以外のタスクは存
在しないので、tskaが実行可能状態に変化するまでOS
はアイドル状態となる。そのため、タスク(tska)を実
行可能状態に変化させるオブジェクトが存在しないの
で、これ以降2度とタスク(tska)が実行状態に移行す
ることはなく、その時点でタスク(tska)の動作検証を
継続することは不可能となる。
【0029】これに対して本発明では、タスク(tska)
が待ち状態に移行するときにステップ72で、他に実行
可能状態のタスクが存在する場合は、そのタスクにディ
スパッチして(ステップ73)、ディスパッチを終了す
る。又、他に実行可能状態のタスクが存在しない場合、
オペレーティング・システムのディスパッチャはダミー
タスク処理部3に制御を移す(ステップ51)。ダミー
タスク処理部3では応答条件テーブル5から現在のアプ
リケーションの状態に対応する応答条件を探して(ステ
ップ52)、見つかった場合にはユーザが予め定義した
処理(システムコールの発行やメモリ/レジスタの読み
書きなど)を行う(ステップ53)。
【0030】その後、ステップ54で、システムコール
発行の結果としてディスパッチ要求が起こった場合には
ディスパッチ処理に移り(ステップ71)、ディスパッ
チ要求が無い場合にはダミータスク処理を再び頭から実
行する。このとき、応答条件テーブル5にはユーザの望
む任意の応答条件を定義しておくことができるので、例
えばタスク(tska)が待ち状態に移行した場合、メール
ボックスMBXIDに対してシステムコールsnd_msgを発行す
ると定義しておけば、タスク(tska)は待ち状態から解
除されて再び実行状態に移行する。このとき、タスク
(tska)にはrcv_msgの応答としてE_OKとメッセージが
返される。このようにして、タスク(tska)以外の他の
タスクが存在しない場合でも、タスク(tska)の動作を
検証することが可能となる。
【0031】ここで、コマンドラインインタプリタ7を
持たないOSにおいて、応答条件処理部1やダミータス
ク処理部3が応答条件テーブル5を参照し処理を行おう
とする場合、応答条件テーブル5に適合する条件が定義
されていないときには、各処理部はそれ以上処理を継続
することが出来なくなる。
【0032】これに対して本発明では、応答条件テーブ
ル5に適合する条件が定義されていない場合コマンドラ
インインタプリタに制御を移し(ステップ61)、コマ
ンドラインインタプリタはユーザに対して入力待ち状態
となる。ステップ62でユーザから入力が有った場合、
コマンドラインインタプリタはそれを解析して応答条件
テーブル5に応答条件を設定して、再び応答条件処理部
1やダミータスク処理部3に制御を戻す(ステップ6
3)。つまり、もし応答条件テーブル5に適合する応答
条件が設定されていなかった場合でも、逐次ユーザが応
答条件をテーブルに設定していくことで、継続してタス
クの動作を検証することが可能となる。
【0033】例えば、実施例のアプリケーションにおい
てタスク(tska)がrcv_msgを発行したが、それに適合
する応答条件が応答条件テーブル5に定義されていなか
った場合でも、コマンドラインインタプリタに対してユ
ーザがエラーコードとしてE_OKを返すことを入力してや
れば、新たなエントリとしてそれが応答条件テーブル5
に設定されるので、応答条件処理部1は何も問題なく処
理を行うことが出来、タスク(tska)の動作を検証する
ことが可能となる。
【0034】
【発明の効果】以上説明したように、この発明によれ
ば、システムコールの対象オブジェクトが存在していな
い場合でも、あらかじめ応答条件を設定しておけば目的
とするタスクのデバッグが可能となることで、ソフトウ
ェアの開発効率の向上と品質の向上がみこまれる。
【図面の簡単な説明】
【図1】本発明の実施例を概念的に表わした機能ブロッ
ク図。
【図2】実施例における機能ブロック間の処理の流れ。
【図3】実施例における応答条件テーブルのフォーマッ
ト。
【図4】本発明の応答条件処理部のフローチャート。
【図5】本発明のダミータスク処理部のフローチャー
ト。
【図6】本発明のコマンドラインインタプリタ(CL
I)のフローチャート。
【図7】本発明のディスパッチ処理部のフローチャー
ト。
【符号の説明】
1 応答条件処理部 3 ダミータスク処理部 5 応答条件テーブル 7 コマンドラインインタプリタ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 オペレーティング・システムが実装さ
    れ、このオペレーティング・システムの提供するシステ
    ムコールを利用するプログラムの実行可能なコンピュー
    タ・システムであって、前記オペレーティング・システ
    ムに対して、前記プログラムからシステムコールが行わ
    れた場合、応答条件テーブルを参照し、前記プログラム
    の設計者により読戻されるエントリに記載されるユーザ
    ー定義処理が行われることを特徴とするデバック支援環
    境付オペレーティング・システムの実装されたコンピュ
    ータ・システム。
  2. 【請求項2】 前記オペレーティング・システムはオブ
    ジュクト管理テーブルを備え、前記システムコールはオ
    ブジュクトと引数とし、このオブジュクトが前記オブジ
    ュクト管理テーブルで有効なエントリに含まれる場合に
    はそのシステムコールで要求されている前記オペレーテ
    ィング・システムのサービスが行われ、有効でない場合
    には前記応答条件テーブルに記載されている前記ユーザ
    ー定義処理が行われることを特徴とする請求項1に記載
    のデバック支援環境付オペレーティング・システムの実
    装されたコンピュータ・システム。
  3. 【請求項3】 前記応答条件テーブルが参照された結
    果、前記システムコールに対応するエントリが存在しな
    い場合、外部から新たなエントリの入力を求める処理が
    行われることを特徴とする請求項1に記載のデバック支
    援環境付オペレーティング・システムの実装されたコン
    ピュータ・システム。
  4. 【請求項4】 前記外部から新たなエントリの入力を求
    める処理は、対話的にユーザからのコマンドを受け付け
    る処理であることを特徴とする請求項1に記載のデバッ
    ク支援環境付オペレーティング・システムの実装された
    コンピュータ・システム。
  5. 【請求項5】 前記オペレーティング・システムはダミ
    ータスクを備え、前記プログラムの他に実行可能タスク
    が存在しない場合、前記プログラムから前記オペレーテ
    ィングシステムに制御が戻された際に、このダミータス
    クを実行することを特徴とする請求項1に記載のデバッ
    ク支援環境付オペレーティング・システムの実装された
    コンピュータ・システム。
JP11065542A 1999-03-11 1999-03-11 デバック支援環境付オペレーティング・システムの実装されたコンピュータ・システム Pending JP2000259446A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11065542A JP2000259446A (ja) 1999-03-11 1999-03-11 デバック支援環境付オペレーティング・システムの実装されたコンピュータ・システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11065542A JP2000259446A (ja) 1999-03-11 1999-03-11 デバック支援環境付オペレーティング・システムの実装されたコンピュータ・システム

Publications (1)

Publication Number Publication Date
JP2000259446A true JP2000259446A (ja) 2000-09-22

Family

ID=13290020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11065542A Pending JP2000259446A (ja) 1999-03-11 1999-03-11 デバック支援環境付オペレーティング・システムの実装されたコンピュータ・システム

Country Status (1)

Country Link
JP (1) JP2000259446A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020573A (ja) * 2007-07-10 2009-01-29 Toshiba Corp Dspカード試験装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020573A (ja) * 2007-07-10 2009-01-29 Toshiba Corp Dspカード試験装置

Similar Documents

Publication Publication Date Title
JP4684376B2 (ja) カーネル・モードにおけるソフトウェア・ドライバを相互接続する方法,コンピュータ・プログラム・プロダクト、システムおよび記録媒体
JP3929551B2 (ja) セパレート・プロセッシング・コンポーネント間のバッファ間データ転送を減らす方法およびコンピュータ読取り可能媒体
US6098112A (en) Streams function registering
JP3929554B2 (ja) ファイル・オブジェクトの生成をバリデーションし、ファイル・オブジェクトへのメッセージをルーチングする方法
CA2074633C (en) Real-time, concurrent, multifunction digital signal processor subsystem for personal computers
US20050289505A1 (en) Method and system for improving performance and scalability of applications that utilize a flow-based-programming methodology
CA2386658A1 (en) System of reusable software parts for implementing concurrency and hardware access, and methods of use
KR20030070819A (ko) Sm버스 통지
CN100349121C (zh) 嵌入式并行计算系统以及嵌入式并行计算方法
JP2000259446A (ja) デバック支援環境付オペレーティング・システムの実装されたコンピュータ・システム
KR100331519B1 (ko) 분산 애플리케이션을 실행시키는 시스템 및 컴퓨터화된 방법
JP5382624B2 (ja) マルチプロセッサ制御装置、その方法及びそのプログラム
JP2005108082A (ja) デバイスドライバのインターフェース方法
US6865579B1 (en) Simplified thread control block design
CN109857380B (zh) 一种工作流文件编译方法及装置
JP2004334735A (ja) ソフトウェア無線機
Takada et al. The ITRON project: Overview and recent results
JP3457520B2 (ja) リアルタイムos上のタスク実行制御方式
CN114296809B (zh) 一种基于操作系统的对象模型构建方法及其系统调用接口
JPH04107741A (ja) Rpcにおけるサービスプロシージャの外出し方式
WO2021081730A1 (zh) 直接内存访问控制方法、系统、计算机设备及存储介质
CN117971760A (zh) 边缘计算设备框架系统、芯片、存储介质和装置
Takada et al. Recent results of the ITRON subproject
JP2004334734A (ja) ソフトウェア無線システム
JPH0863363A (ja) 仮想実行環境実現システム