JP2870200B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP2870200B2 JP2870200B2 JP3021013A JP2101391A JP2870200B2 JP 2870200 B2 JP2870200 B2 JP 2870200B2 JP 3021013 A JP3021013 A JP 3021013A JP 2101391 A JP2101391 A JP 2101391A JP 2870200 B2 JP2870200 B2 JP 2870200B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- driver
- buffer
- user program
- keyboard
- 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.)
- Expired - Lifetime
Links
Landscapes
- Input From Keyboards Or The Like (AREA)
Description
【0001】
【産業上の利用分野】本発明は、リアルタイム・オペレ
ーション・システムを搭載するコンピュータ・システム
において、各種ドライバとこれらのドライバにより制御
される各種ユーザ・プログラムとの間でデータ授受に関
与するデータ処理装置に関するものである。
ーション・システムを搭載するコンピュータ・システム
において、各種ドライバとこれらのドライバにより制御
される各種ユーザ・プログラムとの間でデータ授受に関
与するデータ処理装置に関するものである。
【0002】
【従来の技術】リアルタイム・オペレーション・システ
ム(例えばDOS68K等)を搭載するコンピュータ・
システムでは、ドライバと、このドライバが制御するユ
ーザ・プログラムとの間では、通常、次のようにしてデ
ータ授受が行われている。ドライバとして例えばキーボ
ード・ドライバを想定すると、キーボードでキー・イン
されたキーボード・データは、キーボード・ドライバ内
のバッファに一旦保持され、ユーザ・プログラムはイン
ターフェイスを介してこのバッファ内のデータを読み出
すようにしている。この他、ドライバとして通信データ
を処理する通信ドライバ、ディスクとのデータ転送に関
与するディスク・ドライバ等のI/Oドライバについて
も同様に、一旦、各ドライバ内のバッファにデータを保
持し、各ドライバに対応するユーザ・プログラムはこの
バッファを読み出してデータを得ている。
ム(例えばDOS68K等)を搭載するコンピュータ・
システムでは、ドライバと、このドライバが制御するユ
ーザ・プログラムとの間では、通常、次のようにしてデ
ータ授受が行われている。ドライバとして例えばキーボ
ード・ドライバを想定すると、キーボードでキー・イン
されたキーボード・データは、キーボード・ドライバ内
のバッファに一旦保持され、ユーザ・プログラムはイン
ターフェイスを介してこのバッファ内のデータを読み出
すようにしている。この他、ドライバとして通信データ
を処理する通信ドライバ、ディスクとのデータ転送に関
与するディスク・ドライバ等のI/Oドライバについて
も同様に、一旦、各ドライバ内のバッファにデータを保
持し、各ドライバに対応するユーザ・プログラムはこの
バッファを読み出してデータを得ている。
【0003】
【発明が解決しようとする課題】上記のような従来のデ
ータ授受方式にあっては、次のような不具合があった。 (1) キーボード・ドライバ、通信ドライバ、ディスク・
ドライバ等の各種ドライバ内のバッファの容量の大きさ
はドライバの種類に関係なく既定値(一定値)である
が、各ドライバに対応する各ユーザ・プログラムにおい
て、ドライバ内バッファから読み出すデータの大きさは
その種類に応じてまちまちであり、例えば1024バイ
ト程度のデータを一時に読み出すユーザ・プログラムも
あれば、16バイト程度のデータのみ読み出すユーザ・
プログラムもある。このため、ユーザ・プログラムの必
要とするデータ大きさと対応するドライバ内のバッファ
大きさとは必ずしも一致せず、データ授受に複雑な手続
きを設定しなければならなかった。 (2) 各ユーザ・プログラムは、データが必要な際、対応
するドライバに対してデータ要求を発するが、ドライバ
内バッファにデータが存在しない場合、データがこのバ
ッファに転送されるまで待ち状態を維持する。このた
め、頻繁に行う他の処理、例えばCRT画面のリフレッ
シュ等の実行が遅くなり、システム全体のパフォーマン
スを落とす原因の一つとなっていた。
ータ授受方式にあっては、次のような不具合があった。 (1) キーボード・ドライバ、通信ドライバ、ディスク・
ドライバ等の各種ドライバ内のバッファの容量の大きさ
はドライバの種類に関係なく既定値(一定値)である
が、各ドライバに対応する各ユーザ・プログラムにおい
て、ドライバ内バッファから読み出すデータの大きさは
その種類に応じてまちまちであり、例えば1024バイ
ト程度のデータを一時に読み出すユーザ・プログラムも
あれば、16バイト程度のデータのみ読み出すユーザ・
プログラムもある。このため、ユーザ・プログラムの必
要とするデータ大きさと対応するドライバ内のバッファ
大きさとは必ずしも一致せず、データ授受に複雑な手続
きを設定しなければならなかった。 (2) 各ユーザ・プログラムは、データが必要な際、対応
するドライバに対してデータ要求を発するが、ドライバ
内バッファにデータが存在しない場合、データがこのバ
ッファに転送されるまで待ち状態を維持する。このた
め、頻繁に行う他の処理、例えばCRT画面のリフレッ
シュ等の実行が遅くなり、システム全体のパフォーマン
スを落とす原因の一つとなっていた。
【0004】本発明は、このような問題を解決すること
を課題とし、ユーザ・プログラムが効率よくデータを受
け取ることができ、しかもシステム全体のパフォーマン
スを落とすことのないようにデータ授受を行うことを目
的とする。
を課題とし、ユーザ・プログラムが効率よくデータを受
け取ることができ、しかもシステム全体のパフォーマン
スを落とすことのないようにデータ授受を行うことを目
的とする。
【0005】
【課題を解決するための手段】以上の課題を解決した本
発明は、リアルタイム・オペレーション・システム上に
設定される各種ドライバとこれら各種ドライバにより制
御される各種ユーザ・プログラムとの間に、前記各種ユ
ーザ・プログラムに対応して設定され、前記ユーザ・プ
ログラムの種類に応じてその大きさが予め決められ前記
ドライバからのデータを保持するバッファ手段と、前記
バッファ手段中にデータが存在しない時に前記ドライバ
にデータ読み出し要求をかける要求発生手段と、前記バ
ッファ手段中にデータが存在しない時にセットされ一定
時間経過しても前記バッファ手段にデータが転送されな
い場合に前記データ読み出し要求をキャンセルするタイ
マ手段と、前記一定時間以内に前記バッファ手段にデー
タが転送された際に前記タイマ手段をキャンセルして前
記データを取り出す取出手段とを備えるデータ処理装置
である。
発明は、リアルタイム・オペレーション・システム上に
設定される各種ドライバとこれら各種ドライバにより制
御される各種ユーザ・プログラムとの間に、前記各種ユ
ーザ・プログラムに対応して設定され、前記ユーザ・プ
ログラムの種類に応じてその大きさが予め決められ前記
ドライバからのデータを保持するバッファ手段と、前記
バッファ手段中にデータが存在しない時に前記ドライバ
にデータ読み出し要求をかける要求発生手段と、前記バ
ッファ手段中にデータが存在しない時にセットされ一定
時間経過しても前記バッファ手段にデータが転送されな
い場合に前記データ読み出し要求をキャンセルするタイ
マ手段と、前記一定時間以内に前記バッファ手段にデー
タが転送された際に前記タイマ手段をキャンセルして前
記データを取り出す取出手段とを備えるデータ処理装置
である。
【0006】
【作用】本発明のデータ処理装置は、ユーザ・プログラ
ムに合わせたバッファ容量を有し、タイマ手段セット後
データ読み出し要求を発し、タイマ手段動作中にデータ
がバッファ手段に転送されてきた場合はこれを取り出
し、タイマ手段がタイム・アップしてもデータがバッフ
ァ手段に転送されない場合はデータ読み出し要求をキャ
ンセルしてタイムアウトとする。
ムに合わせたバッファ容量を有し、タイマ手段セット後
データ読み出し要求を発し、タイマ手段動作中にデータ
がバッファ手段に転送されてきた場合はこれを取り出
し、タイマ手段がタイム・アップしてもデータがバッフ
ァ手段に転送されない場合はデータ読み出し要求をキャ
ンセルしてタイムアウトとする。
【0007】
【実施例】本発明を実施したデータ処理装置の例を図
1、図2を用いて説明する。図1は本発明のデータ処理
装置の概念図である。図1において、リアルタイム・オ
ペレーション・システムOS上にドライバとしてキーボ
ード・ドライバKBDを設定し、このキーボード・ドラ
イバKBDに対応してユーザ・プログラムUPを設定す
るものとする。本発明のデータ処理装置10は、ユーザ・
プログラムUP側に設定し、キーボード・ドライバKB
Dに対するインターフェイスは従来のものまま保持させ
る。本発明装置10は、ユーザ・プログラムUPに合わせ
て予めその大きさが設定されキーボード・ドライバKB
Dからデータを受け取るバッファ手段11、バッファ手段
11に保持したデータをユーザ・プログラムUP側に転送
する取出手段12、ユーザ・プログラムUPからタイムア
ウト値をセットされるタイマ手段13、ユーザ・プログラ
ムUPから指示を受けてキーボード・ドライバKBDに
対してデータ読み出し要求を発生する要求発生手段14を
備える。このような本発明装置10の動作概要は、次の通
りである。 ユーザ・プログラムUPは、キーボード
・データを得るためにデータ処理装置10を起動する。こ
の時、ある一定時間、キー入力がなければタイムアウト
とするために、タイマ手段13にタイムアウト値をセット
する。 タイムアウト値設定後、要求発生手段14はキ
ーボード・ドライバKBDにキー読み出し要求をかけ
る。 キーボード・ドライバKBDはキー入力があれ
ば、キーボード・データをバッファ手段11に送出する。
この時、キーボード・ドライバKBDはキー読み出し要
求がない時のキーボード・データも保持しているので、
バッファ手段11に送信するデータはキー入力1個分とは
限らない。 バッファ手段11は、キーボード・ドライ
バKBDからのデータを必要なだけバッファリングし、
取出手段12はユーザ・プログラムUPから要求された大
きさでデータを転送する。 タイマ手段13にてタイム
アウトが発生してもキーボード入力がない場合は、ユー
ザ・プログラムUPへタイムアウトを知らせると同時
に、キーボード・ドライバKBDに対してキー読み出し
要求のキャンセルを行う。
1、図2を用いて説明する。図1は本発明のデータ処理
装置の概念図である。図1において、リアルタイム・オ
ペレーション・システムOS上にドライバとしてキーボ
ード・ドライバKBDを設定し、このキーボード・ドラ
イバKBDに対応してユーザ・プログラムUPを設定す
るものとする。本発明のデータ処理装置10は、ユーザ・
プログラムUP側に設定し、キーボード・ドライバKB
Dに対するインターフェイスは従来のものまま保持させ
る。本発明装置10は、ユーザ・プログラムUPに合わせ
て予めその大きさが設定されキーボード・ドライバKB
Dからデータを受け取るバッファ手段11、バッファ手段
11に保持したデータをユーザ・プログラムUP側に転送
する取出手段12、ユーザ・プログラムUPからタイムア
ウト値をセットされるタイマ手段13、ユーザ・プログラ
ムUPから指示を受けてキーボード・ドライバKBDに
対してデータ読み出し要求を発生する要求発生手段14を
備える。このような本発明装置10の動作概要は、次の通
りである。 ユーザ・プログラムUPは、キーボード
・データを得るためにデータ処理装置10を起動する。こ
の時、ある一定時間、キー入力がなければタイムアウト
とするために、タイマ手段13にタイムアウト値をセット
する。 タイムアウト値設定後、要求発生手段14はキ
ーボード・ドライバKBDにキー読み出し要求をかけ
る。 キーボード・ドライバKBDはキー入力があれ
ば、キーボード・データをバッファ手段11に送出する。
この時、キーボード・ドライバKBDはキー読み出し要
求がない時のキーボード・データも保持しているので、
バッファ手段11に送信するデータはキー入力1個分とは
限らない。 バッファ手段11は、キーボード・ドライ
バKBDからのデータを必要なだけバッファリングし、
取出手段12はユーザ・プログラムUPから要求された大
きさでデータを転送する。 タイマ手段13にてタイム
アウトが発生してもキーボード入力がない場合は、ユー
ザ・プログラムUPへタイムアウトを知らせると同時
に、キーボード・ドライバKBDに対してキー読み出し
要求のキャンセルを行う。
【0008】次に、図2のフローチャートを用いて本発
明装置10の動作を詳しく説明する。ユーザ・プログラム
UPから本発明のデータ処理装置10をコールする。尚、
この時、バッファ手段11の大きさは当該ユーザ・プログ
ラUPに合わせて既に設定されている。この例におい
て、本発明装置は、実際には、キーボード・データ読み
込みライブラリとしてソフトウェア・プログラムとして
設定するのがよい。はじめに、バッファ手段11内にデー
タが存在するか否かをみる。データが存在すれば、取出
手段12はそのデータを取り出し、ユーザ・プログラムU
Pに送信する。データがなければ、ユーザ・プログラム
UPの指示により、タイマ手段13に所定のタイムアウト
値を設定し、要求発生手段14はキーボード・ドライバK
BDにキー読み出し要求をかける。この状態で、本発明
装置はイベント待ち状態となる。この時、キー入力イベ
ントまたはタイムアウト・イベントの待ち状態である。
いずれかのイベントが与えられると、非同期ルーチンを
開始し、イベント内容をチェックする。イベント内容が
タイマ手段13のタイムアウトを表わすタイムアウト・イ
ベントであれば、タイムアウト・フラグをセットし、タ
イムアウト・フラグのオンによりキーボード・ドライバ
KBDに対してキー読み出し要求をキャンセルする。イ
ベント内容がタイムアウト・イベントでなく、キーボー
ドKB操作によるキー入力イベントであれば、キーボー
ド・ドライバKBDからキーボード・データを得てバッ
ファ手段11に取り込み、タイムアウト・フラグ・オンで
なければタイマ手段11をキャンセルし、取出手段12はバ
ッファ手段11からデータを取り出してユーザ・プログラ
ムUPに送信する。尚、イベント待ち状態において、何
らかのイベントが発生すると、非同期ルーチンを開始
し、この非同期ルーチンの処理を終了すると、再度イベ
ント待ち状態となる。
明装置10の動作を詳しく説明する。ユーザ・プログラム
UPから本発明のデータ処理装置10をコールする。尚、
この時、バッファ手段11の大きさは当該ユーザ・プログ
ラUPに合わせて既に設定されている。この例におい
て、本発明装置は、実際には、キーボード・データ読み
込みライブラリとしてソフトウェア・プログラムとして
設定するのがよい。はじめに、バッファ手段11内にデー
タが存在するか否かをみる。データが存在すれば、取出
手段12はそのデータを取り出し、ユーザ・プログラムU
Pに送信する。データがなければ、ユーザ・プログラム
UPの指示により、タイマ手段13に所定のタイムアウト
値を設定し、要求発生手段14はキーボード・ドライバK
BDにキー読み出し要求をかける。この状態で、本発明
装置はイベント待ち状態となる。この時、キー入力イベ
ントまたはタイムアウト・イベントの待ち状態である。
いずれかのイベントが与えられると、非同期ルーチンを
開始し、イベント内容をチェックする。イベント内容が
タイマ手段13のタイムアウトを表わすタイムアウト・イ
ベントであれば、タイムアウト・フラグをセットし、タ
イムアウト・フラグのオンによりキーボード・ドライバ
KBDに対してキー読み出し要求をキャンセルする。イ
ベント内容がタイムアウト・イベントでなく、キーボー
ドKB操作によるキー入力イベントであれば、キーボー
ド・ドライバKBDからキーボード・データを得てバッ
ファ手段11に取り込み、タイムアウト・フラグ・オンで
なければタイマ手段11をキャンセルし、取出手段12はバ
ッファ手段11からデータを取り出してユーザ・プログラ
ムUPに送信する。尚、イベント待ち状態において、何
らかのイベントが発生すると、非同期ルーチンを開始
し、この非同期ルーチンの処理を終了すると、再度イベ
ント待ち状態となる。
【0009】以上のようにして、本発明装置は、ユーザ
・プログラムUPの種類に応じて予めバッファ手段11の
大きさを決めておき、また、ユーザ・プログラムUPか
らタイマ手段13のタイムアウト値を指示できる。また、
上述の例にあっては、ドライバとしてキーボード・ドラ
イバKBDの例を挙げて説明を行ったが、通信ドライ
バ、ディスク・ドライバ等の各種ドライバであっても本
発明のデータ処理装置を適用することができる。尚、複
数のユーザ・プログラム及び複数のドライバ・プログラ
ムを備えるコンピュータ・システムにあっては、本発明
のデータ処理装置は、各ユーザ・プログラム毎にバッフ
ァ手段11の大きさ及びタイムアウト値を変えて設定す
る。
・プログラムUPの種類に応じて予めバッファ手段11の
大きさを決めておき、また、ユーザ・プログラムUPか
らタイマ手段13のタイムアウト値を指示できる。また、
上述の例にあっては、ドライバとしてキーボード・ドラ
イバKBDの例を挙げて説明を行ったが、通信ドライ
バ、ディスク・ドライバ等の各種ドライバであっても本
発明のデータ処理装置を適用することができる。尚、複
数のユーザ・プログラム及び複数のドライバ・プログラ
ムを備えるコンピュータ・システムにあっては、本発明
のデータ処理装置は、各ユーザ・プログラム毎にバッフ
ァ手段11の大きさ及びタイムアウト値を変えて設定す
る。
【0010】
【発明の効果】本発明のデータ処理装置によれば、リア
ルタイム・オペレーション・システムを備えるコンピュ
ータ・システムにおいて、ユーザ・プログラムの種類に
応じて任意の大きさのデータ取り出し及び任意時間のタ
イムアウト機能を実現したため、データ授受に必要であ
った複雑な手続きが不要となり、また、所定の時間にタ
イムアウトを発生するので他の処理に悪影響を及ぼすこ
ともない。このように、個々のユーザ・プログラムのニ
ーズに答えることができ、システム全体のパフォーマン
スを落とすことはない。
ルタイム・オペレーション・システムを備えるコンピュ
ータ・システムにおいて、ユーザ・プログラムの種類に
応じて任意の大きさのデータ取り出し及び任意時間のタ
イムアウト機能を実現したため、データ授受に必要であ
った複雑な手続きが不要となり、また、所定の時間にタ
イムアウトを発生するので他の処理に悪影響を及ぼすこ
ともない。このように、個々のユーザ・プログラムのニ
ーズに答えることができ、システム全体のパフォーマン
スを落とすことはない。
【図1】本発明のデータ処理装置の概念図である。
【図2】本発明装置の動作を表わすフローチャートであ
る。
る。
10 データ処理装置 11 バッファ手段 12 取出手段 13 タイマ手段 14 要求発生手段 UP ユーザ・プログラム KBD キーボード・ドライバ OS リアルタイム・オペレーション・システム KB キーボード
Claims (1)
- 【請求項1】 リアルタイム・オペレーション・システ
ム上に設定される各種ドライバとこれら各種ドライバに
より制御される各種ユーザ・プログラムとの間に、前記
各種ユーザ・プログラムに対応して設定され、前記ユー
ザ・プログラムの種類に応じてその大きさが予め決めら
れ前記ドライバからのデータを保持するバッファ手段
と、前記バッファ手段中にデータが存在しない時に前記
ドライバにデータ読み出し要求をかける要求発生手段
と、前記バッファ手段中にデータが存在しない時にセッ
トされ一定時間経過しても前記バッファ手段にデータが
転送されない場合に前記データ読み出し要求をキャンセ
ルするタイマ手段と、前記一定時間以内に前記バッファ
手段にデータが転送された際に前記タイマ手段をキャン
セルして前記データを取り出す取出手段とを備えるデー
タ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3021013A JP2870200B2 (ja) | 1991-02-14 | 1991-02-14 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3021013A JP2870200B2 (ja) | 1991-02-14 | 1991-02-14 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04259021A JPH04259021A (ja) | 1992-09-14 |
JP2870200B2 true JP2870200B2 (ja) | 1999-03-10 |
Family
ID=12043173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3021013A Expired - Lifetime JP2870200B2 (ja) | 1991-02-14 | 1991-02-14 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2870200B2 (ja) |
-
1991
- 1991-02-14 JP JP3021013A patent/JP2870200B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH04259021A (ja) | 1992-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100701419B1 (ko) | 호스트 시스템과 호스트 어댑터 사이에서 입출력 블록을자동적으로 전송하는 방법과 장치 | |
JPS60134953A (ja) | デ−タ転送制御装置 | |
JP2870200B2 (ja) | データ処理装置 | |
JP3162459B2 (ja) | データ処理装置 | |
JP2830239B2 (ja) | 入力表示制御装置 | |
JPH02166548A (ja) | 共通バス制御方式 | |
JP2000155738A (ja) | データ処理装置 | |
JP2786742B2 (ja) | プリンタ送出データの制御方式 | |
JPH02230345A (ja) | 装置間通信・キャッシュ一致処理方式 | |
JPS5921051B2 (ja) | 通信制御装置 | |
JPH03263154A (ja) | データ処理方法 | |
JP3199990B2 (ja) | 情報処理装置 | |
JP2003186666A (ja) | マイクロコンピュータおよびdma制御回路 | |
JPH0467224A (ja) | 情報処理装置 | |
JPH0414378B2 (ja) | ||
JPH04205047A (ja) | データ処理装置 | |
JPH0223455A (ja) | インターフェイス装置 | |
JPH03233780A (ja) | バスアクセス方式 | |
JPH06139186A (ja) | バス制御方式 | |
JPS59212960A (ja) | プリフエツチ制御方式 | |
JPH02184945A (ja) | 情報処理装置 | |
JPH0685154B2 (ja) | 中間バッファ制御方式 | |
JPH0521458B2 (ja) | ||
JP2002091520A (ja) | プログラマブルコントローラ及びメモリモジュール | |
JPH06290082A (ja) | Cpu間データ転送方法 |