(57)【要約】【課題】リアルタイムＯＳ利用システムで、タスクが所有するデータ等を、テーブルを含むアクセス機構により保護する従来のシステムでは、処理時間が長くなる場合がある、金物増加量が多くなるといった問題があった。【解決手段】初期設定手段５が、個々タスクが所有するページ情報をタスク単位でデータ保護テーブル２に設定しこの情報を元にページテーブル３を作成し各ページ属性を保護に設定し、ページ保護例外処理手段６が呼び出されるとデータ保護テーブル２の実行中タスク対応の保護ページ情報が例外となったページを含むかチェックし、含めば該ページ属性を許可にしデータ許可テーブル４にタスクＩＤを登録し、含まなければ実行中タスクを休止状態にし、タスク切替手段１２が、タスク切替え時、前記登録されたタスクＩＤでデータ保護テーブル２より保護ページ情報を取得し、対応するページの属性を保護状態に戻す。【選択図】      図１
2004157751.tif 000002
【特許請求の範囲】
【請求項１】
一つのメモリ空間をプログラムで共有するオペレーティングシステム利用のシステムにおいて、システムの初期設定で、個々のタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手段と、主記憶アクセス時そのアドレスに対応するエントリが参照されるページテーブルを前記データ保護テーブルの情報を元に作成し、これの各ページの属性を保護状態に設定する手段を有することを特徴とするデータ保護システム。
【請求項２】
前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルを作成し、各ページの属性を保護状態に設定する初期設定手段と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手段と、タスク切替手段を備え、前記ページ保護例外処理手段は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手段と、チェックの結果前記ページを含めばページテーブルの該当ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブル４に登録されてなければそれを登録する手段と、前記チェックの結果、前記ページを含まなければ実行していたタスクを休止状態にする手段を有し、前記タスク切替手段は、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応するタスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手段を有することを特徴とする請求項１記載のデータ保護システム。
【請求項３】
前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルを作成し、各ページの属性を保護状態に設定する初期設定手段と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手段と、タスク切替手段を備え、前記ページ保護例外処理手段は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手段と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手段と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手段を有し、前記タスク切替手段は、タスクを切り替える際に、データ許可テーブルにページ識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別情報を消去する手段を有することを特徴とする請求項１記載のデータ保護システム。
【請求項４】
一つのメモリ空間をプログラムで共有するオペレーティングシステム利用のシステムにおいて、ページテーブルを作成する手段と、システムの初期設定で、個々のタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手段と、ページテーブルの、前記データ保護テーブルが示す保護ページについて属性を保護状態に設定する手段を有することを特徴とするデータ保護システム。
【請求項５】
前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルの属性を保護状態に設定する初期設定手段と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手段とタスク切替手段を備え、前記ページ保護例外処理手段は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手段と、チェックの結果前記ページを含めばページテーブルの該当ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブルに登録されてなければそれを登録する手段と、前記チェックの結果、前記ページを含まなければ実行していたタスクを休止状態にする手段を有し、前記タスク切替手段は、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応するタスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手段を有することを特徴とする請求項４記載のデータ保護システム。
【請求項６】
前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルの属性を保護状態に設定する初期設定手段と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手段とタスク切替手段を備え、ページ保護例外処理手段は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手段と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手段と、前記チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手段を有し、前記タスク切替手段は、タスクを切り替える際に、データ許可テーブルにページ識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別を消去する手段を有することを特徴とする請求項４記載のデータ保護システム。
【請求項７】
システムの初期設定で、個々のタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、主記憶アクセス時そのアドレスに対応するエントリが参照されるページテーブルを前記データ保護テーブルの情報を元に作成し、これの各ページの属性を保護状態に設定する手順を有することを特徴とするデータ保護プログラム。
【請求項８】
前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルを作成し、各ページの属性を保護状態に設定する初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブルに登録されてなければそれを登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応タスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手順を有することを特徴とする請求項７記載のデータ保護プログラム。
【請求項９】
前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルを作成し、各ページの属性を保護状態に設定する初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順とタスクの切替を行うタスク切替手順を備え、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにページの識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別を消去する手順を有することを特徴とする請求項７記載のデータ保護プログラム。
【請求項１０】
ページテーブルを作成する手順と、システムの初期設定で、個々のタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、ページテーブルの、前記データ保護テーブルが示す保護ページについて属性を保護状態に設定する手順を有することを特徴とするデータ保護プログラム。
【請求項１１】
前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルの属性を保護状態に設定する初期設定手順と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブルに登録されてなければそれを登録する手順と、前記チェックの結果、前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応するタスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手順を有することを特徴とする請求項１０記載のデータ保護プログラム。
【請求項１２】
前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルの属性を保護状態に設定する初期設定手順と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの該当ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手順と、前記チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにページ識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別を消去する手順を有することを特徴とする請求項１０記載のデータ保護プログラム。
【請求項１３】
システムの初期設定をする初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記初期設定手順はタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、主記憶アクセス時そのアドレスに対応するエントリが参照されるページテーブルを前記データ保護テーブルの情報を元に作成し、これの各ページの属性を保護状態に設定する手順を有し、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブルに登録されてなければそれを登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応タスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手順を有することを特徴とするデータ保護方法。
【請求項１４】
システムの初期設定をする初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記初期設定手順はタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、主記憶アクセス時そのアドレスに対応するエントリが参照されるページテーブルを前記データ保護テーブルの情報を元に作成し、これの各ページの属性を保護状態に設定する手順を有し、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにページの識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別を消去する手順を有することを特徴とするデータ保護方法。
【請求項１５】
システムの初期設定をする初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記初期設定手順はタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、このデータ保護テーブルの情報に従って、ページテーブルの対応ページの属性を保護状態に設定する手順を有し、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブルに登録されてなければそれを登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応タスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手順を有することを特徴とするデータ保護方法。
【請求項１６】
システムの初期設定をする初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記初期設定手順はタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、このデータ保護テーブルの情報に従って、ページテーブルの対応ページの属性を保護状態に設定する手順を有し、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにページの識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別を消去する手順を有することを特徴とするデータ保護方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、リアルタイムオペレーティングシステムの様に、主記憶上に全プログラムとデータをロードしておきメモリ空間を全てのプログラムで共有しているオペレーティングシステムを利用する際にプログラムのデータを保護するシステム、プログラムのデータを保護するプログラム、保護方法に関し、特にこの様なオペレーティングシステムを利用する際に、プログラムの不具合等で他のプログラムやタスクのデータが書き換えられることを防止するデータ保護システム、データ保護プログラム及びデータ保護方法に関する。
【０００２】
【従来の技術】
従来、仮想記憶を備えたオペレーティングシステムではプロセス毎にアドレス空間を持ち、プロセスの切替毎にページテーブルを更新する。これにより、カレントプロセスから別のプロセスのデータを書き換えることは起きない。
【０００３】
しかし、リアルタイムシステムで利用するリアルタイムオペレーティングシステムは高速な処理が必要なため、主記憶メモリ上に全プログラムとデータをロードしておきメモリ空間を全てのプログラムで共有している。
【０００４】
また、プログラムとデータのアドレスは物理アドレスと一致している。
【０００５】
よって、プログラムの不具合による不適当なアドレスへのアクセスを検出できない。
【０００６】
一方これに類似した問題を改善する技術としてメモリ保護装置がある（例えば、特許文献１参照）。
【０００７】
このメモリ保護装置は、各メモリブロックに対応して保護情報を格納する複数個のメモリ保護情報記憶手段と、あるメモリブロックに関する属性情報を記憶するカレントキー情報記憶手段とを備え、あるメモリブロックをアクセスする前に予め、該メモリブロックに対応するメモリ保護情報記憶手段に保護キーを設定し、該メモリブロックに関する属性キーをカレントキー情報記憶手段に設定しておき、メモリブロックへのアクセスがある度に該メモリアクセスと並行して、メモリ保護記憶手段内の該メモリアドレスに対応するメモリブロックの保護キーとカレントキー情報記憶手段内の属性キーとを比較し、予め定められた条件を満足すれば該メモリアクセスを許容し、満足しなければ該メモリアクセスを禁止してアクセス違反が生じたことを外部に通知するメモリ保護装置である。
【０００８】
ここで保護キーレジスタのメモリブロック上位アドレスが一致し、かつカレントキーレジスタと保護キーレジスタのプロセスＩＤが一致すればアクセスを許可する。
【０００９】
又、メモリ保護テーブルをメモリブロックを格納する一般のメモリから分離して、メモリ保護テーブルとメモリブロックとが同時アクセス出来るようにすることによって処理能力を低下させることなくメモリ保護チェックを行うものである。
【００１０】
【特許文献１】
特開平５−１３４９３０号公報（段落［０００８］、［００１４］、［００５４］〜［００５６］）
【００１１】
【発明が解決しようとする課題】
従って、上記メモリ保護装置では、メモリ保護テーブルの各エントリがプロセスＩＤを保持しており、１ビットの保護ビットを設ける場合よりメモリサイズが大きくなり、又一般メモリとは分離した別のメモリ等であり、その分金物量が増えると言う問題がある。
【００１２】
少なくとも、携帯端末等の小型装置におけるデータの保護システムには向かない。
【００１３】
また、メモリ保護テーブルへのプロセスＩＤ等の設定は、あるメモリブロックをアクセスする前に予め設定するが、初期設定で全エントリの設定を纏めて行う手段はなく、初期に全てのプログラムを主記憶にロードし、データ域を確保して以降そのメモリマップで動作するシステムには向かない。
【００１４】
本発明の目的は、リアルタイムオペレーティングシステムの様に、主記憶メモリ上に全プログラムとデータをロードしておきメモリ空間を全てのプログラムで共有しているオペレーティングシステムを利用したシステムで、個々のプログラムの所有する（書き換えできる）領域を保護するシステム、保護するためのプログラム及び方法を提供するものである。
【００１５】
特に、主記憶アクセスに関する処理時間増加を少なくでき、オペレーティングシステム配下のプログラムを変更することなく、又、小型の端末や情報処理装置にも適用できるデータ保護システム、保護プログラム及び方法を提供するものである。
【００１６】
【課題を解決するための手段】
本発明の第１のデータ保護システムは、一つのメモリ空間をプログラムで共有するオペレーティングシステム利用のシステムにおいて、システムの初期設定で、個々のタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手段と、主記憶アクセス時そのアドレスに対応するエントリが参照されるページテーブルを前記データ保護テーブルの情報を元に作成し、これの各ページの属性を保護状態に設定する手段を有することを特徴とする。
【００１７】
本発明の第２のデータ保護システムは、前記第１のデータ保護システムに於いて、前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルを作成し、各ページの属性を保護状態に設定する初期設定手段と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手段と、タスク切替手段を備え、前記ページ保護例外処理手段は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手段と、チェックの結果前記ページを含めばページテーブルの該当ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブル４に登録されてなければそれを登録する手段と、前記チェックの結果、前記ページを含まなければ実行していたタスクを休止状態にする手段を有し、前記タスク切替手段は、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応するタスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手段を有することを特徴とする。
【００１８】
本発明の第３のデータ保護システムは、前記第１のデータ保護システムに於いて、前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルを作成し、各ページの属性を保護状態に設定する初期設定手段と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手段と、タスク切替手段を備え、前記ページ保護例外処理手段は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手段と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手段と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手段を有し、前記タスク切替手段は、タスクを切り替える際に、データ許可テーブルにページ識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別情報を消去する手段を有することを特徴とする。
【００１９】
本発明の第４のデータ保護システムは、一つのメモリ空間をプログラムで共有するオペレーティングシステム利用のシステムにおいて、ページテーブルを作成する手段と、システムの初期設定で、個々のタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手段と、ページテーブルの、前記データ保護テーブルが示す保護ページについて属性を保護状態に設定する手段を有することを特徴とする。
【００２０】
本発明の第５のデータ保護システムは、前記第４のデータ保護システムに於いて、前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルの属性を保護状態に設定する初期設定手段と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手段とタスク切替手段を備え、前記ページ保護例外処理手段は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手段と、チェックの結果前記ページを含めばページテーブルの該当ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブルに登録されてなければそれを登録する手段と、前記チェックの結果、前記ページを含まなければ実行していたタスクを休止状態にする手段を有し、前記タスク切替手段は、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応するタスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手段を有することを特徴とする。
【００２１】
本発明の第６のデータ保護システムは、前記第４のデータ保護システムに於いて、前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルの属性を保護状態に設定する初期設定手段と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手段とタスク切替手段を備え、ページ保護例外処理手段は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手段と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手段と、前記チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手段を有し、前記タスク切替手段は、タスクを切り替える際に、データ許可テーブルにページ識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別を消去する手段を有することを特徴とする。
【００２２】
本発明の第１のデータ保護プログラムは、システムの初期設定で、個々のタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、主記憶アクセス時そのアドレスに対応するエントリが参照されるページテーブルを前記データ保護テーブルの情報を元に作成し、これの各ページの属性を保護状態に設定する手順を有することを特徴とする。
【００２３】
本発明の第２のデータ保護プログラムは、前記第１のデータ保護プログラムに於いて、前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルを作成し、各ページの属性を保護状態に設定する初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブルに登録されてなければそれを登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応タスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手順を有することを特徴とする。
【００２４】
本発明の第３のデータ保護プログラムは、前記第１のデータ保護プログラムに於いて、前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルを作成し、各ページの属性を保護状態に設定する初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順とタスクの切替を行うタスク切替手順を備え、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにページの識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別を消去する手順を有することを特徴とする。
【００２５】
本発明の第４のデータ保護プログラムは、ページテーブルを作成する手順と、システムの初期設定で、個々のタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、ページテーブルの、前記データ保護テーブルが示す保護ページについて属性を保護状態に設定する手順を有することを特徴とする。
【００２６】
本発明の第５のデータ保護プログラムは、前記第４のデータ保護プログラムに於いて、前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルの属性を保護状態に設定する初期設定手順と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブルに登録されてなければそれを登録する手順と、前記チェックの結果、前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応するタスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手順を有することを特徴とする。
【００２７】
本発明の第６のデータ保護プログラムは、前記第４のデータ保護プログラムに於いて、前記データ保護テーブルの設定を行い、この情報を元に前記ページテーブルの属性を保護状態に設定する初期設定手順と、保護状態のページへの書込要求があれば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの該当ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手順と、前記チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにページ識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別を消去する手順を有することを特徴とする。
【００２８】
本発明の第１のデータ保護方法は、システムの初期設定をする初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記初期設定手順はタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、主記憶アクセス時そのアドレスに対応するエントリが参照されるページテーブルを前記データ保護テーブルの情報を元に作成し、これの各ページの属性を保護状態に設定する手順を有し、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブルに登録されてなければそれを登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応タスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手順を有することを特徴とする。
【００２９】
本発明の第２のデータ保護方法は、システムの初期設定をする初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記初期設定手順はタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、主記憶アクセス時そのアドレスに対応するエントリが参照されるページテーブルを前記データ保護テーブルの情報を元に作成し、これの各ページの属性を保護状態に設定する手順を有し、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにページの識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別を消去する手順を有することを特徴とする。
【００３０】
本発明の第３のデータ保護方法は、システムの初期設定をする初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記初期設定手順はタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、このデータ保護テーブルの情報に従って、ページテーブルの対応ページの属性を保護状態に設定する手順を有し、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、前記実行していたタスクＩＤがデータ許可テーブルに登録されてなければそれを登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにタスクＩＤが登録されていればデータ保護テーブルの対応タスクの保護ページ情報を取得し、ページテーブルの対応するページの属性を保護状態に戻し、前記データ許可テーブルのタスクＩＤを消去する手順を有することを特徴とする。
【００３１】
本発明の第４のデータ保護方法は、システムの初期設定をする初期設定手順と、保護状態のページへの書込要求が有れば呼び出されるページ保護例外処理手順と、タスクの切替を行うタスク切替手順を備え、前記初期設定手順はタスクが所有する主記憶上のページ情報をタスク単位でデータ保護テーブルに設定する手順と、このデータ保護テーブルの情報に従って、ページテーブルの対応ページの属性を保護状態に設定する手順を有し、前記ページ保護例外処理手順は、実行していたタスクのＩＤを前記オペレーティングシステムより取得し、データ保護テーブルの当該タスクの保護ページ情報が前記保護例外となったページを含むかをチェックする手順と、チェックの結果前記ページを含めばページテーブルの当該ページの属性を許可状態にし、そのページの識別情報をデータ許可テーブルに登録する手順と、チェックの結果前記ページを含まなければ実行していたタスクを休止状態にする手順を有し、前記タスク切替手順が、タスクを切り替える際に、データ許可テーブルにページの識別情報が登録されていれば、ページテーブルの対応するページの属性を保護状態に戻し、データ許可テーブルの前記ページ識別を消去する手順を有することを特徴とする。
【００３２】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。先ず本発明の第１実施例を説明する。
【００３３】
図１は本発明のデータ保護システムの構成を示したブロック図であり、データ保護システムは、リアルタイムオペレーティングシステム１、データ保護テーブル２、ページテーブル３、データ許可テーブル４、初期設定手段５、ページ保護例外処理手段６により構成される。
【００３４】
初期設定手段５は予め決めた保護するデータのページアドレスとページ数（長さ）とそのデータを所有する（書き換える）タスクＩＤとをタスクＩＤ単位でデータ保護テーブル２に設定する。
【００３５】
次に初期設定手段５はデータ保護テーブル２の情報をもとにＭＭＵ（メモリマネージメントユニット）の仕様に合わせてページテーブル３を作成する。
【００３６】
リアルタイムオペレーティングシステム１も含めてプログラムが行う主記憶アクセス要求で、アクセスアドレスに対応したページテーブル３のエントリが参照される。
【００３７】
リアルタイムオペレーティングシステム１はタスク管理手段１１とタスク切替手段１２を持ち、タスク切替手段１２はページ情報切替手段１２１を有する。
【００３８】
タスク管理手段１１は実行中のタスク情報とプライオリティに合わせて次に実行するタスクを決める。
【００３９】
タスク切替手段１２はタスク切替が発生した場合、ページ情報切替手段１２１により実行していたタスクが保護されているデータにアクセスしていたか判断するためデータ許可テーブル４参照する。
【００４０】
ページ情報切替手段１２１はデータ許可テーブル４にタスクのＩＤが登録されていれば、そのタスクが所有する保護ページがそのタスク実行期間に許可状態にされたと見なす。
【００４１】
そしてデータ保護テーブル２の実行していたタスクの保護するページ情報を参照し、それに従ってページテーブル３の該当エントリの属性を保護状態にし（保護状態に戻し）、データ許可テーブル４の情報を消去し、タスク切替手段１２はタスク管理手段１１より次に実行するタスクを取得し、そのタスクに切替える。
【００４２】
データ許可テーブル４にタスクＩＤが登録されてない場合は、実行していたタスクが保護ページにアクセスしていないと見なし、タスク管理手段１１より次に実行するタスクを取得し、そのタスクに切替える。
【００４３】
ページ保護例外が発生した場合、即ち、プログラムが行う主記憶アクセス要求で、アクセスアドレスに対応したページテーブル３のエントリが参照されその属性が保護状態で、要求が書き込みであればページ保護例外となりページ保護例外処理手段６が呼び出される。
【００４４】
ページ保護例外処理手段６はタスク管理手段１１より例外処理前に実行していたタスクＩＤを取得し、それをキーとしデータ保護テーブル２にアクセスし取得した保護ページ情報が、ページ保護例外が発生したページを含むか判断する。
【００４５】
一致している場合ページテーブル３のページ保護例外が発生したページアドレスの属性を許可状態とし、データ許可テーブル４に実行中のタスクが自分の保護ページを許可状態にしたことを示す情報（実行中のタスクＩＤ）を書きタスクの実行を継続する。この際データ許可テーブル４に実行中のタスクＩＤが既に登録されていれば追記しない。一致しない場合はエラー情報を書き、タスクを休止状態にする。
【００４６】
上記初期設定手段５、ページ保護例外処理手段６、リアルタイムオペレーティングシステム１の各手段は、システムを実現する端末（携帯端末、情報処理機能を持つ携帯電話も含む）や情報処理装置におけるプログラム手順により実現される。
【００４７】
尚、リアルタイムオペレーティングシステム１を利用するシステムで、主記憶には実アドレスモードでしかアクセスしない場合は、ページテーブル３の各エントリの論理アドレス情報は設ける必要はない。
【００４８】
次に、本実施例の動作について図面を参照して説明する。図２はデータ保護システムの動作やデータ保護プログラム、データ保護方法の手順を示すフローチャートである。
【００４９】
図２を参照し、先ず初期設定処理を行い最初のタスクをタスク＃１としこれが所有する保護されたデータにアクセスし、タスク＃１が実行されタスク＃２に切り替わり不具合でタスク＃１等の他の保護ページの書き込み要求した場合について説明する。
【００５０】
初期設定手段５は保護するページのページアドレスとページ数をタスク単位でデータ保護テーブル２に登録する（ステップ１）。データ保護テーブル２の情報を元に、ＭＭＵの仕様に合わせページテーブル３を作成し各エントリの属性を保護に設定する（ステップ２）。
【００５１】
タスク管理手段１１がプライオリティに従って次に実行するタスクを決める（タスク＃１への切替発生）（ステップ３）。タスク切替手段１２はデータ許可テーブル４に登録情報が有るかチェックし、最初につき登録されてないので（ステップ４）、直ぐに次のタスク（タスク＃１）に切替えこれが実行される。
【００５２】
タスク＃１の主記憶アクセス（書き込み）でページ保護例外が発生する（ステップ７）。
【００５３】
ページ保護例外処理手段６が実行していたタスクＩＤ（＃１）をタスク管理手段１１より取得し、データ保護テーブル２のＩＤ＃１の保護ページ情報を取得する（ステップ８）。
【００５４】
保護ページ情報が、例外が発生したページを含むか判定し、含まれるので（ステップ９）、例外が発生したページの属性を許可状態にし、データ許可テーブル４に実行中のタスクＩＤ（＃１）が登録されてないのでこれを登録する（ステップ１０）。
【００５５】
タスク＃１の実行が終了すると（ステップ１１）、システムの終了条件かを判定し、終了条件はないので（ステップ１３）、次のタスク（＃２）への切替が発生する（ステップ３）。
【００５６】
タスク切替手段１２はデータ許可テーブル４に登録情報が有るかチェックし、ＩＤ＃１が登録されているので、これをキーとしデータ保護テーブル２よりタスクＩＤ＃１の保護ページ情報（ページアドレス）を取得し、ページテーブル３のページアドレス００１（エントリ＃１）の属性情報を保護状態に戻し、データ許可テーブル４の情報を消去する（ステップ５）。
【００５７】
タスク切替手段１２は次のタスク（＃２）に切替えこれが実行され（ステップ６）、タスク＃２が不具合でタスク＃１の保護ページへの書き込みを要求しページ保護例外が発生する（ステップ７）。
【００５８】
ページ保護例外処理手段６は実行していたタスクＩＤ（＃２）を取得し、データ保護テーブル２のＩＤ＃２の保護ページ情報を取得する（ステップ８）。
【００５９】
そして、これには、例外が発生したページが含まれないと判定し（ステップ９）他タスクの保護ページへの書込要求が行われたとし、エラー情報を書き実行中タスクを休止状態にする（ステップ１２）。
【００６０】
尚、エラー情報はシリアルで外部に出してもメモリに保存してもディスプレイに表示してもよい。メモリ保護ハードウェアはＭＭＵ以外でもよい。
【００６１】
次に本発明の第２実施例を説明する。本実施例ではプログラム等が主記憶にロードされる際にプログラムやデータ用の主記憶領域がＭＭＵ或いは初期設定手段５により割り付けられ、この情報に従ってページテーブル３が作成される。
【００６２】
初期設定手段５は保護するデータのページアドレスとページ数（長さ）とそのデータを所有する（書き換える）タスクＩＤとをタスクＩＤ単位でデータ保護テーブル２に設定する。
【００６３】
次に初期設定手段５はページテーブル３のエントリの内、データ保護テーブル２の保護ページ情報が指定するページの属性情報を保護状態に設定する。他の機能や処理は前記第１の実施例と同様である。
【００６４】
次に本発明の第３実施例を説明する。本実施例ではページ保護例外処理手段６が、ページテーブル３の例外となったページの属性を許可状態に設定した際に、データ許可テーブル４には、実行中のタスクＩＤでなく、ページ識別（ページアドレス或いはページテーブルエントリ番号）を登録する（図３参照）。
【００６５】
一つのタスクが複数の自分の保護ページに順次アクセスし、其の都度ページ保護例外処理手段６による許可状態設定が行われる場合は、データ許可テーブル４には、ページ識別が順次追記される。
【００６６】
又、タスク切替手段１２がタスクを切り替える際にデータ許可テーブル４の登録情報有無をチェックし、あればそれが示すページの属性を保護状態に設定し、データ許可テーブル４のページ識別情報を消去する。
【００６７】
データ許可テーブル４に複数のページ識別情報が登録されていれば、上記動作を繰り返し行う。
【００６８】
他の手段の機能ないし処理手順は第１の実施例、或いは第２の実施例と同様である。
【００６９】
【発明の効果】
本発明によれば、ページ保護例外が発生したとき以外はページ情報の書換が発生しない。このためページテーブル書換時間、ページテーブルキャッシュのミスヒットによる処理時間が少なく出来る。
【００７０】
特にタスク切替で次のタスクが所有する多数の保護ページについて無条件で属性を許可に変更するのでなく実際に書き換え要求が発生したページを処理するので、複数のタスクを時分割でリアルタイム処理しタスクの１回当たり処理量が限られる小型の携帯端末や携帯電話においても、データ保護に係わる余分な処理を行わず処理時間を少なくでき、複数タスクの同時処理性も維持出来る。
【００７１】
また、システムの初期設定手段が個々のプログラムエリアやそれの所有する保護ページをデータ保護テーブルに設定し、その保護ページ情報をページテーブルに展開し、各ページ属性を保護状態とし、書込アクセスの内自分のページのみ一時許可するので、現状使用しているプログラムを修正することなくデータの保護機能を追加することが出来る。
【図面の簡単な説明】
【図１】本発明のデータ保護システムの構成を示したブロック図。
【図２】本発明のデータ保護システムの動作やデータ保護プログラム、データ保護方法の手順を示すフローチャート。
【図３】本発明の第３の実施例のデータ許可テーブル４の内容を示すブロック図。
【符号の説明】
１    リアルタイムオペレーティングシステム
１１    タスク管理手段
１２    タスク切替手段
１２１    ページ情報切替手段
２    データ保護テーブル
３    ページテーブル
４    データ許可テーブル
５    初期設定手段
６    ページ保護例外処理手段
【図１】
2004157751.tif 000003
【図２】
2004157751.tif 000004
【図３】
2004157751.tif 000005