JPH0821008B2 - 入出力メモリ空間保護装置 - Google Patents
入出力メモリ空間保護装置Info
- Publication number
- JPH0821008B2 JPH0821008B2 JP31271387A JP31271387A JPH0821008B2 JP H0821008 B2 JPH0821008 B2 JP H0821008B2 JP 31271387 A JP31271387 A JP 31271387A JP 31271387 A JP31271387 A JP 31271387A JP H0821008 B2 JPH0821008 B2 JP H0821008B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- input
- memory space
- output memory
- protection 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.)
- Expired - Lifetime
Links
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、複数のタスクから1つを選び、その選ばれ
たタスクでのみ入力/出力メモリ空間(以下、I/Oと記
す)の選択操作を可能にすることによって他のタスクか
らのI/O操作を禁止できるようにしたI/O保護装置に関す
るものである。
たタスクでのみ入力/出力メモリ空間(以下、I/Oと記
す)の選択操作を可能にすることによって他のタスクか
らのI/O操作を禁止できるようにしたI/O保護装置に関す
るものである。
従来の技術 従来、複数のタスク処理が選択可能なプロセッサ機能
を有するシステムにおいて、I/Oを操作する際はオペレ
ーティングシステム(以下、OSと記す)を介して操作す
ることによって、同時に複数のタスクよりI/Oが操作さ
れないように保護されていた。
を有するシステムにおいて、I/Oを操作する際はオペレ
ーティングシステム(以下、OSと記す)を介して操作す
ることによって、同時に複数のタスクよりI/Oが操作さ
れないように保護されていた。
発明が解決しようとする問題点 しかしながら、リアルタイム性を必要とするようなシ
ステム、例えば、実時間制御系のマイクロプロセッサに
ついては、I/Oを高速に操作する必要があり、上記のOS
を介すI/O操作ではそのオーバーヘッドが大きな問題と
なっていた。また、多くの場合I/O操作は、OSの実行さ
れるタスクにのみ許可されており、ユーザーが、直接I/
Oを操作することは不可能であった。
ステム、例えば、実時間制御系のマイクロプロセッサに
ついては、I/Oを高速に操作する必要があり、上記のOS
を介すI/O操作ではそのオーバーヘッドが大きな問題と
なっていた。また、多くの場合I/O操作は、OSの実行さ
れるタスクにのみ許可されており、ユーザーが、直接I/
Oを操作することは不可能であった。
一方、OSを持たないシステムにおいては、多くの場
合、I/Oは完全にユーザー開放されており、どのタスク
からでも自由に操作できるために、I/Oの管理はユーザ
ー自身が行わねばならず、ユーザーにとってはたいへん
な重荷となった。
合、I/Oは完全にユーザー開放されており、どのタスク
からでも自由に操作できるために、I/Oの管理はユーザ
ー自身が行わねばならず、ユーザーにとってはたいへん
な重荷となった。
本発明は、上記従来の問題点を解決するもので、複数
のタスクよりI/O操作が可能であり、また、OSでI/Oを管
理することもできるI/O保護装置を提供することを目的
としている。
のタスクよりI/O操作が可能であり、また、OSでI/Oを管
理することもできるI/O保護装置を提供することを目的
としている。
問題点を解決するための手段 この目的を達成するために、本発明では1つのレジス
タを設け、このレジスタにI/O操作を可能にしたいタス
ク番号を入れることによって、複数のタスクの中より1
つのタスクを選び、このタスクでのみI/O操作を可能に
できるようにしたものである。
タを設け、このレジスタにI/O操作を可能にしたいタス
ク番号を入れることによって、複数のタスクの中より1
つのタスクを選び、このタスクでのみI/O操作を可能に
できるようにしたものである。
作用 このようにすれば、OSでI/O操作を可能にしたいタス
ク番号を入れたレジスタを管理することで、I/O操作の
管理をOSができ、また、ユーザーが必要とする際には直
接、I/Oを操作することができる。
ク番号を入れたレジスタを管理することで、I/O操作の
管理をOSができ、また、ユーザーが必要とする際には直
接、I/Oを操作することができる。
実施例 以下、本発明の実施例について図面を参照しながら説
明する。
明する。
第1図は、本発明の一実施例におけるハードウェア構
成ブロック図であり、1は比較器、2はI/O操作許可タ
スク番号を入れるレジスタ(以下、ENABTKと略す)、3
はマイクロプロセッサーより与えられる現在実行中のタ
スク番号レジスタ(以下、EXECTKと略す)、4はI/O制
御器、5a〜5dはI/O、6はアドレスデコーダである。
成ブロック図であり、1は比較器、2はI/O操作許可タ
スク番号を入れるレジスタ(以下、ENABTKと略す)、3
はマイクロプロセッサーより与えられる現在実行中のタ
スク番号レジスタ(以下、EXECTKと略す)、4はI/O制
御器、5a〜5dはI/O、6はアドレスデコーダである。
今、1つのI/O5aのアドレスが生成されたとする。す
ると、アドレスデコーダ6を通して、比較器1に信号
(IODEC)が入る。すると比較器1は、I/Oを操作しても
よいタスクであるかどうかを確認するために、ENABTK2
とEXECTK3との各信号を比較する。そして、一致した場
合は、I/Oを選択するようにイネーブル信号(ENABLE)
をI/O制御器4に出す。また、不一致のときはエラー信
号(ERROR)をマイクロプロセッサーに返す。
ると、アドレスデコーダ6を通して、比較器1に信号
(IODEC)が入る。すると比較器1は、I/Oを操作しても
よいタスクであるかどうかを確認するために、ENABTK2
とEXECTK3との各信号を比較する。そして、一致した場
合は、I/Oを選択するようにイネーブル信号(ENABLE)
をI/O制御器4に出す。また、不一致のときはエラー信
号(ERROR)をマイクロプロセッサーに返す。
一致した場合、I/O制御器4は、アドレスで示されたI
/O5aを選択する。
/O5aを選択する。
例として、上記のシステムをもつハードウェアの空間
領域を第2図に示すようなメモリマップで配置する。O
S,OS・RAM領域(OSのワークエリア)及びOS専用I/O領域
はシステムのみが管理できるメモリエリアで、ユーザー
はこのエリアを操作できない。また、OSは実行タスク番
号レジスタ3によって設定されるタスク番号「0」のタ
スク(以下、仮りに、タスク「0」と略す)でのみ走
る。また、I/O領域はIOB I,IOB II,IOB III,IOB IVの4
つのブロックに分けてそれぞれのENABTK I〜IVをOS専用
I/O領域に置く。
領域を第2図に示すようなメモリマップで配置する。O
S,OS・RAM領域(OSのワークエリア)及びOS専用I/O領域
はシステムのみが管理できるメモリエリアで、ユーザー
はこのエリアを操作できない。また、OSは実行タスク番
号レジスタ3によって設定されるタスク番号「0」のタ
スク(以下、仮りに、タスク「0」と略す)でのみ走
る。また、I/O領域はIOB I,IOB II,IOB III,IOB IVの4
つのブロックに分けてそれぞれのENABTK I〜IVをOS専用
I/O領域に置く。
さて、このように配置されたハードウェアをOSが操作
することで、次表のように設定値を管理することができ
る。
することで、次表のように設定値を管理することができ
る。
すなわち、この表に示されるように、イニシャライズ
時はOSが動き、ENABTKの値(ENABTK I〜IV)をすべて
「0」にすることで、IOB I〜IVはすべてOSの管理下に
入る。
時はOSが動き、ENABTKの値(ENABTK I〜IV)をすべて
「0」にすることで、IOB I〜IVはすべてOSの管理下に
入る。
通常、ユーザタスク(タスク「0」以外で、仮りに、
タスク「2」と記す)は、I/Oを操作する時はOSを呼び
だして、OSがI/Oを操作する。
タスク「2」と記す)は、I/Oを操作する時はOSを呼び
だして、OSがI/Oを操作する。
今、ユーザタスクのタスク「2」がOSを介さず直接IO
B IIIにあるI/Oを操作する必要が生じたとする。する
と、ENABTK2の信号(ENABTK)はOSにIOB IIIを開放する
よう要求を出す。次にOSは要求してきたタスク「2」
を、第2図中アドレス空間のI/O領域のIOB IIIが開放可
能であれば、その位置、たとえば、ENABTK IIIに「2」
と設定する。(表中、設定1)これにより、IOB III
は、OSを離れ、ENABTK2の信号でのみ操作可能であるこ
とを意味する「2」となる。つまり、ユーザーは自由に
I/Oを操作できるようになる。しかしながら、OSはユー
ザタスク「2」がIOB IIIを使用していることを知るこ
とができる。そして、ユーダタスク「2」がI/Oを直接
操作する必要がなくなった場合は、OSにIOB IIIが不要
になったことを通知する。すると、OSはENABTK IIIを再
び「0」にすることでIOB I〜IVはすべてOSの管理下に
戻る。(表中、設定解除) こうすれば、I/Oを直接操作が禁止されているタスク
よりI/O操作が実行されたとしても、エラーが発生する
だけで、I/Oの競合は避けられる。また、OSは必要に応
じて強制的にIOBを他のタスクよりENABTK I〜IVを
「0」にすることで、OSに取り戻すことも可能である。
B IIIにあるI/Oを操作する必要が生じたとする。する
と、ENABTK2の信号(ENABTK)はOSにIOB IIIを開放する
よう要求を出す。次にOSは要求してきたタスク「2」
を、第2図中アドレス空間のI/O領域のIOB IIIが開放可
能であれば、その位置、たとえば、ENABTK IIIに「2」
と設定する。(表中、設定1)これにより、IOB III
は、OSを離れ、ENABTK2の信号でのみ操作可能であるこ
とを意味する「2」となる。つまり、ユーザーは自由に
I/Oを操作できるようになる。しかしながら、OSはユー
ザタスク「2」がIOB IIIを使用していることを知るこ
とができる。そして、ユーダタスク「2」がI/Oを直接
操作する必要がなくなった場合は、OSにIOB IIIが不要
になったことを通知する。すると、OSはENABTK IIIを再
び「0」にすることでIOB I〜IVはすべてOSの管理下に
戻る。(表中、設定解除) こうすれば、I/Oを直接操作が禁止されているタスク
よりI/O操作が実行されたとしても、エラーが発生する
だけで、I/Oの競合は避けられる。また、OSは必要に応
じて強制的にIOBを他のタスクよりENABTK I〜IVを
「0」にすることで、OSに取り戻すことも可能である。
なお、OSのタスクをタスク「0」としたがこれはどの
タスクでもかまわない。また、I/Oを4つに分離した
が、これもその数に制約はない。
タスクでもかまわない。また、I/Oを4つに分離した
が、これもその数に制約はない。
発明の効果 以上のように、本発明は、1つのI/O操作許可タスク
番号を入れるレジスタを設け、これと実行中のタスク番
号を比較することで、I/Oを選択することによって、複
数のタスクより1つを選んでI/O操作が可能となり、こ
れによって、OSがI/Oを容易に管理しながら、高速I/O処
理をも自由に行うことができる。
番号を入れるレジスタを設け、これと実行中のタスク番
号を比較することで、I/Oを選択することによって、複
数のタスクより1つを選んでI/O操作が可能となり、こ
れによって、OSがI/Oを容易に管理しながら、高速I/O処
理をも自由に行うことができる。
第1図は本発明の第1の実施例におけるブロック図、第
2図はメモリマップ図である。 1……比較器、2……I/O操作許可タスク番号レジスタ
ファイル、3……実行タスク番号、4……I/O制御器、5
a〜5d……I/O、6……アドレスデコーダ。
2図はメモリマップ図である。 1……比較器、2……I/O操作許可タスク番号レジスタ
ファイル、3……実行タスク番号、4……I/O制御器、5
a〜5d……I/O、6……アドレスデコーダ。
Claims (1)
- 【請求項1】複数のタスク処理が可能なプロセッサ機能
を有するシステムで、入力/出力メモリ空間の操作許可
タスク番号を設定するレジスタと、比較器とを設け、上
記入力/出力メモリ空間の操作許可タスク番号と現在実
行中のタスク番号とを比較して、前記入力/出力メモリ
空間を選択することによって、単一タスクでのみその操
作を可能とすることを特徴とする入出力メモリ空間保護
装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31271387A JPH0821008B2 (ja) | 1987-12-10 | 1987-12-10 | 入出力メモリ空間保護装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31271387A JPH0821008B2 (ja) | 1987-12-10 | 1987-12-10 | 入出力メモリ空間保護装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01154266A JPH01154266A (ja) | 1989-06-16 |
JPH0821008B2 true JPH0821008B2 (ja) | 1996-03-04 |
Family
ID=18032528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31271387A Expired - Lifetime JPH0821008B2 (ja) | 1987-12-10 | 1987-12-10 | 入出力メモリ空間保護装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0821008B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4779597B2 (ja) * | 2005-11-25 | 2011-09-28 | マツダ株式会社 | 車両用フード構造及びフードの補修方法 |
-
1987
- 1987-12-10 JP JP31271387A patent/JPH0821008B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH01154266A (ja) | 1989-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5333319A (en) | Virtual storage data processor with enhanced dispatching priority allocation of CPU resources | |
US5956712A (en) | Byte range locking in a distributed environment | |
US5230065A (en) | Apparatus and method for a data processing system having a peer relationship among a plurality of central processing units | |
JP2557189B2 (ja) | デバイス操作方法 | |
US4791554A (en) | Method and apparatus for preventing deadlock in a data base management system | |
US4644465A (en) | Apparatus for controlling I/O interrupt in multiprocessor system | |
JPH1115793A (ja) | 資源の保全性を保護する方法 | |
JPH03196249A (ja) | 多重プロセッサシステム | |
US4945470A (en) | Hierarchy multi-processor system and control method therefor | |
US5386525A (en) | System for providing application programs with direct addressability into a shared dataspace | |
EP0321694B1 (en) | Method for a Data processing system using incompatible central processing unit/operating system combinations | |
US4056846A (en) | Data processing system with apparatus for sharing channel background processing | |
JPH0821008B2 (ja) | 入出力メモリ空間保護装置 | |
JPH0877025A (ja) | タスクの優先度制御方法、タスクの優先度制御装置 | |
JPH0115899B2 (ja) | ||
JP2535631B2 (ja) | コル―チン呼び出し制御方式 | |
JPH04223533A (ja) | 共有資源排他制御システム | |
JPH01195542A (ja) | マルチプログラミング処理装置 | |
JPS5932047A (ja) | コンソ−ル割込制御方式 | |
JPH0478932A (ja) | 共有資源排他制御方式 | |
JP2879854B2 (ja) | アドレス変換値の設定処理方式 | |
JPH02293954A (ja) | 記憶装置の使用権制御方法 | |
JPH03255519A (ja) | プリンタ管理装置 | |
JPH03154940A (ja) | マルチ・ファイル処理装置 | |
JPS62210545A (ja) | 情報処理装置 |