JPH0756834A - 通信プロトコルの割り込み応答実行方法及び装置 - Google Patents

通信プロトコルの割り込み応答実行方法及び装置

Info

Publication number
JPH0756834A
JPH0756834A JP6145220A JP14522094A JPH0756834A JP H0756834 A JPH0756834 A JP H0756834A JP 6145220 A JP6145220 A JP 6145220A JP 14522094 A JP14522094 A JP 14522094A JP H0756834 A JPH0756834 A JP H0756834A
Authority
JP
Japan
Prior art keywords
data
interrupt
computer
executing
interrupt handler
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
JP6145220A
Other languages
English (en)
Other versions
JP3415931B2 (ja
Inventor
David Thielen
シーレン ディヴィッド
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JPH0756834A publication Critical patent/JPH0756834A/ja
Application granted granted Critical
Publication of JP3415931B2 publication Critical patent/JP3415931B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 通信リンク上に転送されたデータの喪失を防
止する。 【構成】 通信プロトコルを備えた割り込みハンドラー
ルーチンを設ける。受信コンピュータで実行中のアプリ
ケーションによってリクエストされたデータを通信イン
タフェースが受け取ったときに、受信コンピュータのC
PUに通信インタフェースによって割り込みが伝送され
る。この割り込みを受け取ると、割り込みハンドラール
ーチンが即座にアクセスされ且つ実行されて、通信プロ
トロルを適時に実行する。この結果、通信プロトコル
は、送信コンピュータによって伝送された新たなデータ
によって元のデータがオーバーライトされる前に、通信
インタフェースからデータを得ることができる。その
後、アプリケーションプログラムが実行され、得られた
データを読み出す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般には、データ通信
の分野、更に言えば、モデムからコンピュータへのデー
タ流れを制御する通信プロトコルに関する。
【0002】
【従来の技術】送信コンピュータから受信コンピュータ
へデジタルデータを送信するには、コンピュータ間に通
信リンクを確立しなければならない。多くの例におい
て、これらの通信リンクは電話回線を通じて確立されて
いる。電話回線におけるコンピュータ間のこのような通
信リンクが図1に示されている。図1で、受信コンピュ
ータ100は、送信コンピュータ110と通信を行っ
て、受信モデム(変調器/復調器)120を介して通信
リンク上でデータを受け取る。受信コンピュータ100
内部のI/Oユニット145内部に、普遍的且つ非同期
的な送受信器130が設けられている。この送受信器1
30は通信インタフェースとして機能して、UARTバ
ッファ132にデータをバッファする。送信コンピュー
タ110で送信モデム135を用いて、周波数変調技術
を用いてデジタルデータを電話回線上で伝送される信号
にエンコードする。電話回線上をデータが伝送され、受
信コンピュータ100の受信モデム120で受け取られ
る。受信モデムはこの信号を復調してデジタルデータを
引き出す。受信モデム120は、UARTバッファ13
2にデジタルデータを記憶するUART130にデジタ
ルデータを伝送する。UART130は、CPU140
に割り込みを伝送してデジタルデータの到達を信号表示
する。その後の幾つかの時点において、CPU140
は、UART130からデジタルデータを受け取り、受
信コンピュータのメモリ150の通信ポート156にI
/Oユニット145を介してそれを記憶する。通信ポー
ト156は、通信リンクを通じて受け取ったデータを記
憶する専用メモリロケーションである。
【0003】上述のデータ転送は、受信コンピュータ1
00のCPU140上で実行を行なうアプリケーション
プログラム152によってしばしば初期化される。CP
U140がアプリケーションプログラム152を実行し
ている最中に、送信コンピュータ110によって出され
た遠隔データの読み出し命令に出くわした場合、受信コ
ンピュータ100は、通信リンクを通じて送信コンピュ
ータ110に適当なリクエストを送る。その後の幾つか
の時点において、送信コンピュータ110はリクエスト
に応答して、リクエストされたデータを通信リンクを介
して戻すためにUART130に非同期に送信する。こ
のトランザクションでは、一旦受信コンピュータ100
が送信コンピュータ110にリクエストを伝送してデー
タを送るよう要求すると、受信コンピュータ100は、
UART130におけるデータの到達のタイミングを予
想することはできない。なぜなら、データは受信コンピ
ュータ100のクロックとの関係で非同期に到達するた
めである。通信リンクを通じるデータ転送は非同期であ
るため、受信コンピュータ100はデータ流れを制御す
るメカニズムを提供し、データを受け取り且つ適当な時
に処理することを確実にしなければならない。一般に、
このメカニズムは、UART130からのデータ流れを
制御する多数の通信プロトコルを備える。これらのプロ
トコルは例えばUART130からのデータを取得する
といった機能を実行するサブプログラムであり、UAR
T130にデータが到達する前に若しくは通信ポート1
56が一杯になった後に、CPU140がUART13
0からのデータをリクエストしないことを確実なものと
する。これらのプロトコルは、一般に、コンピュータ上
で実行中のアプリケーションプログラム152によって
提供されたコンピュータサブプログラムを通じて、受信
コンピュータによって実行されるものであり、ここで、
アプリケーションプログラム152は、データがUAR
T130に到達し始めた後の時点で、データを得るため
に呼出しを行う。例えば、アプリケーションプログラム
152は、UART130からデータを得るサブプログ
ラムであるようなプロトコル154を実行する。
【0004】しかしながら、アプリケーションプログラ
ム152は一般には、データがUART130に到達し
始めた後のある時点までは、これらのプロトコルを呼び
出さないだろう。受信コンピュータ100がリクエスト
を受け取った後には固有の時間遅延が存在する。データ
がいつ到達するかを予想することは不可能なため、受信
コンピュータ100は、アプリケーションプログラムの
実行を続ける前に、データが実際に到達するのを待たな
ければならない。故に、データの到達を待つ間、受信コ
ンピュータ100を他の動作のために使用するのが望ま
しい。受信コンピュータ100で実行中のオペレーティ
ングシステムがマルチタスクシステムである場合、オペ
レーティングシステムは、他のアプリケーションプログ
ラムやオペレーティングシステムルーチンのような受信
コンピュータ100のCPU140によって実行すべき
他のタスクを割り当てる。この結果、受信コンピュータ
100がUART130から割り込みを受け取ってリク
エストデータが通信インタフェースによって受け取られ
たことを表示したときであっても、受信コンピュータ1
00で実行を行っているオペレーティングシステムが、
そのデータをリクエストしたアプリケーションプログラ
ム152にCPU140の制御を戻すまでは、受信コン
ピュータ100がUART130からそのリクエストデ
ータを受け取ることはない。再割り当てを行った場合に
のみ、アプリケーションプログラム152は、UART
130からデータを得るためにプロトコルを実行し、そ
のデータをアプリケーションプログラムに与える。
【0005】しかしながら、多くのコンピュータシステ
ムでは、最初にUART130がデータを受け取ったと
きにまで、受信コンピュータ100は、CPU140の
制御を直ちにアプリケーションプログラム152に戻す
ことはできない。この場合は、上述のように、CPU1
40は割り込みを受け取る。この割り込みは、UART
130からの直接ラインを通じて受信コンピュータ10
0に伝送されたハードウエア割り込みであり、データが
受信されたことを受信コンピュータに知らせる。割り込
みが受信されると、現在実行中のタスクに割り込みがか
けられ、割り込みハンドラールーチン(図示していな
い)が実行される。しかしながら、現在よく使用されて
いるオペレーティングシステムの幾つかは、この時点で
(本明細書では「割り込み時」と呼ぶ)アプリケーショ
ンプログラムを実行することを許さない。これらのオペ
レティングシステムでは、割り込みハンドラールーチン
完了後のある時点においてアプケーションプログラム1
52がその実行を再開するようスケジューリングされる
ことは稀である。受信コンピュータ100は、その後、
割り込まれたタスクの実行に戻る。その後、既にスケジ
ューリングがなされ、アプリケーションプログラム15
2より高い優先順位を備えた他のいづれかのタスクがア
プリケーションプログラム152の前に実行されるよう
にスケジューリングがなされる。実行を行なうべくアプ
リケーションプログラム152がオペレーティングシス
テムによってスケジューリングされた場合にのみ、UA
RT130からデータを得るために通信プロトコルが実
行される。
【0006】現存するこのようなオペレーティングシス
テムの一例は、ワシントン、レッドモンドのマイクロソ
フトコーポレションによる Microsoft(登録商標)、Wi
ndows(登録商標)オペレーティングシステムの1つの
モードである現行のバージョンである。ウィンドウオペ
レーティングシステムは、オペレーティングシステムカ
ーネルのような、重要コードやデータが変更されてしま
うことを保護するプロテクション機構を実施する。この
機構は、アプリケーションプログラムが、例えば重要コ
ードやデータにアクセスすることを許さない。なぜな
ら、重要コードやデータが不注意で、若しくは偶発的に
変更されると、オペレーティングシステムに回復不能な
損傷が引き起こされてしまうためである。割り込まれた
タスクによって受信コンピュータ100は重要コードや
データを変更し得る状態にされてしまうため、割り込み
時におけるアプリケーションプログラム152に対する
転送制御は、それがアプリケーションによって変更され
得ることから重要コードやデータを危機にさらす。この
結果、データがUART130によって受信されたこと
をCPU140が知ったとき、オペレーティングシステ
ムは、アプリケーションプログラム152を実行し得る
間のある時点において、いづれの重要コード若しくはデ
ータをも危機にさらすことなく、実行のためにアプリケ
ーションを再スケジューリングすることのみに従事す
る。
【0007】不幸にもアプリケーション152がある時
間量の範囲内で実行のためにスケジューリングされなけ
れば、受信コンピュータに伝送されたデータは喪失して
しまうだろう。UART130はUARTバッファ13
2にデータを記憶し、リクエストされたデータを送信コ
ンピュータ110から受け取ったときに、受信コンピュ
ータによる通信プロトコル154の実行を待ってデータ
を得る。UARTバッファ132のサイズは限られてい
るため、新たなデータをUART130が受け取り続け
ると、UARTバッファ132に記憶されたデータは最
終的にはオーバーライトされてしまう。もし、UART
バッファ132にデータがオーバーライトされる前にそ
のデータの読み出しに間に合うようアプリケーションプ
ログラム152がスケジューリングされなければ、アプ
リケーションプログラ152による読み出し及び利用が
可能とされる前にリクエストデータは喪失される。不幸
にも、上述のプロテクション機構を実行するオペレーテ
ィングシステムは、この時間量の範囲内ではアプリケー
ションプログラム152をスケジューリングしないだろ
う。これが発生すると、アプリケーションプログラム1
52はリクエストしたデータを受れ取れない。
【0008】
【発明の概要】本発明の目的は、通信リンク上を転送さ
れたデータの損失を防ぐことにある。本発明の他の目的
は、通信プロトコルの割り込み応答実行を提供すること
にある。また本発明の他の目的は、リクエストされたデ
ータをそのデータが通信インタフェースにおいてオーバ
ーライトされてしまう前に取得することができるよう
に、受信コンピュータにおいて通信プロトコルを適時に
実行することにある。本発明の他の目的は、遠隔コンピ
ュータからのデータをリクエストしたアプリケーション
が通信プロトコルを与える必要をなくすことにある。本
発明の他の目的は、本発明を以下により完全に記述する
ことによって明らかとなるだろう。上述の目的は本発明
によって実現される。本発明は通信プロトコルの割り込
み応答実行を提供する。この通信プロトコルは通信リン
クからデータを得る。データは、通信リンク上を、送信
コンピュータによって、通信プロトコルによって得られ
るまでデータを記憶しているような受信コンピュータの
通信インタフェースを介して受信コンピュータに伝送さ
れる。通信プロトコルを含む割り込みハンドラールーチ
ンが、受信コンピュータの内部に設けられている。通信
インタフェースによってデータが受け取られたときに、
通信インタフェースによって受信コンピュータのCPU
に割り込みが伝送される。この割り込みが受け取られる
と、割り込みハンドラールーチンが即座にアクセスされ
且つ実行され、通信プロトコルを適時に実行する。この
結果、通信プロトコルは、通信インタフェースからのデ
ータを、送信コンピュータによって送信された新たなデ
ータによってそれがオーバーライトされてしまう前に、
読み出すことができる。
【0009】本発明によって提供される利点は、オペレ
ーティングシステムの制御下で実行されるコンピュータ
システムで実現される。このオペレーティングシステム
は、割り込みを受け取ったときにアプリケーションプロ
グラムの実行を禁止する。このようなオペレーティング
システムは、割り込みの受け取り時にオペレーティング
システムカーネルのような重要コードやデータが変更さ
れてしまうことを防止する。このようなコンピュータで
は、アプリケーションプログラムでデータを読み出すた
めの命令に出会った場合、そのアプリケーションプログ
ラムで実行すべき残りのアプリケーション命令をセーブ
し、他の命令を代わりに実行する。これらの他の命令
は、オペレーティングシステムルーチンを実行するため
のオペレーティングシステム命令や、他のアプリケーシ
ョンを実行するためのアプリケーション命令を含んでお
り、オペレーティングシステムによってスケジューリン
グされた他のタスクを実行する。代替命令は、リクエス
トしたデータの到達を表示する割り込みを通信インタフ
ェースから受け取るまで実行される。本発明の好ましい
実施例では、この割り込みを通信インタフェースから受
け取った場合、代替命令がセーブされ、割り込みハンド
ラールーチンが以下のように即座に実行される。割り込
みハンドラールーチンは、割り込みテーブルのエントリ
に記憶されたアドレスを参照することでアクセスされ
る。この割り込みテーブルは、データをそこから受け取
るような通信インタフェースに対応する。アクセスされ
た割り込みハンドラールーチンは多数の通信プロトコル
を含む。この通信プロトコルは、通信インタフェースか
らデータを取得してそのデータを通信ポートに配置する
ような命令を含む機能を実行する。このように、割り込
みハンドラールーチンは、通信インタフェースからデー
タを得るための複数の通信プロトコルを、そのデータが
オーバーライトされてしまう前に適時に実行する。
【0010】割り込みハンドラールーチンが完了する
と、前に実行されていた他の命令が検索され且つ実行さ
れる。その後、アプリケーションプログラムがスケジュ
ーリングされると、残りのアプケーション命令が検索さ
れ且つ実行される。この結果、割り込みを受け取ったと
きに即座に通信インタフェースからデータが得られたと
しても、どの重要コードをも危機にさらすことがない時
期にアプリケーションを実行のためにスケジューリング
することができる。また、アプリケーションが通信プロ
トコルを設ける必要も排除される。通信インタフェース
からのデータの流れを制御するために、ハンドラールー
チン内部でどのような数の通信プロトコルをも実行する
ことができるため、アプリケーションプログラムがこれ
らの通信プロトコルを設ける必要は排除される。
【0011】
【実施例】本発明は、受信コンピュータに転送されたデ
ータの喪失を防止する。このようなデータの喪失は、図
1のコンピュータシステムを参照して記述することがで
きる。図1からの受信コンピュータ100がアプリケー
ションプログラム152を実行しているときに、通信リ
ンクを介して送信コンピュータ100からデータを読み
出すための命令に出くわした場合、受信コンピュータ1
00は、通信リンクを通じて送信コンピュータ110に
適当なリクエストを伝送する。その後のある時点で、送
信コンピュータ110は、通信リンクを介して受信コン
ピュータ100のUART130にデータを送信する。
UART130は、受信コンピュータがUART130
からデータを受信するまで、UARTバッファ132に
データを記憶する。本発明は、遠隔のコンピュータ11
0によって伝送された新たなデータによって、UART
130にデータがオーバーライトされることを防止す
る。本発明は、多数の通信プロトコルを適当な時期に実
行することによってこれを達成する。これらのプロトコ
ルには、実行中にUART130からデータを得るよう
な通信プロトコルが含まれる。通信プロトコルの実行
は、通信プロトコルをインボウクする割り込みハンドラ
ールーチンの優先順位レベルと等しい優先順位レベルを
備えた通信プロトコルを適当な時期に提供することによ
って成される。割り込みハンドラールーチンは、最初に
受け取った割り込みがUART130によってデータが
受信されたことを表示しているときに、同じ優先順位レ
ベルを備えた通信プロトコルを実行する割り込みハンド
ラールーチンを実行することにより、遅延を生じること
なく通信プロトコルをインボウクする。この結果、遠隔
のコンピュータからの新たなデータによってデータがオ
ーバーライトされる前に、通信インタフェースからデー
タが得られる。
【0012】本発明の利点を、図1の従来システムによ
って実行される特別な割り込みプロセスを、図2を参照
して示すことができる。図2に示されているように、C
PU140はUART130から割り込みリクエスト
(IRQ)を受け取る。特に、IRQは、受信コンピュ
ータ100のI/Oユニット145内部に設けられたプ
ログラム可能な割り込みコントローラ200によって受
信される。IRQは、リクエストされたデータがUAR
T130によって受信されたことを表示する。プログラ
ム可能な割り込みコントローラ200は、例えば、様々
なソースから割り込みリクエストを受け、且つこれらの
割り込みリクエストをCPU140に報告するようなIn
tel 8259A 割り込みコントローラである。プログラム可
能な割り込みコントローラ200は、割り込みリクエス
ト信号(INTR)をCPU140に伝送し、CPUに
UART130からの割り込みリクエストを知らせる。
CPU140は、割り込みリクエスト肯定応答信号(I
NTA)をプログラム可能な割り込みコントローラ20
0に伝送することにより、INTRに肯定応答を行な
う。CPU140がINTRを肯定応答すると、プログ
ラム可能な割り込みコントローラ200は、UART1
30を割り込みリクエストのソースとして識別する割り
込みベクトル番号をCPU140に伝送する。CPU1
40は、I/Oユニット145を介して、また、UAR
T130に対応する割り込みベクトル番号を用いて割り
込みベクトルテーブル210のエントリ212のアドレ
スを計算し、メモリ150に記憶された割り込みベクト
ルテーブル210にアクセスを行なう。CPU140
は、その後、割り込みベクトルテーブル210のエント
リ212によって識別されたメモリ150のアドレスに
記憶されているような割り込みハンドラールーチン21
4に制御を転送する。従来の割り込みハンドラールーチ
ン214では、アプリケーションプログラム152をス
ケジューリングするためにメモリ150に記憶されたオ
ペレーティングシステム200にリクエストを送り、オ
ペレーティングシステム220によって提供されたタス
クスケジューラ222に命令を行なうといったことは、
非常に稀であった。割り込みハンドラー214は、その
後、割り込みリクエストを受け取る前にCPU140に
よって従前に実行中であったタスクに制御を戻す。この
結果、アプリケーションプログラム152が実行を続行
するよう最終的にスケジューリングされるまでは、UA
RT130からデータを得ることはない。アプリケーシ
ョンプログラム152が最終的にスケジューリングされ
たとき、通信プロトコル154はUARTからデータを
得、そのデータをポート156に配置する。
【0013】UARTバッファ132のサイズは制限さ
れているため、UARTバッファ132は、遠隔のコン
ピュータからの新たなデータを限定量だけしか保持する
ことができない。UART130は、例えば、 16450U
ARTである。 16450UARTは、よく知られており、
たった2バイトのバッファサイズしか持たないUART
バッファ132を有する。1バイトは、読み込まれたデ
ータを保持し、1バイトは読み込まれるデータを保持す
る。非常に多くの新たなデータがUARTバッファ13
2に書き込まれた後、元々書き込んであったデータがオ
ーバーライトされる。もし、アプリケーションプログラ
ム152が、ある時間量の範囲内はスケジューリングさ
れ且つ実行されることがなければ、データのオーバーラ
イトが生じる前に、UART130からデータを得るた
めに通信プロトコル154が実行されてしまうようなこ
とはないかもしれない。オペレーティングシステム22
0は、例えば、 Microsoft Windowsオペレーティングシ
ステムのようなオペレーティングシステムである。この
オペレーティングシステムは、割り込み時におけるアプ
リケーションの実行を防止するため、オペレーティング
システム220がアプリケーションプログラム152を
その実行を続行するためにスケジューリングするまで
は、通信プロトコル154は実行されない。
【0014】Microsoft Windowsオペレーティングシス
テムの現行のバージョンは、 80386マイクロソフトウエ
アによって提供されるプロテクション機構を利点とす
る。プロテクション機構は、コード若しくはデータの集
合を割り当てることができる優先順位レベルの番号を使
用する。この機構は、階層プロテクションの4つの異な
る優先順位レベル(リング0〜リング3)を定義する。
リング0の優先順位レベルはリング1より高く、リング
1はリング2よりも高い優先順位レベルであり、リング
2はリング3より高い優先順位レベルであり、リング3
は最も小さな優先順位レベルである。よく知られている
ように、 80386マイクロプロセッサは、セグメントメモ
リアドレッシング技術を用いる。この技術では、拡張可
能コードが異なる複数のセグメント(コードセグメン
ト)に分割され、また、これらの異なる複数のセグメン
ト(データセグメント)にデータが記憶される。例え
ば、アプリケーションプログラムの実行可能コードは、
それを通じてアクセスされるような特別なコードセグメ
ントの内部にアプリケーションプログラムは配置される
ようにして定義される。 80386マイクロプロセッサに対
して定義された各コードセグメントは、対応する優先順
位レベルを持つ。この結果、アプリケーションプログラ
ム152は、特別な優先順位レベルを備えたコードセグ
メントに記憶される。
【0015】Microsoft Windowsオペレーティングシス
テムにおいて、異なるコードセグメントに対する優先順
位レベルは、一般には、図3の図によって表示されてい
るように定義される。図3は、 80386マイクロプロセッ
サによって提供され、 Microsoft Windowsオペレーティ
ングシステムによって与えられた優先順位レベルシステ
ムを表示する図である。図3に示されているように、ウ
インドウオペレーティングシステムカーネルや割り込み
ハンドラーのような最重要コードだけが、リング0に存
在する。この結果、割り込みハンドラーを記憶するコー
ドセグメントは、0の優先順位レベルを有する。一方、
アプリケーションプログラムは、一般にリング3に存在
する。即ち、アプリケーションコードを記憶するコード
セグメントは、優先順位レベル3を持つ。 80386マイク
ロプロセッサでは、各コードセグメントに対する優先順
位レベルは、対応するコードセグメント記述子で指定さ
れたビットによって定義される。コードセグメント記述
子は、 80386マイクロプロセッサによって保持された適
当なセグメント記述子テーブルのエントリに配置され、
コードセグメントのプログラムがアクセスされるときに
参照される。上述したアプリケーションプログラム15
2を実行する従来のコードセグメントやコードセグメン
ト記述子を、図4に示す。図4では、 80386コードセグ
メント記述子であるコードセグメント記述子400が設
けられている。コードセグメント記述子400は、記述
子優先順位レベル(DPL)402と、アプリケーショ
ンプログラム152を実行するアプリケーションプログ
ラムコードのアドレス404を備える。コードセグメン
ト記述子400は、 80386コードセグメントであるアプ
リケーションコードセグメント410を記述する。アプ
リケーションコードセグメント410は、アプリケーシ
ョンコード412と、上述の通信プロトコル154を含
んでいるような1つ若しくはそれ以上の通信プロトコル
414を含む。アプリケーションコードセグメント41
0がアプリケーションプログラムを実行するため、ウイ
ンドウオペレーティングシステムは、アプリケーション
コードセグメント410に「3」という記述子優先順位
402を割り当てる(DPL=3)。
【0016】80386マイクロプロセッサによって提供さ
れる優先順位メカニズムでは、実行プログラムが異なる
コードセグメントの他のプログラムに制御を転送すると
きはいつでも、マイクロプロセッサは、転送を試行して
いるプログラムを記憶したコードセグメントの優先順位
レベルを、転送が試行されているプログラムを記憶した
コードセグメントの優先順位レベルと比較する。各プロ
グラムの記述子優先順位レベルが等しければ、 80386マ
イクロプロセッサによって転送が許可される。しかしな
がら、呼出しを行っているプログラムの記述子優先順位
レベルが、呼び出されているプログラムの優先順位レベ
ルより高ければ、 80386マイクロプロセッサによって転
送が許可される。例えば、リング0プログラムがリング
3プログラムに対する転送制御を試ろみても、その転送
は許可されない。従って、0という優先順位レベルを重
要コードに割り当て、3という優先順位レベルをアプリ
ケーションプログラムに割り当てることにより、 Micro
soft Windowsオペレーティングシステムは、アプリケー
ションプログラムが重要なコードを破壊することを防止
する。図2の従来技術の割り込みハンドラールーチン2
14を記憶するコードセグメントが図5に示されてい
る。図5に、コードセグメント記述子450が示されて
いる。コードセグメント記述子450は、割り込みハン
ドラーコードセグメント460、つまり、 80386コード
セグメントを定義する 80386コードセグメント記述子で
ある。コードセグメント記述子450は、DPL452
と、割り込みハンドラールーチン462のアドレス45
4を含む。上に述べたように、図2に示された割り込み
ハンドラールーチン214のような割り込みハンドラー
は、一般にリング0に存在する。この結果、DPL45
2には0という値が割り当てられる(DPL=0)。こ
の結果、割り込みハンドラールーチン214は、アプリ
ケーションプログラム152を呼び出すことができな
い。なぜなら、 80386マイクロプロセッサは、各プログ
ラムに割り当てられた記述子優先順位レベルを比較し
て、呼出しを行った割り込みハンドラールーチン(リン
グ0)が、呼び出されたアプリケーション(リング3)
より高い優先順位であると判断するためである。従っ
て、 80386マイクロプロセッサはアプリケーションに対
する転送を許可しないだろう。
【0017】このように、割り込みを受け取った場合、
制御は割り込みハンドラールーチン214に転送される
が、その割り込みハンドラールーチン214は、アプリ
ケーションプログラム152を呼び出すことはできず、
割り込みハンドラールーチン214が戻ったときに、割
り込まれたタスクに制御は戻る。この理由から、リクエ
ストされたデータがUART130によって受け取られ
たことを表示するような割り込みをCPU140が受け
取ったときでも、図2の従来のコンピュータシステム
は、アプリケーションプログラム152を実行すること
はできなかった。また、アプリケーションコード412
は同じコードセグメント410に配置された通信プロト
コル414を呼び出すことから、割り込みを受け取った
ときはどの通信プロトコルを実行することもできない。
従来のコンピュータシステムでは、オペレーティングシ
ステム220によってスケジューリングされるまで、ア
プリケーションプログラム152は実行されないため、
しばしば、送信コンピュータ110によって伝送された
新たなデータがUART132にオーバーライトされる
ことを防止するのに間に合わないことがある。本発明
は、データがUARTバッファ132にオーバーライト
されるという上述の問題を防止する。本発明は、割り込
みハンドラールーチンと同じ優先順位レベルである通信
プロトコルを提供することによってコンピュータによっ
て最初に割り込みが受け取られたときに、通信インタフ
ェースからデータを得る通信プロトコルが実行されるこ
とを確実なものとする。この問題に対する解法を、図6
に示す。図6は、本発明の好ましいコンピュータシステ
ムのブロック図である。図6で、コンピュータ500
は、CPU140、UART130とプログラム可能な
割り込みコントローラ200を備えたI/Oユニット1
45と、メモリ150を含む。メモリ150は、タスク
スケジューラ222を備えたオペレーティングシステム
と、通信ポート156と、プロトコルバッファ230を
も含む。メモリ150は、適当な割り込みハンドラール
ーチンを指示するエントリ212を備えた割り込みベク
トルテーブル210をも記憶する。好ましいコンピュー
タシステムでは、コンピュータ500は、例えば、割り
込みハンドラー510と同じコードセグメント内の通信
プロトコル512を提供することによって、割り込みハ
ンドラールーチン510と同じ優先順位レベルを備えた
通信プロトコル512をインボウクするような割り込み
ハンドラールーチン510をメモリ150に記憶する。
通信プロトコル512は、UART130からデータを
得る。アプリケーションプログラム520もまた、例え
ば、従来のアプリケーションプログラム152と同じア
プリケーションコードを含んでいるようなメモリ150
に記憶される。しかしながら、通信プロトコル512は
割り込みハンドラールーチン510によって実行される
ため、アプリケーション520は、従来技術で行われて
いたように通信プロトコル512を提供する必要はな
い。また、通信プロトコル512には割り込みハンドラ
ールーチン510と同じ優先順位レベルが提供されるた
め、本発明では、CPU140が割り込みリクエストを
UART130から受け取って割り込みハンドラールー
チン510に制御を転送するとすぐさま、通信プロトコ
ル512が実行される。従って、通信プロトコル512
は、プログラム可能な割り込みコントローラ200から
CPU140によって割り込みが受け取られるとすぐ
に、UART130からデータを得るために実行され
る。この結果、通信プロトコル512は、UARTバッ
ファ132にオーバーライトされる前にデータを得る。
【0018】本発明の好ましい実施例では、CPU14
0は 80386マイクロプロセッサであり、オペレーティン
グシステム220は、 Microsoft Windowsオペレーティ
ングシステムである。本発明の割り込みルーチンを記憶
する 80386コードセグメントが図7に示されている。図
7に示すように、コードセグメント記述子600が設け
られている。このコードセグメント記述子600は、記
述子優先順位レベル(DPL)602と、割り込みハン
ドラールーチン510の割り込みハンドラーコードのア
ドレス604を含んだ 80386コードセグメント記述子で
ある。コードセグメント記述子600は、割り込みハン
ドラーコード612と、1つ若しくは2つ以上の通信プ
ロトコトル614を含んだ 80386割り込みハンドラーコ
ードセグメント610を記述する。通信プロトコルは、
通信プロトコル512を含む。特に、通信プロトコル6
14は、よく知られたXON/XOFFプロトコル、R
TS/CTSプロトコル、ACK/NAKプロトコル等
を含む。従来の割り込みハンドラーで用いられていたよ
うに、割り込みハンドラールーチン510はリング0に
存在するため、DPL602には0という値が割り当て
られる(DPL=0)。従って、同じコードセグメント
610に設けられた通信プロトコル614も、0という
優先順位レベル(DPL=0)を有し、割り込み時に
も、 MicrosoftWindowsオペレーティングシステムによ
って実行が禁止されることはない。
【0019】図6の本発明のコンピュータシステムの動
作を、図8〜図14を参照して示す。図8は、送信コン
ピュータ110からデータを読み出すためにアプリケー
ションが命令を実行したときに、本発明のコンピュータ
システムと従来のコンピュータシステムの両方によって
実行されるCPU140の制御の流れ図である。図8
は、割り込みがUART130から受け取られる時点ま
で、CPU140によって実行されるステップを示す。
ステップ702で、現在実行中のオペレーティングシス
テム220は、アプリケーション(152若しくは62
0)を実行するため、CPU140を動作させる。ステ
ップ704で、CPU140が、送信コンピュータ11
0からデータを読み出すためのアプリケーションの命令
に出合った場合、CPU140は、メモリ150に記憶
された通信ドライバ(図示していない)に制御を転送す
る。この通信ドライバは、ステップ706で、UART
130を介して送信コンピュータ110からのデータを
要求する。アプリケーションは、CPU140をオペレ
ーティングシステムに譲る。オペレーティングシステム
は、ステップ708で、CPU208を動作させ、オペ
レーティングシステムルーチンや他のアプリケーション
のような、他のタスクを実行する。CPU140( 803
86)は、割り込みリクエスト信号(INTR)をプログ
ラム可能な割り込みコントローラ200から受け取るま
で、これらの他のタスクを実行する。CPU140はそ
の後、現在実行中のタスクをセーブし(例えば、適当な
レジスタをプッシュして現在実行中の命令や、現在実行
中のタスクの状態を表示することにより)、その後、適
当な割り込みハンドラールーチンに制御を転送する。図
7は従来の方法を示す。ステップ710は、制御を従来
の割り込みハンドラールーチン214に転送する。図8
は本発明を表示しており、ステップ710は、本発明の
割り込みハンドラールーチン510に制御を転送する。
【0020】割り込みハンドラールーチン510の性能
は、最初に従来の割り込みハンドラーについて記述する
ことによって最良の形で表示することができる。従来、
ステップ710が実行された場合のCPUによる制御の
転送先である割り込みハンドラールーチンは、図9の流
れ図によって示されているような割り込みハンドラール
ッチン214であった。図9は、割り込みハンドラール
ーチン214が呼び出されたときに、従来の割り込みハ
ンドラールーチン214とオペレーティングシステム2
20によって実行される基本ステップの流れ図である。
ステップ802で、割り込みハンドラールーチン214
は、オペレーティングシステム220にリクエストを伝
送し、アプリケーションを実行のためにスケジューリン
グする。ステップ804で、オペレーティングシステム
220は、タスクスケジューラ222を動作させること
によってリクエストに応答し、後の実行のためにアプリ
ケーションプログラム152をスケジューリングする。
割り込みハンドラールーチンが戻るのは稀である。従来
のコンピュータシステムでは、この時点では、リクエス
トされたデータをUARTから受け取っていないため、
最終的には通信インタフェースでオーバーライトされる
かもしれない。
【0021】本発明では、ステップ710が実行された
場合に、CPUが制御を転送する割り込みハンドラール
ーチンは、通信プロトコル512を含む割り込みハンド
ラールーチン510である。図10は、割り込みハンド
ラールーチン510が呼び出されたときに割り込みハン
ドラールーチン510とオペレーティングシステム22
0によって実行される基本ステップの流れ図である。ス
テップ902で、割り込みハンドラールーチン510
は、従来のコンピュータシステムにおける割り込みでな
されたのと同じ方法でアプリケーション520のスケジ
ューリングをリクエストする。同様に、ステップ804
で、オペレーティングシステム220はアプリケーショ
ン620を実行のためにスケジューリングする。しかし
ながら、ステップ906で、割り込みハンドラールーチ
ン510は、割り込みハンドラールーチン510の同じ
コードセグメント内に設けられた通信プロトコルを呼び
出す。ステップ908で、通信プロトコル512を実行
してデータを得、そのデータをコンピュータ500のポ
ート156に配置する。この時点で、UART130か
らポート156へのデータの流れ、ポート156からC
PU140へのデータの流れ、等を制御するために、通
信プロトコルが実行されることもある。データを得た
後、割り込みハンドラールーチン510は戻る。
【0022】図11は、割り込みハンドラールーチン
(214若しくは510)が戻った後に、本発明のコン
ピュータシステムと従来のコンピュータシステムの両方
によって実行されるCPU制御を示す。ステップ100
2で、CPU140は、(例えば、オペレーティングシ
ステムから、前に実行していた命令や前に実行していた
タスクの状態情報を表示する適当なレジスタの前にセー
ブされた内容を得ることにより、)前に実行していたタ
スクを検索する。CPUI40は、割り込みハンドラー
ルーチン(214若しくは610)を実行する前に、前
にやり残した実行を続行する。ステップ1004で、オ
ペレーティングシステムは、CPU140を動作させ
て、前に実行していたタスクやスケジューリングされた
他のいづれかのタスクの実行を続行する。この間中、予
期し得ない時間量が経過する。この時間量は、UART
130に現在送信中のなんらかのデータによってUAR
Tバッファ132が完全に満たされ、前にそこに書き込
まれたデータをオーバーライトし初めてしまうのに十分
長い時間量である。ステップ1006で、オペレーティ
ングシステムは、タスクスケジューラ222によって付
された優先順位に従ってアプリケーションプログラムを
スケジューリングする。ステップ1008で、遠隔のコ
ンピュータに伝送されたデータを読み出すために、アプ
リケーションプログラム(152若しくは620)が実
行される。
【0023】データを読み込むための本発明の性能は、
最初に従来技術を簡単に記述することによって最もよく
表示することができる。従来技術では、アプリケーショ
ンプログラム152が図11のステップ1008でデー
タを読み出した場合、CPU140は図12に示された
流れ図のステップを実行する。ステップ1102で、ア
プリケーションプログラム152は、そこに含まれた通
信プロトコル154を呼び出してデータを得る。ステッ
プ1104で、通信プロトコルは、UART130から
データを得、そのデータをポート156に配置する。デ
ータは元々は送信コンピュータ110からリクエストさ
れたものであることから、なんらかの時間長が経過して
しまうとと、ステップ1104で通信ポート156中に
配置されたUARTバッファ132のデータが、元来的
にリクエストされたデータに対応しているかどうかは保
証されない。ステップ1106で、CPU140は、ポ
ート156からデータを検索し、そのデータをアプリケ
ーションプログラム152に与える。本発明では、アプ
リケーション520が図11のステップ1008でデー
タを読み込むときに、CPU140は、そのデータを読
み出すため、図13に示された流れ図のステップを実行
する。ステップ1202で、CPU140は、ポート1
56からデータを検索する。割り込みがCPU140に
よって受け取られてデータがUART130によって受
け取られたことを表示したときにすぐに、割り込みハン
ドラー510内部に設けられた通信プロトコル612が
データを得る。この結果、CPU140によって読み出
されたデータが、元来的にリクエストされたデータと対
応することが確実なものとされる。なぜなら、そのデー
タは、送信コンピュータ110からの新たなデータによ
ってUARTバッファ132内部にオーバーライトされ
る前に、ポート156中に置かれるためである。
【0024】本発明を特別な実施例を参照して記述して
きたが、当業者の1人ならば、本発明の意図を逸脱する
ことなく、本発明の形態および範囲に様々な変更を加え
ることができるだろう。説明を簡単にするため、通信イ
ンタフェースからデータを得るために実行可能な単一の
通信プロトコルを参照して記述してきたが、本発明によ
って提供された割り込みハンドラールーチン内では、イ
ンバウンドデータの流れを制御するために必要でありま
た望ましいどのような数の通信プロトコルをも実行する
ことができる。この結果、本発明のコンピュータシステ
ムで実行中のアプリケーションは、これらの通信プロト
コルを提供する必要がなくなる。本発明の範囲は特許請
求の範囲によって定義されている。
【図面の簡単な説明】
【図1】従来のコンピュータシステムのブロック図。
【図2】従来のコンピュータシステムを詳細に示すブロ
ック図。
【図3】80386マイクロプロセッサによって設けられ、
Microsoft Windowsオペレーティングシステムによって
付与された優先順位レベルシステムを表示する図。
【図4】通信プロトコルを実行するアプリケーションを
記憶している従来のコードセグメントを示す図。
【図5】従来の割り込みハンドラールーチンを記憶して
いる従来のコードセグメントを示す図。
【図6】本発明の好ましい実施例のコンピュータシステ
ムを示す図。
【図7】本発明の好ましい実施例における割り込みハン
ドラールーチンを記憶するコードセグメントを示す図。
【図8】遠隔コンピュータからデータを読み出すために
アプリケーションが命令を実行したときに、好ましい実
施例のコンピュータシステムと従来のコンピュータシス
テムの両方によって実行される制御の一般的な流れ図。
【図9】従来の割り込みハンドラールーチンが呼び出さ
れたときに実行されるステップの流れ図。
【図10】好ましい実施例の割り込みハンドラールーチ
ンが呼び出されたときに実行されるステップの流れ図。
【図11】割り込みハンドラールーチンが戻ったとき
に、好ましい実施例のコンピュータシステムと従来のコ
ンピュータシステムの両方によって実行される制御を示
す図。
【図12】通信インタフェースに書き込まれているデー
タをアプリケーションが読み込むときに従来技術で実行
されるステップの流れ図。
【図13】通信インタフェースに書き込まれているデー
タをアプリケーションが読み込むときに本発明の実施例
で実行されるステップの流れ図。

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータによって実行される方法で
    あって、該コンピュータは、メモリを有し、所定の優先
    順位レベルを備えた第1のルーチンによってそれと等し
    い優先順位レベルを備えた第2のルーチンをインボウク
    することを可能とするようなオペレーティングシステム
    を実行するものであり、前記方法は、前記コンピュータ
    に接続された外部デバイスと通信を行なうコンピュータ
    内部の通信インタフェースからデータを得るような通信
    プロトコルを実行するものであり、前記方法が、 (a)通信プロトコルをインボウクする割り込みハンド
    ラールーチンをメモリに記憶する段階と、但し、前記割
    り込みハンドラールーチンは割り込み優先順位レベルを
    備え、前記通信プロトコルはこの割り込み優先順位レベ
    ルと等しいプロトコル優先順位レベルを備えており、 (b)データが通信インタフェースによって受け取られ
    たことを示す割り込みを通信インタフェースから受け取
    ったときに前記割り込みハンドラールーチンを実行して
    プロトコル優先順位レベルを備えた通信プロトコルをイ
    ンボウクし、これによって通信インタフェースからデー
    タを得る段階と、を備えることを特徴とする方法。
  2. 【請求項2】 請求項1記載の方法において、 割り込みハンドラールーチンを記憶する前記段階(a)
    は、プロトコル優先順位レベルを備えた複数の通信プロ
    トコルを実行する割り込みハンドラールーチンを記憶す
    ることを備え、 割り込みハンドラールーチンを実行する前記段階(b)
    は、プロトコル優先順位レベルを備えた複数の通信プロ
    トコルを実行することを備える方法。
  3. 【請求項3】 請求項2記載の方法において、前記複数
    の通信プロトコルはXON/XOFFプロトコルを含ん
    でいる方法。
  4. 【請求項4】 請求項2記載の方法において、前記複数
    の通信プロトコルはACK/NAKプロトコルを含んで
    いる方法。
  5. 【請求項5】 請求項2記載の方法において、前記複数
    の通信プロトコルはRTS/CTSプロトコルを含んで
    いる方法。
  6. 【請求項6】 請求項1記載の方法において、割り込み
    ハンドラールーチンをアクセスする前記段階(b)は、
    更に、テーブルのエントリに記憶されたアドレスに記憶
    されているルーチンをアクセスする段階であって、前記
    テーブルはそこから割り込みが受け取られた通信インタ
    フェースに対応している方法。
  7. 【請求項7】 請求項1記載の方法において、更に、デ
    ータをリクエストしたアプリケーションプログラムを実
    行することによってデータをリクエストする段階と、実
    行のためにアプリケーションプログラムから次のアプリ
    ケーションプログラムをセーブする段階と、その後、第
    2のプログラムを実行する段階と、を備え、 割り込みハンドラールーチンを実行する前記段階(b)
    は、更に、次の第2のプログラム命令を第2のプログラ
    ムにセーブし、その後、割り込みハンドラールーチンを
    実行することを備えた段階(b)と、更に、 (c)前記第2のプログラム命令を検索し、ステップ
    (b)における割り込みハンドラールーチンの実行の完
    了時に、前記第2のプログラム命令を検索し且つ前記第
    2のプログラムの実行を続行する段階と、 (d)アプリケーション命令を検索し、ステップ(c)
    の割り込みハンドラー命令の実行の完了時に、アプリケ
    ーションプログラムの実行を続行する段階と、を備える
    ことを特徴とする方法。
  8. 【請求項8】 請求項7の方法において、前記第2のプ
    ログラムはオペレーティングシステムプログラムを備え
    る方法。
  9. 【請求項9】 請求項7記載の方法において、 割り込みハンドラールーチンを実行する前記段階(b)
    は、コンピュータを実行しているオペレーティングシス
    テムによってアプリケーションをスケジューリングする
    ことを備え、 アプリケーション命令を検索し且つ実行を続行する前記
    段階(d)は、アプリケーションがスケジューリングさ
    れたときに残りのアプリケーション命令を実行すること
    を備える方法。
  10. 【請求項10】 送信コンピュータから受信コンピュー
    タへのデータの流れを受信コンピュータ内部の通信イン
    タフェースを通じて制御するような通信プロトコルを実
    行する方法において、前記通信インタフェースは、メモ
    リを有し、所定の優先順位レベルを備えた第1のルーチ
    ンによって等しい優先順位レベルを備えた第2のルーチ
    ンをインボウクすることを可能とするようなオペレーテ
    ィングシステムを実行するものであり、前記方法は、受
    信コンピュータによって実行されるものであり、前記方
    法が、 (a)通信プロトコルをインボウクする割り込みハンド
    ラールーチンをメモリに記憶する段階と、但し、前記割
    り込みハンドラールーチンは割り込み優先順位レベルを
    備え、前記通信プロトコルは前記割り込み優先順位レベ
    ルと等しいプロトコル優先順位レベルを備えており、 (b)前記送信コンピュータからのデータをリクエスト
    する段階と、 (c)外部デバイスによってデータが受け取られたこと
    を表示する割り込みが通信インタフェースから受け取ら
    れたときに割り込みハンドラールーチンを実行し、プロ
    トコル優先順位レベルを備えた通信プロトコルをインボ
    ウクして送信コンピュータから受信コンピュータへのデ
    ータの流れを制御する段階と、を備えることを特徴とす
    る方法。
  11. 【請求項11】 請求項10記載の方法において、 割り込みハンドラールーチンを記憶する前記段階(a)
    は、割り込みハンドラールーチンを記憶することを備
    え、前記割り込みハンドラールーチンは、送信コンピュ
    ータから受信コンピュータへのデータの流れを制御する
    プロトコル優先順位レベルを備えた複数の通信プロトコ
    ルを実行するものである段階であり、 割り込みハンドラールーチンを実行する前記段階(c)
    は、プロトコル優先順位レベルを備えた複数の通信プロ
    トコルを実行して送信コンピュータから受信コンピュー
    タへのデータの流れを制御することを含む段階である方
    法。
  12. 【請求項12】 請求項11記載の方法において、前記
    複数の通信プロトコルはXON/XOFFプロトコルを
    含んでいる方法。
  13. 【請求項13】 請求項11記載の方法において、前記
    複数の通信プロトコルはACK/NACKプロトコルを
    含んでいる方法。
  14. 【請求項14】 請求項11記載の方法において、前記
    複数の通信プロトコルはRTS/CTSプロトコルを含
    んでいる方法。
  15. 【請求項15】 請求項10記載の方法において、割り
    込みハンドラールーチンを実行する前記段階(c)は、
    テーブルのエントリに記憶されたアドレスに記憶されて
    いるルーチンにアクセスすることを備えており、前記テ
    ーブルはそこから割り込みが受け取られるような通信イ
    ンタフェースに対応している方法。
  16. 【請求項16】 遠隔のコンピュータからのデータを受
    け取る通信プロトコルを実行するコンピュータシステム
    において、 遠隔のコンピュータに接続された外部デバイスと、コン
    ピュータとを備え、 前記コンピュータが、 前記外部デバイスからデータを受け取る通信インタフェ
    ースと、 所定の優先順位レベルを備えた第1のルーチンによって
    等しい優先順位レベルを備えた第2のルーチンをインボ
    ウクすることを可能とするようなオペレーティングシス
    テムを記憶し、通信プロトコルをインボウクする割り込
    みハンドラールーチンを記憶しているメモリと、但し、
    前記割り込みハンドラールーチンは割り込み優先順位レ
    ベルを備え、前記通信プロトコルは前記割り込み優先順
    位レベルと等しいプロトコル優先順位レベルを備えてお
    り、 通信インタフェースによってデータが受け取られたこと
    を示す割り込みを外部デバイスから受け取ったときに割
    り込みハンドラールーチンを実行してプロトコル優先順
    位レベルを備えた通信プロトコルをインボウクし、それ
    によって通信インタフェースからデータを読み出す手段
    と、を備えることを特徴とするコンピュータシステム。
  17. 【請求項17】 請求項16記載のコンピュータシステ
    ムにおいて、 前記割り込みハンドラールーチンは、プロトコル優先順
    位レベルを備えた複数の通信プロトコルを備え、 前記割り込みハンドラールーチンを実行する前記手段
    は、プロトコル優先順位レベルを備えた複数の通信プロ
    トコルを実行する手段を備えるコンピュータシステム。
  18. 【請求項18】 請求項16記載のコンピュータシステ
    ムにおいて、前記割り込みハンドラールーチンを実行す
    る前記手段は、テーブルのエントリに記憶されたアドレ
    スに記憶されているルーチンをアクセスする手段を備
    え、前記テーブルはそこから割り込みが受け取られるよ
    うな外部のデバイスに対応しているコンピュータシステ
    ム。
  19. 【請求項19】 請求項16記載のコンピュータシステ
    ムにおいて、前記外部デバイスは、受信コンピュータか
    らデータのリクエストを受け取るまでデータをバッファ
    しておくような普遍的且つ非同期の送受信器であるコン
    ピュータシステム。
  20. 【請求項20】 請求項19記載のコンピュータシステ
    ムにおいて、前記メモリは、更に、前記受信コンピュー
    タからリクエストを受け取ったときに普遍的且つ非同期
    の送受信器によってその中にデータが配置されるような
    通信ポートを備えるコンピュータシステム。
  21. 【請求項21】 請求項16記載のコンピュータシステ
    ムにおいて、 前記割り込みハンドラーを実行する手段は、 前記第1および第2の優先順位レベルを自身の上で実行
    を行なう複数のプログラムに割り当てるマイクロプロセ
    ッサと、 割り込みを受け取ったときに前記第1の優先順位レベル
    に割り当てられたプログラムの実行を可能とし、割り込
    みを受け取ったときに前記第2の優先順位レベルに割り
    当てられた実行を防止し、更に、データをリクエスト
    し、前記第2の優先順位レベルが割り当てられているア
    プリケーションプログラムを備えているようなオペレー
    ティングシステムと、を備えるコンピュータシステム。
JP14522094A 1993-06-30 1994-06-28 通信プロトコルの割り込み応答実行方法及び装置 Expired - Fee Related JP3415931B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8544993A 1993-06-30 1993-06-30
US08/085449 1993-06-30

Publications (2)

Publication Number Publication Date
JPH0756834A true JPH0756834A (ja) 1995-03-03
JP3415931B2 JP3415931B2 (ja) 2003-06-09

Family

ID=22191675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14522094A Expired - Fee Related JP3415931B2 (ja) 1993-06-30 1994-06-28 通信プロトコルの割り込み応答実行方法及び装置

Country Status (5)

Country Link
US (2) US6003108A (ja)
EP (1) EP0632626B1 (ja)
JP (1) JP3415931B2 (ja)
CA (1) CA2126174C (ja)
DE (1) DE69429214T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853692A (zh) * 2014-03-12 2014-06-11 四川九洲空管科技有限责任公司 一种基于中断判断机制的多处理器数据通讯方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963720A (en) * 1996-08-13 1999-10-05 Advanced Micro Devices, Inc. Method and system for expediting transfer of data over a network using an additional field
JP3404322B2 (ja) * 1999-05-25 2003-05-06 株式会社エルミックシステム 割込処理方法、os支援システム、情報処理装置、記録媒体
US7746510B2 (en) * 2001-02-01 2010-06-29 Pandipati Radha K C Receipts scanner and financial organizer
US6851006B2 (en) * 2001-08-25 2005-02-01 International Business Machines Corporation Interruption handler-operating system dialog for operating system handling of hardware interruptions
EP1454472B1 (en) * 2001-12-13 2006-05-03 Matsushita Electric Industrial Co., Ltd. Communications device, method and program for receiving process execution, and computer-readable recording medium having same program recorded thereon
US7178062B1 (en) * 2003-03-12 2007-02-13 Sun Microsystems, Inc. Methods and apparatus for executing code while avoiding interference
JP2007221373A (ja) * 2006-02-15 2007-08-30 Canon Inc 通信装置及び前記通信装置における通信制御方法
CN107895440A (zh) * 2017-10-26 2018-04-10 广州市雷军游乐设备有限公司 游戏数据预先获取的方法、装置、终端设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4792890A (en) * 1985-12-31 1988-12-20 International Business Machines Corp. Method for resolving conflicts between interrupt sources sharing the same priority level
US4845609A (en) * 1986-07-25 1989-07-04 Systech Corporation Computer communications subsystem using an embedded token-passing network
US4839800A (en) * 1986-08-29 1989-06-13 Bull Hn Information Systems Inc. Data processing system with a fast interrupt
US5067104A (en) * 1987-05-01 1991-11-19 At&T Bell Laboratories Programmable protocol engine having context free and context dependent processes
JPH10502197A (ja) * 1994-06-28 1998-02-24 インテル・コーポレーション Pci−isa割込みプロトコルコンバータ及び選択機構
US5787248A (en) * 1996-01-02 1998-07-28 Racal-Datacom, Inc. System for selecting network management protocol by setting protocol handler index based on newly selected protocol and selecting protocol handler address using protocol handler index
US5903718A (en) * 1996-09-16 1999-05-11 International Business Machines Corporation Remote program monitor method and system using a system-under-test microcontroller for self-debug
US5974496A (en) * 1997-01-02 1999-10-26 Ncr Corporation System for transferring diverse data objects between a mass storage device and a network via an internal bus on a network card

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853692A (zh) * 2014-03-12 2014-06-11 四川九洲空管科技有限责任公司 一种基于中断判断机制的多处理器数据通讯方法

Also Published As

Publication number Publication date
CA2126174A1 (en) 1994-12-31
EP0632626A1 (en) 1995-01-04
JP3415931B2 (ja) 2003-06-09
EP0632626B1 (en) 2001-11-28
DE69429214T2 (de) 2002-05-23
US6092144A (en) 2000-07-18
US6003108A (en) 1999-12-14
DE69429214D1 (de) 2002-01-10
CA2126174C (en) 2003-01-21

Similar Documents

Publication Publication Date Title
US5469571A (en) Operating system architecture using multiple priority light weight kernel task based interrupt handling
KR950002713B1 (ko) 인터페이스 시스템 및 데이타 전송 제어방법
JP3335172B2 (ja) データ処理システム及びそれに使用するための入出力プロセッサ
US5247616A (en) Computer system having different communications facilities and data transfer processes between different computers
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
US5319753A (en) Queued interrupt mechanism with supplementary command/status/message information
US5903752A (en) Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
US20050015768A1 (en) System and method for providing hardware-assisted task scheduling
KR100589887B1 (ko) 컨트롤러가 없는 모뎀용 도스 기반 어플리케이션 지원장치
US5438677A (en) Mutual exclusion for computer system
US7424563B2 (en) Two-level interrupt service routine
US5937200A (en) Using firmware to enhance the functionality of a controller
JPH0827707B2 (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
JPH07235964A (ja) 端末装置(dte)とデータ通信装置(dce)との間のデータ通信システムおよび高速でデータを送信するための方法
US20040122986A1 (en) Method, system, and program for handling device interrupts
US6154832A (en) Processor employing multiple register sets to eliminate interrupts
JP3415931B2 (ja) 通信プロトコルの割り込み応答実行方法及び装置
US6560657B1 (en) System and method for controlling peripheral devices
US5905912A (en) System for implementing peripheral device bus mastering in a computer using a list processor for asserting and receiving control signals external to the DMA controller
US5790887A (en) Method and apparatus for processing programmed input/output (PIO) operations in a computer system
US5961614A (en) System for data transfer through an I/O device using a memory access controller which receives and stores indication of a data status signal
WO2004061663A2 (en) System and method for providing hardware-assisted task scheduling
US6041328A (en) Tracking availability of elements within a shared list of elements from an index and count mechanism
JP3349547B2 (ja) スケジューリングシステム
EP1416393B1 (en) Processor interface having a stream register and a FIFO

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030224

LAPS Cancellation because of no payment of annual fees