JP2008071356A - 割込禁止区間処理装置および方法とページ固定装置および方法 - Google Patents
割込禁止区間処理装置および方法とページ固定装置および方法 Download PDFInfo
- Publication number
- JP2008071356A JP2008071356A JP2007239804A JP2007239804A JP2008071356A JP 2008071356 A JP2008071356 A JP 2008071356A JP 2007239804 A JP2007239804 A JP 2007239804A JP 2007239804 A JP2007239804 A JP 2007239804A JP 2008071356 A JP2008071356 A JP 2008071356A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- page
- program
- list
- physical memory
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000006870 function Effects 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 238000011835 investigation Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】割込禁止区間処理装置および方法とページ固定装置および方法を提供する。
【解決手段】所定プログラムが動作するためにデマンドページングが発生し得る割込禁止区間に対するリストを生成する生成部と、プログラムが割込禁止要請時生成されたリストを検索して、割込禁止要請に対応する情報がリストに含まれているかを調べる調査部と、割込禁止要請に対応する情報がリストに含まれている場合、プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせるロード部とを含む。
【選択図】図3
【解決手段】所定プログラムが動作するためにデマンドページングが発生し得る割込禁止区間に対するリストを生成する生成部と、プログラムが割込禁止要請時生成されたリストを検索して、割込禁止要請に対応する情報がリストに含まれているかを調べる調査部と、割込禁止要請に対応する情報がリストに含まれている場合、プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせるロード部とを含む。
【選択図】図3
Description
本発明は、割込禁止区間処理装置および方法とページ固定装置および方法に関し、より詳しくは、プログラムが動作するにあたって必要とするページを割込禁止前に予め物理メモリにロードさせたり、割込禁止後、物理メモリの格納領域に前記ページをロードさせてデマンドページングシステムを効率的に用いる、割込禁止区間処理装置および方法とページ固定装置および方法に関するものである。
プログラムが作成されれば作成されたプログラムは論理的にページ単位に分かれて、物理メモリ上の区分単位であるフレームに割り当てられて積載され、以後中央処理装置によって行われる。この時、必要なページだけ物理メモリに積載されればプログラムが実行されるため、物理メモリ空間が不足してもプログラムが動作することがある。そして、物理メモリ空間、すなわちフレームが不足するようになればハードディスクの空間を物理メモリのように使用できるページング方法、すなわち、デマンドページングを用いることができる。
デマンドページングは、オペレーティングシステムでハードディスクのような補助格納装置に仮想メモリを割り当て、ユーザの要求により物理メモリをマッピングして制限された物理メモリをより効率的に使えるようにする方法である。すなわち、デマンドページングは、プログラムが動作するにあたって必要とするページが物理メモリに積載されていない場合、プログラムは仮想メモリに格納された該当ページを読込んで物理メモリにロードする。
前記仮想メモリは、ページ単位でスワップしたり、マッピングしたりし、ページは中央処理装置とオペレーティングシステムによってその大きさが多様である。また、仮想メモリは、物理メモリが不足した場合に備え、補助格納装置(例えば、ハードディスク)の一定空間を用いて、インターネットページングファイルやプログラムファイルなどを格納する。
一方、前記デマンドページングは、キャッシュの適中率が非常に高いため、実際にユーザが感じる速度の低下が殆どなく、大部分のオペレーティングシステムで用いられている。しかし、デマンドページングは、プログラムが動作するにあたって必要とするコードとデータ量が増加するに伴い、リナックスやウィンドウズ(登録商標)のような汎用オペレーティングシステムでは必須として用いられる方法であるが、複雑なメカニズムであるために内蔵型システムでは大部分がこの機能を支援していない。
そして、RTOS(Real−Time multi−tasking Operating System)を主に用いる前記内蔵型システムがデマンドページングを支援しようとする時、割込(interrupt)禁止区間に対する処理が問題になっている。割込の概念を簡単に説明すれば、例えば、任意のハードウェア装置Aの作業を行う中央処理装置が優先順位がより高いハードウェア装置Bから作業要請を受信した場合、先ず行われていたハードウェア装置Aの作業を一時停止し、作業要請をしたハードウェア装置Bの作業を行う。この時、中央処理装置は、1つのハードウェア装置に対して1つずつの作業だけ行うが処理時間が非常に短く、ユーザはハードウェア装置AとBが同時に処理されるように感じる。このように、前記ハードウェア装置Bの作業要請を割込という。
そして、前記割込禁止区間は、割込を禁止してから解除するまでの区間を意味する。割込禁止方法は、RTOSのようにマルチタスク基盤のシステムで多重タスクの並列実行にともなう資源保護、臨界領域(Critical Section)の保護などの目的として用いられる。しかし、割込禁止方法は、システムに深刻な影響を与えられるため、ウィンドウズ(登録商標)、ユニックス、リナックスのような汎用オペレーティングシステムではユーザプログラムに割込を禁止させることができる権限を付与しない。
また、RTOS基盤のシステムにおいてデマンドページングを用いる時、前記割込禁止方法を同時に用いるようになる場合には、外部オブジェクトの割込が禁止された状態でデマンドページング作業が発生し得る。すなわち、物理メモリが存在しないページを仮想メモリから物理メモリにロードする作業が発生し、結果的に最初開発者が意図したことよりさらに長い区間の間システムが割込を受けられなくなることが発生し得る。このような割込禁止区間の遅延効果は、場合によって非常に深刻になるため、これに対する対策が必要である。
図1および図2は、従来、割込禁止区間および割込遅延時間の概念図である。
内蔵型システムでは、プログラムが割込禁止および解除ができるように許す場合が大部分である。割込禁止および解除方法は、マルチタスク環境で同時に実行される複数のタスクが共有資源に同時にアクセスする場合に発生し得る問題を回避するために広く用いられている方法である。
割込を禁止させる場合、オペレーティングシステムがプログラムから中央処理装置使用権限を奪うことができないため、プログラムの立場では他の妨害なしで割込解除時点まで中央処理装置を独占することができる。しかし、長い時間の間割込を禁止させることは、システム全体の流れに影響を与えるため、できるだけ短い時間の間のみ割込を禁止させて、はやく解除することが一般的な使用方法である。
図1に示すように、割込を禁止して解除するまでの区間である割込禁止区間10では、外部の割込(要請)に対する処理が延ばされるため、割込禁止区間10では、割込に対する処理が延ばされた時間だけ割込遅延時間(Interrupt Latency Time)が発生する。
例えば、割込禁止区間10内でページフォールト(page fault)14が発生するようになれば、図2に示すように割込禁止区間10、すなわち、割込遅延時間が増加する結果をもたらす。ページフォールト14は、プログラムが動作するにあたって必要とするページが物理メモリに存在しない場合に発生し、プログラムは該当ページを読込むために補助格納装置にアクセスするようになる。
そして、該当ページを読込むのにかかる時間12は、補助格納装置の速度に依存するが、ハードディスクの場合、数十ミリ秒の時間がかかり、比較的速いNANDフラッシュ物理メモリを用いる場合、約1ミリ秒に近い時間がかかる。
このように、ミリ秒単位で割込遅延時間が長くなる場合、プログラムの目的に応じて非常に深刻な問題が発生し得る。そして、重要なイベントに対する処理が延ばされる場合、システムが誤動作したりダウンしたりすることもある。
本発明は、割込禁止区間処理装置および方法とページ固定装置および方法を提供して、割込禁止および解除方法を用いるシステムに効率的にデマンドページング方法を適用させることにその目的がある。
本発明の目的は、以上で言及した目的に制限されず、言及していないまた他の目的は下記記載によって当業者が明確に理解できるものである。
前記目的を達成するために、本発明の一態様に係わる割込禁止区間処理装置は、所定プログラムが動作するためにデマンドページングが発生し得る割込禁止区間に対するリストを生成する生成部と、プログラムの割込禁止要請時生成されたリストを検索して、割込禁止要請に対応する情報がリストに含まれているかを調べる調査部と、割込禁止要請に対応する情報がリストに含まれている場合、プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせるロード部とを含む。
本発明の他の態様に係わるページ固定装置は、割込禁止状態で所定プログラムが動作するためのデマンドページングが発生したか否かを判断する判断部と、判断の結果、デマンドページングが割込禁止状態で発生したならば、プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードした後、物理メモリに固定するページ固定部とを含む。
本発明のまた他の態様に係わる割込禁止区間処理方法は、所定プログラムが動作するためにデマンドページングが発生し得る割込禁止区間に対するリストを生成するステップと、プログラムの割込禁止要請時生成されたリストを検索して、割込禁止要請に対応する情報がリストに含まれているかを調べるステップと、割込禁止要請に対応する情報がリストに含まれている場合、プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせるステップとを含む。
本発明のまた他の態様に係わるページ固定方法は、割込禁止状態で所定プログラムが動作するためのデマンドページングが発生したか否かを判断するステップと、判断の結果、デマンドページングが割込禁止状態で発生したならば、プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードした後、物理メモリに固定するステップとを含む。
本発明の割込禁止区間処理装置および方法とページ固定装置および方法によれば、割込禁止および解除方法を用いるRTOS基盤のシステムに効率的にデマンドページングを適用でき、システムが動作するために必要とするメモリの量を低減する効果を得ることができる。すなわち、製品のRAMを節約する効果を介して、製品単価を低くすることができる。
その他、実施形態の具体的な事項は、詳細な説明および図面に含まれている。
本発明の利点および特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述する実施形態を参照すれば明確になる。しかし、本発明は以下にて開示する実施形態に限定されず、互いに異なる多様な形態によって実施され、単に本実施形態は本発明の開示が完全なものとなるようにし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであって、本発明は請求項の範疇によってのみ定義されるものである。明細書の全体に亘り、同一参照符号は同一構成要素を示す。
本発明の利点および特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述する実施形態を参照すれば明確になる。しかし、本発明は以下にて開示する実施形態に限定されず、互いに異なる多様な形態によって実施され、単に本実施形態は本発明の開示が完全なものとなるようにし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであって、本発明は請求項の範疇によってのみ定義されるものである。明細書の全体に亘り、同一参照符号は同一構成要素を示す。
図3は、本発明の一実施形態に係わる割込禁止区間処理装置のブロック図である。
割込禁止区間処理装置100は、生成部110、調査部120、ロード部130、管理部210、判断部220、およびページ固定部230を含む。この時、判断部220およびページ固定部230は、分離して1つの装置内に構成することができる。
割込禁止区間処理装置100は、生成部110、調査部120、ロード部130、管理部210、判断部220、およびページ固定部230を含む。この時、判断部220およびページ固定部230は、分離して1つの装置内に構成することができる。
生成部110は、所定プログラムが動作するためにデマンドページングが発生し得る割込禁止区間に対するリストを生成する。プログラムのコードには、割込禁止を要請した互いに異なるコード領域が含まれる。したがって、割込禁止に対する作業を行うためにプログラムの所定関数が呼び出された場合、該当呼び出された関数の前記作業を終了して復帰するアドレスが割込禁止区間ごとに互いに異なることがある。生成部110は、前記復帰アドレスを固有値として前記リストを生成する。このために生成部110は、プログラムの構造(例えば、コントロールフロー、またはデータフロー)を静的(static)に分析したり、プログラムの動作を動的(dynamic)に分析したりして、分析された情報によってプログラムが動作するためにデマンドページングが発生し得る割込禁止区間に対するリストを生成することができる。そして、前記リストは、割込を禁止してから解除するまでの区間(割込禁止区間)に対する識別情報および割込禁止区間においてデマンドページングを発生させられるページに対する情報のうち少なくともいずれか1つを含むことができる。前記識別情報は、割込禁止に対する作業を行うために呼び出された関数が作業を終了して復帰するアドレスに関する情報を含む。割込禁止区間リストに対するより具体的な内容は、以下図5を参照する。
調査部120は、前記プログラムが割込禁止要請時に前記生成されたリストを検索して、前記割込禁止要請に対応する情報が前記リストに含まれているかを調べる。
そして、ロード部130は、前記割込禁止要請に対応する情報が前記リストに含まれている場合、前記プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせる。ロード部130は、前記割込禁止要請時に呼び出される関数の割込禁止に対する作業を行って復帰するアドレスが識別情報に含まれている復帰アドレスに対応するか否かによって、ページをロードするか否かを決定する。この時、後述される管理部210はまだ割込を禁止させていないため、システムの割込遅延時間には影響を及ぼさない。
以後、管理部210は、前記ページのロードが完了した後、割込を禁止させる。したがって、割込禁止区間でページフォールトの発生が事前に防止される。この時、前記ページ検出が完全しない場合には、割込禁止区間でページフォールトが発生する。このような場合を補完するために、判断部220およびページ固定部230を用いることができる。
判断部220は、割込が禁止された状態で所定プログラムが動作するためのデマンドページングが発生したか否かを判断する。
ページ固定部230は、前記判断の結果、前記デマンドページングが前記割込禁止状態で発生したならば、前記プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードして固定する。すなわち、固定するという意味は、物理メモリの格納領域にロードされたページが再び物理メモリから抜け出ないように保持し続けることを意味する。
ページ固定部230は、前記判断の結果、前記デマンドページングが前記割込禁止状態で発生したならば、前記プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードして固定する。すなわち、固定するという意味は、物理メモリの格納領域にロードされたページが再び物理メモリから抜け出ないように保持し続けることを意味する。
したがって、同一ページに対して割込禁止区間でデマンドページングが発生する問題が2回以上繰り返すことは防止でき、前述したデマンドページングを発生させる割込禁止区間のリストを用いて問題を予防する方法とともに補完的に適用する場合、割込遅延時間の問題を効果的に防止することができる。
図2で示した各々の構成要素は、一種の「モジュール」として構成することができる。前記「モジュール」は、ソフトウェアまたはFPGAまたはASICのようなハードウェア構成要素を意味し、「モジュール」はある役割を行う。ところが「モジュール」は、ソフトウェアまたはハードウェアに限定される意味ではない。「モジュール」は、アドレッシングできる格納媒体にあるように構成することもでき、1つまたはそれ以上のプロセッサを再生させるように構成することもできる。したがって、一例として「モジュール」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素およびタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、および変数を含む。構成要素と「モジュール」の中で提供されている機能は、さらに小さい数の構成要素および「モジュール」に結合したり、追加的な構成要素と「モジュール」にさらに分離したりすることができる。
本発明では、割込禁止区間でページフォールトが発生する場合に発生する従来の問題点を解決するために、大きく2種類のアクセス方法を提案している。第1に、割込禁止区間でページフォールトが発生することを防止する方法と、第2に、割込禁止区間でページフォールトが発生した場合、これ以上ページフォールトが発生しないように再発を防止する方法である。以下の実施形態を介して、前記方法を具体的に説明する。
図4は、本発明の一実施形態に係わる割込禁止区間の処理方法のフローチャートである。
従来のプログラムで必要とするページが物理メモリに存在しない場合、補助格納装置で該当ページを物理メモリにロードする作業が行われた。この時、デマンドページングが発生した時点に割込が禁止されていたとすれば、割込禁止区間に留まる時間、すなわち割込遅延時間が増加するという問題点があった。
従来のプログラムで必要とするページが物理メモリに存在しない場合、補助格納装置で該当ページを物理メモリにロードする作業が行われた。この時、デマンドページングが発生した時点に割込が禁止されていたとすれば、割込禁止区間に留まる時間、すなわち割込遅延時間が増加するという問題点があった。
したがって、本実施形態では、割込を禁止させる前に該当割込禁止区間でプログラムが動作するために必要なページを予め物理メモリにロードさせる。したがって、割込禁止区間でページフォールトの発生が事前に防止される。このために、デマンドページングを発生させられる割込禁止区間のリストと各区間で必要とするページの情報を知っていなければならない。
先ず、生成部110は、所定プログラムが動作するためにデマンドページングが発生し得る割込禁止区間に対するリストを生成する(S401)。
次のステップで、調査部120は、プログラムが割込禁止要請時に生成されたリストを検索して、割込禁止要請に対応する情報がリストに含まれているかを調べる(S411)。
前記割込禁止要請に対応する情報が前記リストに含まれている場合、前記プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせる(S421)。
前記割込禁止要請に対応する情報が前記リストに含まれている場合、前記プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせる(S421)。
より具体的に説明すれば、図5に示すように、前記リスト500には複数の割込禁止区間502,504,506に対する識別情報と各割込禁止区間502,504,506ごとに該当区間でデマンドページングを発生させられるページ503,505に関する情報を含む。前記識別情報は、割込禁止に対する作業を行うために呼び出された関数が作業を終了して復帰するアドレスに関する情報を含む。調査部120は、前記リスト500を検索して、割込禁止要請に対応する情報がデマンドページングを発生させられる割込禁止区間に含まれているか否かを調べる。そして、割込禁止区間に割込禁止要請に対応する情報が含まれている場合、ロード部130は、プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせる。この時、管理部210はまだ割込を禁止させていないため、システムの割込遅延時間には影響を及ぼさない。
次のステップで、管理部210は、ページのロードが完了した後、割込を禁止させる(S431)。
したがって、予め割込禁止区間でデマンドページングを発生させるページを予め物理メモリにロードさせることによって、従来割込禁止区間でページフォールトが発生して生じる問題点を解消できる。
したがって、予め割込禁止区間でデマンドページングを発生させるページを予め物理メモリにロードさせることによって、従来割込禁止区間でページフォールトが発生して生じる問題点を解消できる。
前記ページ検出が完全しない場合、割込禁止区間でページフォールトが発生し得る。このような場合を補完するために、図6で後述するページ固定方法が用いられる。
図6は本発明の他の実施形態に係わるページ固定方法のフローチャートである。
ページフォールトは、プログラムを実行させるために必要なページが物理メモリ上に存在しない場合に発生し得る。そして、一般的に使おうとする仮想メモリの大きさに比較して、少ない量の物理メモリを用いる場合、ページフォールトが容易に発生し得る。また、前記デマンドページングを発生させられる割込禁止区間のリストを事前に完ぺきに作り難い。
ページフォールトは、プログラムを実行させるために必要なページが物理メモリ上に存在しない場合に発生し得る。そして、一般的に使おうとする仮想メモリの大きさに比較して、少ない量の物理メモリを用いる場合、ページフォールトが容易に発生し得る。また、前記デマンドページングを発生させられる割込禁止区間のリストを事前に完ぺきに作り難い。
したがって、本実施形態では、割込禁止区間でページフォールトが発生した場合、これ以上ページフォールトが発生しないようにページ固定方法を用いることができる。
判断部220は、割込禁止状態で所定プログラムが動作するためのデマンドページングが発生したか否かを判断する(S501)。
次のステップで、ページ固定部230は、前記判断の結果、デマンドページングが前記割込禁止状態で発生したならば、プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードした後、前記物理メモリに固定する(S511)。
この時、図7に示すように、物理メモリに格納されるページの格納領域702でバッファが用いられ、該当ページは特定の命令があるまでは格納領域702で割り当てられたバッファに保持し続ける。以後、プログラムが動作するにあたって必要とするページをロードするために仮想メモリにアクセスせず前記バッファに格納されたページを用いるようになる。
したがって、これ以上同じ問題が繰り返すことは防止でき、前述したデマンドページングを発生させられる割込禁止区間のリストを用いて問題を予防する方法とともに補完的に適用する場合、割込遅延時間の問題を効果的に防止することができる。
以上、添付した図面を参照して本発明の実施形態を説明したが、本発明が属する技術分野で通常の知識を有する者であれば、本発明がその技術的思想や必須の特徴を変更せず、他の具体的な形態によって実施することができるということを理解できる。したがって、以上で記述した実施形態はすべての面で例示的なものであり、限定的なものではないことを理解しなければならない。
110 生成部
120 調査部
130 ロード部
210 管理部
220 判断部
230 ページ固定部
120 調査部
130 ロード部
210 管理部
220 判断部
230 ページ固定部
Claims (14)
- 所定プログラムが動作するためにデマンドページングが発生し得る割込禁止区間に対するリストを生成する生成部と、
前記プログラムの割込禁止要請時に前記生成されたリストを検索して、前記割込禁止要請に対応する情報が前記リストに含まれているかを調べる調査部と、
前記割込禁止要請に対応する情報が前記リストに含まれている場合、前記プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせるロード部とを含む、割込禁止区間処理装置。 - 前記ページのロードが完了した後、割込を禁止させる管理部をさらに含む請求項1に記載の割込禁止区間処理装置。
- 前記リストは、前記割込禁止区間に対する識別情報および前記割込禁止区間でデマンドページングを発生させられるページに対する情報のうち少なくともいずれか1つを含む請求項1に記載の割込禁止区間処理装置。
- 前記識別情報は、割込禁止に対する作業を行うために呼び出された関数の前記作業を終了して復帰するアドレスに関する情報を含む請求項3に記載の割込禁止区間処理装置。
- 前記ロード部は、
前記割込禁止要請時に呼び出される関数の割込禁止に対する作業を行って復帰するアドレスが前記識別情報に含まれている復帰アドレスに対応するか否かによって、前記ページをロードするか否かを決定する請求項4に記載の割込禁止区間処理装置。 - 割込禁止状態で所定プログラムが動作するためのデマンドページングが発生したか否かを判断する判断部と、
前記判断の結果、前記デマンドページングが前記割込禁止状態で発生したならば、前記プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせた後、前記物理メモリに固定するページ固定部とを含む、ページ固定装置。 - 前記ページがロードされた以後、前記プログラムは、自身が動作するにあたって必要とするページを前記物理メモリから読込んで使用し、前記ロードされたページの情報は、所定命令があるまで前記物理メモリに保持し続ける請求項6に記載のページ固定装置。
- 所定プログラムが動作するために、デマンドページングが発生し得る割込禁止区間に対するリストを生成するステップと、
前記プログラムの割込禁止要請時に前記生成されたリストを検索して、前記割込禁止要請に対応する情報が前記リストに含まれているかを調べるステップと、
前記割込禁止要請に対応する情報が前記リストに含まれている場合、前記プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせるステップとを含む、割込禁止区間処理方法。 - 前記ページのロードが完了した後、割込を禁止させるステップをさらに含む請求項8に記載の割込禁止区間処理方法。
- 前記リストは、前記割込禁止区間に対する識別情報および前記割込禁止区間でデマンドページングを発生させられるページに対する情報のうち少なくともいずれか1つを含む請求項8に記載の割込禁止区間処理方法。
- 前記識別情報は、割込禁止に対する作業を行うために呼び出された関数の前記作業を終了して復帰するアドレスに関する情報を含む請求項10に記載の割込禁止区間処理方法。
- 前記ロードさせるステップは、
前記割込禁止要請時に呼び出される関数の割込禁止に対する作業を行って復帰するアドレスが前記識別情報に含まれている復帰アドレスに対応するか否かによって前記ページをロードするか否かを決定する請求項11に記載の割込禁止区間処理方法。 - 割込禁止状態で所定プログラムが動作するためのデマンドページングが発生したか否かを判断するステップと、
前記判断の結果、前記デマンドページングが前記割込禁止状態で発生したならば、前記プログラムが動作するにあたって必要とするページを補助格納装置から読込んで物理メモリにロードさせた後、前記物理メモリに固定するステップとを含む、ページ固定方法。 - 前記ページがロードされた以後、前記プログラムは自身が動作するにあたって必要とするページを前記物理メモリから読込んで使用し、前記ロードされたページの情報は所定命令があるまで前記物理メモリに保持し続ける請求項13に記載のページ固定方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060089803A KR100843134B1 (ko) | 2006-09-15 | 2006-09-15 | 인터럽트 금지구간 처리 장치 및 방법과 페이지 고정 장치및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008071356A true JP2008071356A (ja) | 2008-03-27 |
Family
ID=38870356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007239804A Withdrawn JP2008071356A (ja) | 2006-09-15 | 2007-09-14 | 割込禁止区間処理装置および方法とページ固定装置および方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080072009A1 (ja) |
EP (1) | EP1901171A1 (ja) |
JP (1) | JP2008071356A (ja) |
KR (1) | KR100843134B1 (ja) |
CN (1) | CN101145134A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101610828B1 (ko) * | 2009-09-23 | 2016-04-08 | 삼성전자주식회사 | 멀티코어 프로세서의 인터럽트 온/오프 관리 장치와 방법 |
KR102515137B1 (ko) * | 2016-03-28 | 2023-03-29 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN108804080B (zh) * | 2018-05-04 | 2022-06-03 | 北京航天自动控制研究所 | 一种多中断嵌入式程序的高可靠性设计方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3590075B2 (ja) * | 1992-01-20 | 2004-11-17 | 株式会社東芝 | 仮想記憶方式のデータ処理装置及び方法 |
JP3672634B2 (ja) * | 1994-09-09 | 2005-07-20 | 株式会社ルネサステクノロジ | データ処理装置 |
JPH08297581A (ja) * | 1995-02-28 | 1996-11-12 | Nec Corp | リアルタイム・オペレーティングシステムにおける割り込み管理方式 |
US6240483B1 (en) * | 1997-11-14 | 2001-05-29 | Agere Systems Guardian Corp. | System for memory based interrupt queue in a memory of a multiprocessor system |
US6219743B1 (en) * | 1998-09-30 | 2001-04-17 | International Business Machines Corporation | Apparatus for dynamic resource mapping for isolating interrupt sources and method therefor |
US6651088B1 (en) * | 1999-07-20 | 2003-11-18 | Hewlett-Packard Development Company, L.P. | Method for reducing coherent misses in shared-memory multiprocessors utilizing lock-binding prefetchs |
JP3458796B2 (ja) | 1999-10-18 | 2003-10-20 | 株式会社デンソー | 割込命令チェック装置及び記録媒体 |
JP2003044291A (ja) | 2001-07-30 | 2003-02-14 | Mitsubishi Electric Corp | リアルタイムオペレーティングシステムシミュレータ及びリアルタイムオペレーティングシステムシミュレーション方法及びプログラム及びプログラムを記録するコンピュータ読み取り可能な記録媒体 |
GB0125628D0 (en) * | 2001-10-25 | 2001-12-19 | Ibm | Computer system with watchpoint support |
US7380218B2 (en) * | 2003-03-27 | 2008-05-27 | International Business Machines Corporation | Method and apparatus for managing windows |
JP2005190207A (ja) * | 2003-12-25 | 2005-07-14 | Matsushita Electric Ind Co Ltd | 割り込み制御装置、制御方法 |
JP2006228074A (ja) | 2005-02-21 | 2006-08-31 | Matsushita Electric Ind Co Ltd | マルチタスクシステムおよびマルチタスク制御方法 |
GB0504325D0 (en) * | 2005-03-02 | 2005-04-06 | Symbian Software Ltd | Real time paged computing device and method of operation |
-
2006
- 2006-09-15 KR KR1020060089803A patent/KR100843134B1/ko not_active IP Right Cessation
-
2007
- 2007-04-17 US US11/785,335 patent/US20080072009A1/en not_active Abandoned
- 2007-09-04 EP EP07115637A patent/EP1901171A1/en not_active Withdrawn
- 2007-09-14 CN CNA2007101540933A patent/CN101145134A/zh active Pending
- 2007-09-14 JP JP2007239804A patent/JP2008071356A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20080072009A1 (en) | 2008-03-20 |
CN101145134A (zh) | 2008-03-19 |
KR100843134B1 (ko) | 2008-07-02 |
EP1901171A1 (en) | 2008-03-19 |
KR20080025245A (ko) | 2008-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8453015B2 (en) | Memory allocation for crash dump | |
JP3546678B2 (ja) | マルチos構成方法 | |
KR100933820B1 (ko) | 메모리 속성들을 사용하기 위한 기술 | |
US7661115B2 (en) | Method, apparatus and program storage device for preserving locked pages in memory when in user mode | |
JP5673672B2 (ja) | マルチコアプロセッサシステム、制御プログラム、および制御方法 | |
US20100251260A1 (en) | Pre-emptible context switching in a computing device | |
JPH11505652A (ja) | 単一アドレス空間内の保護ドメイン | |
JP2007058776A (ja) | メモリアクセス制御装置 | |
US20140026143A1 (en) | Exclusive access control method and computer product | |
KR19980086609A (ko) | 동시적인 프로세서 요구에 의한 데이터 자원의 액세싱을 직렬화하기 위한 컴퓨터 시스템내에서의 블로킹 심볼 제어 | |
KR102254159B1 (ko) | 운영체제 커널 메모리의 실시간 오류 검출 방법 | |
US9436495B2 (en) | Protection against interrupts in virtual machine functions | |
US20060212840A1 (en) | Method and system for efficient use of secondary threads in a multiple execution path processor | |
JP2024500779A (ja) | アドレスマッピング認識型タスク処理機構 | |
JP2008071356A (ja) | 割込禁止区間処理装置および方法とページ固定装置および方法 | |
US8010963B2 (en) | Method, apparatus and program storage device for providing light weight system calls to improve user mode performance | |
JP2016531363A (ja) | 時間のかかる命令の取り扱い | |
JP2009175960A (ja) | 仮想マルチプロセッサシステム | |
US9477509B2 (en) | Protection against interrupts in virtual machine functions | |
US10248451B2 (en) | Using hypervisor trapping for protection against interrupts in virtual machine functions | |
Takada et al. | Real-time scalability of nested spin locks | |
JP2001216172A (ja) | マルチos構成方法 | |
US8732721B2 (en) | Method for reducing trap overhead when executing a guest in a virtual machine | |
Kim | Combining hardware management with mixed-criticality provisioning in multicore real-time systems | |
KR100506254B1 (ko) | 임베디드 시스템의 비특권 모드에서 인터럽트 처리를 위한장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110120 |