JPH05324385A - 入出力通信シミュレーションシステム - Google Patents

入出力通信シミュレーションシステム

Info

Publication number
JPH05324385A
JPH05324385A JP13208792A JP13208792A JPH05324385A JP H05324385 A JPH05324385 A JP H05324385A JP 13208792 A JP13208792 A JP 13208792A JP 13208792 A JP13208792 A JP 13208792A JP H05324385 A JPH05324385 A JP H05324385A
Authority
JP
Japan
Prior art keywords
input
interrupt
communication system
output
virtual device
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
JP13208792A
Other languages
English (en)
Inventor
Takeshi Ono
毅 大野
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP13208792A priority Critical patent/JPH05324385A/ja
Publication of JPH05324385A publication Critical patent/JPH05324385A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【目的】入出力デバイス使用の通信システムにおけるハ
ードウェアの制限を受けないシミュレーション開発環境
を構築し、汎用開発マシン上で入出力デバイスを実装し
たリアルタイムシステムをシミュレーションするシステ
ムを提供する。 【構成】プロセス間同期機能、複数のプロセスが共有可
能なメモリ空間、ソフトウェア割り込み管理機能を有す
るOSと、実機上の通信システムをマシン上で正確にシ
ミュレーションする入出力通信システム・シミュレーシ
ョンプロセス部と、入出力デバイスごとに用意され、マ
シン上でデバイスの動作を忠実にシミュレーションする
仮想デバイスサーバを備えた仮想デバイスサーバ部から
なり、OSが提供する機能を使用して、ドライバと入出
力デバイスの非同期I/O処理を入出力通信システム・
シミュレーションプロセスと仮想デバイスサーバ間の非
同期通信でシミュレーションする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入出力通信シミュレー
ションシステムに関し、詳しくは入出力デバイス実装通
信システムのシミュレーション開発環境における仮想デ
バイスとの非同期通信を可能にしたシミュレーションシ
ステムに関する。
【0002】
【従来の技術】従来、入出力デバイスを使用した通信シ
ステムを汎用開発マシン[例えばUNIX(UNIXは
登録商標)マシン]で開発する場合、ハードウェアの制
限により次の3種類の開発モデルが試みられてきた。 図10に示すように入出力デバイスを使用できない場
合 開発マシンが入出力デバイスをサポートしていないた
め、デバイスドライバの上位層でループバックを行な
う。 図11に示すように、入出力デバイスを使用したルー
プバック通信が可能な場合 開発マシンに1対の入出力
デバイスを装備して、通信ケーブルでデバイス間を接続
し、ループバックさせる。アプリケーションだけでなく
デバイスドライバやファームウェアの開発および通信テ
ストが実行できる。 図12に示すように、入出力デバイスのマスターシス
テムと通信が可能な場合マスタシステムとして完成され
た通信システムを1台用意し、開発マシンと通信ケーブ
ルで接続する。上記と同様アプリケーションからデバ
イスのファームウェアまでの開発および通信テストが可
能な上、ループバックではないため動作解析が容易であ
る。
【0003】
【発明が解決しようとする課題】しかしながら、上記
ないしについて次のような問題がある。すなわち、
の場合、容易に開発環境を構築できるが、デバイスドラ
イバの通信テストができないことや、複雑な通信現象を
シミュレーションできないという欠点がある。また、上
記の場合は、入出力割り込みが多発して、入出力デー
タが同一マシン内を双方向に行き来するため、動作解析
は複雑であるという問題がある。更に上記の場合は、
新規開発時にはマスタシステムが存在しないので、実用
面で問題がある。本発明の目的は、これらの問題を解消
するもので、入出力デバイスを使用する通信システムに
おけるハードウェアの制限を受けないシミュレーション
開発環境を構築し、汎用開発マシン上で通信アプリケー
ションおよびデバイスドライバの開発および通信テスト
ができ、入出力デバイスを実装したリアルタイムシステ
ムをシミュレーションすることのできる入出力通信シミ
ュレーションシステムを提供することにある。
【0004】
【課題を解決するための手段】このような目的を達成す
るために本発明は、プロセス間同期機能、複数のプロセ
スが共有可能なメモリ空間、ソフトウェア割り込み管理
機能を有するOS部と、実機上の通信システムをマシン
上で正確にシミュレーションする入出力通信システム・
シミュレーションプロセス部と、入出力デバイスごとに
用意され、マシン上でデバイスの動作を忠実にシミュレ
ーションする仮想デバイスサーバを備えた仮想デバイス
サーバ部からなり、前記OS部が提供する機能を使用し
て、ドライバと入出力デバイスの非同期I/O処理を入
出力通信システム・シミュレーションプロセスと仮想デ
バイスサーバ間の非同期通信でシミュレーションするも
ので、通信システムの送信要求に対して仮想デバイスサ
ーバが送信を完了したときの送信完了割り込み要求ある
いは仮想デバイスサーバがデータを受信した時のデータ
受信割り込み要求を実現する非同期通信によって、入出
力デバイスを実装したリアルタイムシステムをシミュレ
ーションすることを特徴とすることを特徴とする。
【0005】
【作用】通信システムの送信要求に対して仮想デバイス
サーバが送信を完了したときの送信完了割り込み要求あ
るいは仮想デバイスサーバがデータを受信した時のデー
タ受信割り込み要求を実現する非同期通信によって、入
出力デバイスを実装したリアルタイムシステムをシミュ
レーションする。仮想デバイスサーバの割り込み要求に
対する処理は次のように行なわれる。 デバイスからの割り込み要求時、プロセス間同期機能
によりデバイスが通信システムへ割り込み可能かどうか
を判断する。割り込み可能なら割り込みの再要求を禁止
し、割り込み不可能なら可能になるまで待つ。 プロセス間同期機能により、ビットフィールドの変更
が可能かどうか判断する。変更可能なら他のプロセスが
変更するのを禁止し、変更不可能なら可能になるまで待
つ。 割り込み要求のデバイスに該当するステータスビット
を1にセットする。 通信システムにソフトウェア割り込みを発生させる。 上記で行なった変更禁止を解除する。
【0006】また、通信システムの割り込みハンドラに
ついては次のような処理を行なう。 プロセス間同期機能によりビットフィールドの変更が
可能かどうか判断する。変更可能なら他のプロセスが変
更するのを禁止し、変更不可能なら可能になるまで待
つ。 割り込みステータスビットフィールドの中から最優先
度の割り込みを探し、上記で行なった変更禁止を解除
する。そして、割り込みが発生しているならその割り込
み処理を行い、割り込みが発生していないならハンドラ
を終了させる。 再度上記の処理を行なう。 その割り込みに該当するステータスビットを0にクリ
アする。 上記の処理におけるプロセス変更の禁止を解除す
る。 仮想デバイスサーバが設定した割り込みの再要求禁止
を解除し、上記の処理に戻る。
【0007】
【実施例】以下本発明を詳細に説明する。図1は本発明
に係る入出力通信シミュレーションシステムの原理的ブ
ロック構成図である。図において、10は入出力通信シ
ステム・シミュレーションプロセス部、20は汎用のO
S(OSはオペレーティングシステムの略)部、30は
複数の仮想デバイスサーバ1〜Nを有する仮想デバイス
サーバ部である。なお、図中のPは汎用OS上のプロセ
スを表わしている。入出力通信システム・シミュレーシ
ョンプロセス部10は、実機上の通信システム(通信ア
プリケーション、通信プロトコル、デバイスドライバ)
を正確にシミュレーションするプロセス部で、入出力デ
バイスとの送受信は仮想デバイスサーバ部30とのプロ
セス間の非同期通信で実現する。
【0008】OS部20は、プロセス間同期機能部2
1、複数プロセスが共有可能なメモリ空間22、ソフト
ウェア割り込み管理機能部23を有する。プロセス間同
期機能部21は、通信システムや仮想デバイスサーバ
部30が割り込みステータスビットフィールド(この割
り込みステータスビットフィールドについては後述)を
読み書きするときに使用する割り込みステータスビット
フィールド変更時排他制御機構と、仮想デバイスサー
バ部30が割り込み要求を発生する場合、割り込みの種
類(デバイスの種類)ごとに、前回の割り込みに対する
通信システムの割り込み処理が終了しているかどうかを
確認する割り込み要求時排他制御機構の2つの制御機構
の競合条件を回避させるためのもので、例えばセマフォ
等がこれに該当する。
【0009】メモリ空間22は、通信システムと仮想デ
バイスサーバ部からもアクセスが可能になっている。実
機上ではデバイス制御レジスタや入出力データを共有可
能なI/Oアクセス空間に配置している。したがって通
信システムと仮想デバイスサーバにおいても互いに共有
可能なアドレス空間に、デバイス制御レジスタや入出力
データを配置してドライバのソースプログラムの共通利
用を実現している。おいても一部共有するようになって
いる必要がある。また、シミュレーション環境では、こ
の共有メモリ空間上に割り込みステータスビットフィー
ルドも割り当てる。ここで、割り込みステータスビット
フィールドについて説明する。1種類のソフトウェア割
り込みで複数のハードウェア割り込みをシミュレーショ
ンするために、図2に示すようなステータスビットフィ
ールドを用意する。そして割り込みを区別するために、
割り込みの種類(デバイスの種類)ごとに1ビットのエ
リアを確保する。ビットフィールド長は割り込みの種類
に等しい。仮想デバイスサーバが割り込みを要求した時
当該ビットは1にセットされ、通信システムがその割り
込み処理を終了させた時0にリセットされる。ソフトウ
ェア割り込み管理機能部23は、割り込みハンドラを登
録し、複数のハードウェア非同期割り込みをシミュレー
ションする。また、割り込み時にユーザが定義したハン
ドラを自動的に実行する機能や、クリティカルリージョ
ンでは割り込みを禁止する機能をも有する。
【0010】このような構成における非同期通信の動作
原理を次に説明する。非同期通信は仮想デバイスサーバ
からの次の主なI/O(入出力)割り込み要求により発
生する。 (1) 通信システムの送信要求に対して仮想デバイスサー
バが送信を完了した時の割り込み(送信完了割り込
み)。 (2) 仮想デバイスサーバがデータを受信した時の割り込
み(データ受信割り込み)。
【0011】この割り込み要求に対する動作原理を順を
追って説明する。 A.仮想デバイスサーバのI/O割り込み要求 当該デバイスからの割り込み要求時、プロセス間同期
機能部21の割り込み要求時排他制御機構を用いてデバ
イスが通信システムへ割り込み可能かどうかを判断す
る。割り込み可能なら割り込みの再要求を禁止し、割り
込み不可能なら可能になるまで待つ。 プロセス間同期機能部21の割り込みステータスビッ
トフィールド変更時排他制御機構を使って、ビットフィ
ールドの変更が可能かどうか判断する。変更可能なら他
のプロセスが変更するのを禁止し、変更不可能なら可能
になるまで待つ。 割り込み要求のデバイスに該当するステータスビット
を1にセットする。 通信システムにソフトウェア割り込みを発生させる。 上記で行なった変更禁止を解除する。
【0012】B.通信システムの割り込みハンドラ プロセス間同期機能部21の割り込みステータスビッ
トフィールド変更時排他制御機構を使ってビットフィー
ルドの変更が可能かどうか判断する。変更可能なら他の
プロセスが変更するのを禁止し、変更不可能なら可能に
なるまで待つ。 割り込みステータスビットフィールドの中から最優先
度の割り込みを探し、上記で行なった変更禁止を解除
する。そして、割り込みが発生しているならその割り込
み処理を行い、割り込みが発生していないならハンドラ
を終了させる。 再度上記の処理を行なう。 その割り込みに該当するステータスビットを0にクリ
アする。 上記の処理におけるプロセス変更の禁止を解除す
る。 仮想デバイスサーバが設定した割り込みの再要求禁止
を解除し、上記の処理に戻る。 以上のような動作により、汎用開発マシン上で入出力デ
バイスを実装したリアルタイムシステムをシミュレーシ
ョンすることができる。
【0013】図3は本発明をUNIXシステム開発マシ
ン上で構築した場合のシミュレーションシステムの実施
例図である。UNIX開発マシン20aとしては、セマ
フォ管理機能を有するセマフォ管理機能部21a、共有
メモリ管理機能を有する共有メモリ管理機能部22a、
シグナル管理機能を持つシグナル管理機能部23aがあ
る。UNIX開発マシン20aとしては次のような仕様
を満足するものである。 (1) 特別に入出力デバイスを必要としない。 (2) 使用するOS機能としては以下の3種類が必要であ
る。 共有メモリ管理機能部22aの機能 次のエリアをリアルタイムシステム・シミュレーション
プロセスと仮想デバイスサーバがアクセスできるよう
に、共有メモリに配置する。 (a) 送信バッファ :出力データを一時保存す
るバッファ (b) 受信バッファ :入力データを一時保存す
るバッファ (c) デバイス制御レジスタ :デバイスへの命令、終了
状態を示す値がセットされる。 (d) 割り込みステータスビットフィールド:シミュレー
ションする割り込みの個数分のビットが用意される。 シグナル管理機能部23aの機能 仮想デバイスサーバからリアルタイムシステムへのソフ
トウェア割り込みに、ユーザが定義可能なシグナルSIGU
SR1,SIGUSR2 を使用する。 セマフォ管理機能部21aの機能 複数の仮想デバイスサーバからの非同期割り込みによる
競合条件を回避するため、次の2種類のセマフォ管理機
能を使用する。ただし、どのセマフォも初期値は1(リ
ソース1)である。 (a) 割り込みステータスビットフィールド変更用セマフ
ォ:シミュレーション環境全体で1つのセマフォを用意
する。 (b) 割り込み要求用セマフォ:仮想デバイスサーバの割
り込み種類ごとにセマフォを用意する。
【0014】リアルタイムシステム・シミュレーション
プロセス部10aは次のような構成である。 実機用のリアルタイムシステムをUNIXのプロセス
で忠実にシミュレーションしている。 アプリケーションタスク、リアルタイムOS、デバイ
スドライバから構成される。 リアルタイムOSは、デバイスドライバやデバイスか
らの割り込みを制御・管理するIOCS(Input Output
Control System )を含む。 実機用割り込みハンドラはシグナルハンドラに変更さ
れる。
【0015】仮想デバイスサーバ部30aは次の通りで
ある。 リアルタイムシステム・シミュレーションプロセス1
0aにとって実機の入出力デバイスのアクセスと違いが
ないように、デバイスの動作を忠実にシミュレーション
している。 複数の仮想デバイスサーバはデバイスごとに用意さ
れ、お互いに独立に動作する。 非同期通信で使用されるデバイス制御レジスタ用デー
タや送受信データは次のように自由に作成することが可
能である。 (a) 実際のデバイス(ハードウェア)を直接アクセスし
てデータを得る。 (b) 仮想デバイスサーバが独自にデータを作成したり保
持したりする。ファイルの利用も可能である。 (c) 他のプロセスや、あるいはネットワークを介して別
の開発マシンからデータが用意される。
【0016】図4ないし図9はデータ送受信時における
リアルタイムシステム・シミュレーションプロセス部1
0aと仮想デバイスサーバ部30aのサーバ1の動作を
示すフローチャートである。詳しくは、図4と図5はデ
ータ送信時、図6と図7はデータ受信時、図8と図9は
シグナルによる割り込み発生時のフローチャートであ
る。
【0017】なお、実施例ではUNIX開発マシン上で
のシミュレーションシステムを構築した例を示したが、
本発明はUNIX開発マシンに限定されるものではな
く、例えばMS−DOS、OS/2、Macintos
h、VMS等(いずれもその名称は登録商標)の開発マ
シン上で通信システムのシミュレーション環境を構築で
きる。
【0018】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 汎用開発マシン上で実機の通信アプリケーションおよ
びデバイスドライバを修正することなく動作させること
ができる。 本発明のシミュレーション開発環境を用いれば、入出
力デバイスが開発される前から、通信アプリケーション
やデバイスドライバの開発および通信テストが可能であ
る。 仮想デバイスサーバとの非同期通信方法は、入出力デ
バイスの特性および個数に制限がないため、世の中のす
べての通信システムのシミュレーションに適用できる。 リアルタイム通信プロトコルの研究に本発明の通信シ
ステムのシミュレーション開発環境を利用できる。
【図面の簡単な説明】
【図1】本発明に係る入出力通信シミュレーションシス
テムの原理的ブロック構成図である。
【図2】割り込みステータスビットフィールドに関する
説明図である。
【図3】UNIX開発マシン上のシミュレーションシス
テムの構成図である。
【図4】データ送信時の動作を示すフローチャート(前
半部)である。
【図5】データ送信時の動作を示すフローチャート(後
半部)である。
【図6】データ受信時の動作を示すフローチャート(前
半部)である。
【図7】データ受信時の動作を示すフローチャート(後
半部)である。
【図8】シグナルによる割り込み発生時の動作を示すフ
ローチャート(前半部)である。
【図9】シグナルによる割り込み発生時の動作を示すフ
ローチャート(後半部)である。
【図10】従来の開発モデルの一例を示す構成図であ
る。
【図11】従来の他の開発モデルの一例を示す構成図で
ある。
【図12】従来の更に他の開発モデルの一例を示す構成
図である。
【符号の説明】
10 入出力通信システム・シミュレーションプロセス
部 20 OS部 21 プロセス間同期機能部 22 メモリ空間 23 ソフトウェア割り込み管理機能部 30 仮想デバイスサーバ部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】プロセス間同期機能、複数のプロセスが共
    有可能なメモリ空間、ソフトウェア割り込み管理機能を
    有するOS部と、 実機上の通信システムをマシン上で正確にシミュレーシ
    ョンする入出力通信システム・シミュレーションプロセ
    ス部と、 入出力デバイスごとに用意され、マシン上でデバイスの
    動作を忠実にシミュレーションする仮想デバイスサーバ
    を備えた仮想デバイスサーバ部からなり、 前記OS部が提供する機能を使用して、ドライバと入出
    力デバイスの非同期I/O処理を入出力通信システム・
    シミュレーションプロセスと仮想デバイスサーバ間の非
    同期通信でシミュレーションすることを特徴とする入出
    力通信シミュレーションシステム。
JP13208792A 1992-05-25 1992-05-25 入出力通信シミュレーションシステム Pending JPH05324385A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13208792A JPH05324385A (ja) 1992-05-25 1992-05-25 入出力通信シミュレーションシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13208792A JPH05324385A (ja) 1992-05-25 1992-05-25 入出力通信シミュレーションシステム

Publications (1)

Publication Number Publication Date
JPH05324385A true JPH05324385A (ja) 1993-12-07

Family

ID=15073197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13208792A Pending JPH05324385A (ja) 1992-05-25 1992-05-25 入出力通信シミュレーションシステム

Country Status (1)

Country Link
JP (1) JPH05324385A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209643A (ja) * 2005-01-31 2006-08-10 Ricoh Co Ltd インタフェース回路及びそのインタフェース回路を使用したシステム装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209643A (ja) * 2005-01-31 2006-08-10 Ricoh Co Ltd インタフェース回路及びそのインタフェース回路を使用したシステム装置
US8055824B2 (en) 2005-01-31 2011-11-08 Ricoh Company, Ltd. Interface unit for interfacing host unit and peripheral unit

Similar Documents

Publication Publication Date Title
CN110764901B (zh) 基于gpu资源的数据处理方法、电子设备及系统
US4792896A (en) Storage controller emulator providing transparent resource sharing in a computer system
EP0899659B1 (en) An apparatus and method for simulating multiple nodes on a single machine
US8776050B2 (en) Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
EP1508855A2 (en) Method and apparatus for providing virtual computing services
JPH0827726B2 (ja) 共通エージェント・コンピュータ管理システムと方法
KR100250464B1 (ko) 고속병렬컴퓨터의 노드 부트 방법
CN110389711B (zh) 帮助端点设备实现sr-iov功能的方法、设备和非瞬态计算机可读介质
CN112148430A (zh) 一种虚拟网络功能的虚拟机在线安全迁移的方法
WO2022143714A1 (zh) 服务器系统、虚拟机创建方法及装置
US11513830B2 (en) Introspection into workloads running within virtual machines
CN111857943B (zh) 数据处理的方法、装置与设备
CN108733602B (zh) 数据处理
JP2000357102A (ja) コンピュータ・システムの論理区画の最大インタラクティブ・・パフォーマンスを、他の区画の最大インタラクティブ・パフォーマンスに関係なく指定する装置及び方法
Bertolotti et al. Modular design of an open-source, networked embedded system
JPH05324385A (ja) 入出力通信シミュレーションシステム
CN117519908B (zh) 一种虚拟机热迁移方法、计算机设备及介质
CN116383127B (zh) 节点间通信方法、装置、电子设备及存储介质
JP2001256072A (ja) システムエミュレータ
Hahn et al. Evaluation of a Cluster‐Based System for the OLTP Application
Beichler et al. Optimization of a novel WLAN Simulation Framework for Prototyping Network Applications and Protocols.
Osmon et al. The Topsy project: a position paper
CN117648210A (zh) 一种远程访问图形处理器的方法和装置
TW202305593A (zh) 使用緩衝概要群組之系統間處理
CN117716341A (zh) 采用缓冲区概要组的向量处理