JP3882321B2 - オペレーティングシステムのモジュールプログラムを備えた計算機 - Google Patents

オペレーティングシステムのモジュールプログラムを備えた計算機 Download PDF

Info

Publication number
JP3882321B2
JP3882321B2 JP06250098A JP6250098A JP3882321B2 JP 3882321 B2 JP3882321 B2 JP 3882321B2 JP 06250098 A JP06250098 A JP 06250098A JP 6250098 A JP6250098 A JP 6250098A JP 3882321 B2 JP3882321 B2 JP 3882321B2
Authority
JP
Japan
Prior art keywords
takeover
module program
module
buffer
memory management
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 - Fee Related
Application number
JP06250098A
Other languages
English (en)
Other versions
JPH11259285A (ja
Inventor
邦彦 恒冨
正 上脇
雅彦 齊藤
啓二 桑原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP06250098A priority Critical patent/JP3882321B2/ja
Priority to US09/263,785 priority patent/US6546485B1/en
Publication of JPH11259285A publication Critical patent/JPH11259285A/ja
Application granted granted Critical
Publication of JP3882321B2 publication Critical patent/JP3882321B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
論理空間をサポートするオペレーティングシステム(OS)の、モジュールごとのオンライン入れ替えに関する。特に、メモリ管理モジュールに関する。
【0002】
【従来の技術】
産業分野や組み込みシステムにおいて、OSのオンラインでの部分的入れ替え機能が重要である。オンライン入れ替えが可能であれば、システムのダウンタイムを短縮できる。例えば、OSのバージョンアップ,バグフィックスのために、システムを停止する必要がなくなる。
【0003】
また、OSのメモリ容量の削減も可能になる。例えば、トレース機能について考える。通常時はトレース機能のないOSを動作させておく。トラブルが発生した場合は、OSの一部を、トレース機能サポート版に変更し、動作をトレースする。このように、トレース用のメモリ容量を、最小に抑えることができる。
【0004】
プログラムの変更および追加を行う運用中プログラムの更新方式については特開平7−319683 号に記載されている。
【0005】
ここでは、制御部が旧ロードモジュールを実行している間に、リロケータブル形式の新ロードモジュールを主記憶装置に格納し、旧ロードモジュールと新ロードモジュールのアドレスリンケージをとる。プログラム更新時は旧ロードモジュールへの他モジュールから呼出しを抑止し、旧ロードモジュールの先頭番地を新ロードモジュールへのジャンプ命令に書き換え、呼出し抑止を解除する。プログラム更新復帰時は、旧ロードモジュールへの他のロードモジュールからの呼出しを抑止し、旧ロードモジュールの先頭番地をプログラム更新前の内容に書き換え呼出し抑止を解除するものである。
【0006】
【発明が解決しようとする課題】
現在、組み込みシステムなど小型のOSにおいても、論理空間をサポートするメモリ管理をもつようになっている。論理空間を使用すると、外部フラグメンテーション問題を解決することができ、メモリの使用効率を上げることができる。また、メモリ保護も強化できる。そこで、メモリ管理モジュールという1モジュールとして実現している。
【0007】
しかし、従来例では、メモリ管理をモジュールとして実現しても、該モジュールを、オンライン入れ替えすることができないという問題点があった。理由を以下に示す。メモリ管理モジュールは、論理アドレスと物理アドレスの対応を記録するために、ページテーブルを持つ。しかし、新モジュール143に新たに切り替わる瞬間は、新モジュールの内部データは初期化状態である。また、新モジュールのページテーブルも作成されていない。そのため、新モジュールは、論理空間上の旧モジュールの内部データを参照することができずに、現在のマッピング情報を全て失う。そのため、OSは、正常な動作を継続することが不可能となる。
【0008】
上記問題があるため、従来のOSでは、メモリ管理モジュールの入れ替えはサポートしていなかった。しかし、メモリ管理モジュールのメモリ容量は、大きな割合をしめる。該モジュールの、オンライン入れ替えが実現すれば、OSのダウンタイム短縮のために効果がある。
【0009】
本発明は、上記の点に鑑みて旧モジュールから新モジュールへデータの引継ぎを可能にし、オンラインで旧モジュールから新モジュールへの入れ替えを可能にするモジュール入れ替え方法及び装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的は複数のモジュールと、プレームワークとモジュールごとの論理アドレスと物理アドレスとを保持するページテーブルと引継ぎバッファとを有し、論理空間と物理空間が等しい固定物理空間から構成されるオペレーティングシステムにおけるモジュールの入れ替え方法であって、
該オペレーティングシステムは、モジュールごとの論理アドレスと物理アドレスの対応を管理するページテーブルと、該ページテーブルを管理するメモリ管理モジュールを有し、
入れ替え前の旧メモリ管理モジュールの該ページテーブルから、論理アドレスと物理アドレスの対応を該引継ぎバッファに格納し、入れ替え後の新メモリ管理モジュールが、論理アドレスと物理アドレスの対応を該引継ぎバッファから読み込み、該新メモリ管理モジュールの該ページテーブルを作成することにより達成できる。
【0011】
【発明の実施の形態】
まず、図3に、本実施例を計算機上で実現したときの構成例を示す。
【0012】
図3では、フレームワークとモジュールにより構成されたOSが動作するシステムを示している。100は、計算機であり、その内部装置として、中央処理装置(CPU)110,主記憶装置111,入出力装置(I/O)112があり、CPUバス120によって接続されている。入出力装置(I/O)112には、ディスク装置113,端末114,ネットワーク装置115が接続される。 CPU110内部には、TLB(Translation Look-aside Buffer)116が存在する。
主記憶装置111上には、OS130、複数のタスク131〜132が存在し、このタスク、OSはCPU110により実行される。OS130は、フレームワーク140と複数のモジュール141〜144から構成される。旧モジュール142を、新モジュール143に入れ替える時は、フレームワーク140のモジュール切り替え処理部160が切り替え処理を行う。
【0013】
図1に、主記憶装置上のOS130の詳細な構成を示す。OS130には、フレームワーク140,旧モジュール142,新モジュール143,引継ぎバッファ147,ページテーブル145が存在する。フレームワーク140は、モジュールテーブル150,モジュール切り替え処理部160を有する。モジュールテーブル150は、旧モジュール142,新モジュール143の各ルーチン170,200へのエントリアドレスを保持する。モジュールテーブル150については図5を用いて後に詳細に述べている。モジュール切り替え処理部160は、モジュール処理を行うプログラムである。モジュール切り替え処理部160は、ネットワーク装置115、またはディスク装置113から、新モジュール143のオブジェクトをリードし、それを、主記憶装置111の旧モジュール142と置き換える。このモジュール切り替え処理部160は、端末114からのモジュール入れ替えコマンド入力、または、ネットワーク装置115からのモジュール入れ替えメッセージ受信により起動される。本実施例では、端末114,ネットワーク装置115のいずれかからの起動後、モジュール切り替え処理部160により、新モジュール143のマッピングが正常に終了したものとして説明する。また、マッピングと同時に、モジュール切り替え処理部160の内部バッファ中には、モジュールのエントリアドレスが記述されたエントリテーブル230があり、正しく記録されたものとして説明する。引継ぎバッファ147は、旧モジュール142と新モジュール143間で、データを引継ぐときのバッファとして使用する。データの内容は、モジュールの種別に依存するので、引継ぎバッファのきまった構造体などはない。
【0014】
旧モジュール142は、ルーチン170,引継ぎバッファ作成ルーチン180,内部データ190を有する。ルーチン170は、数種類の異なる用途の関数からなる。これは、図4で詳細に説明する。内部データは、モジュール内部の大域変数や、動的に割り当てられたメモリ等がある。引継ぎバッファ作成ルーチン180は、内部データ190をもとにして、新モジュール143に引継ぐべきデータを作成するプログラムである。作成したデータは、引継ぎバッファ147に記録する。
【0015】
新モジュール143は、ルーチン200,引継ぎバッファ反映ルーチン210,内部データ220を有する。前述のとおり、新モジュール143は、モジュール切り替え処理部160により、あらかじめマッピングされている。ルーチン200,内部データ220は、ルーチン170,内部データ190のバグフィックスされたプログラム、または、バージョンアップされたプログラムである。引継ぎバッファ反映ルーチン210は、引継ぎバッファ147を参照し、内部データ220に反映するプログラムである。なお、モジュールは、引継ぎバッファ作成ルーチン180,引継ぎバッファ反映ルーチン210の両方を持つが、図1では、その一方のみを有している場合を示している。
【0016】
図9に、固定物理空間241の説明図を示す。固定物理空間241とは、論理アドレスと物理アドレスが等しく、TLBを参照せずにアクセス可能な空間のことである。通常の論理空間242と比較し、固定物理空間241では、空間のプログラムは、メモリ管理モジュールの動作や、TLBに左右されずに動作可能であるという特徴がある。そのため、固定物理空間241には、フレームワーク140,引継ぎバッファ147が配置される。これにより、旧モジュール142を入れ替えた場合でも、新モジュール143から、引継ぎバッファ147の参照が可能になる。しかし、固定物理空間241は、通常の論理空間242に比べ、外部フラグメントが発生しやすく、OS130のメモリ容量が大きくなるという問題点がある。そのため、通常のモジュール,タスクは、すべて通常の論理空間242にマッピングされる。例外的に、ページテーブル145は、モジュールにより保持されるにもかからず、固定物理空間241に配置される。なぜならば、ページテーブルは、アドレス変換を行わずにアクセスする必要があるためである。
【0017】
図4に、旧モジュール142のルーチン170の詳細を示す。ルーチン170は、システムコール171,初期化ルーチン172,停止ルーチン173,内部ルーチン174,割り込みハンドラ175を有する。システムコール171は、OS130のシステムコールに1対1に対応するプログラムである。初期化ルーチン172は、モジュール入れ替え時に、新モジュール143を初期化するためのプログラムである。旧モジュールの内部データ190の初期化、関連するハードウェアの初期化を行う。旧モジュール142の内部データ190に旧モジュール142の内部データを反映し、かつ、引継ぎバッファ147に引継ぎ情報がセットされている時、初期化ルーチン172は、引継ぎバッファ反映ルーチン181をコールする。停止ルーチン173は、モジュール入れ替え時に、モジュール内で動的に割り当てられた資源の開放、関連するハードウェアの停止を行うプログラムである。新モジュール143に旧モジュール142の内部データを引継がなければならない時は、停止ルーチン173は引継ぎバッファ作成ルーチン180をコールする。割り込みハンドラ175は、割り込み処理用プログラムである。内部ルーチン174は、これらに当てはまらないプログラムで、他のモジュール例えば新モジュール143やフレームワーク140からコールされるプログラムである。
【0018】
図5に、モジュールテーブル150の構成を示す。図4に示した各ルーチンに対応して、テーブルが存在し、システムコールテーブル151,初期化ルーチンテーブル152,停止ルーチンテーブル153,割り込みハンドラテーブル154,内部ルーチンテーブル155を有する。各テーブル151〜155には、対応するルーチンのエントリアドレスが記入される。各テーブル151〜155の先頭からのエントリ数は、それぞれ一意に決定されている。システムコールテーブル151は、各エントリアドレスが、システムコール番号順に並べられる。システムコール番号とは、システムコールに一意に与えられる番号である。初期化ルーチンテーブル152,停止ルーチンテーブル153は、モジュール番号順に並べられる。モジュール番号は、OS内で一意にモジュールに与えられる番号である。割り込みハンドラテーブル154は、割り込み要因番号順に、各エントリアドレスが並べられる。内部ルーチンテーブル155は、内部ルーチン番号順にエントリが並べられる。ルーチン番号とは、上位4ビットがモジュール番号、下位4ビットがモジュールで一意のモジュールルーチン番号と定義される数である。以下に、このモジュールテーブルを用いた、システムコール手順を示す。まず、タスクがシステムコールを実行した場合、フレームワーク140は、システムコールをシステムコール番号に変換する。その後、システムコールテーブル151を走査する。システムコール番号のエントリにエントリアドレスが存在すれば、そのモジュールにジャンプして処理を行う。初期化ルーチン,停止ルーチン,割り込みハンドラ,内部ルーチンのコールも同様である。
【0019】
図8に、エントリテーブル230の構成を示す。前述のように、エントリテーブル230は、事前にモジュール入れ替え処理部160にリードされている。エントリテーブルの各1要素が、各ルーチンのエントリ情報を示す。種別231は、「初期化ルーチン」,「停止ルーチン」,「システムコール」,「割り込みルーチン」,「内部ルーチン」のいずれであるかを示す。エントリ番号232は、システムコール番号,モジュール番号,割り込み要因番号,ルーチン番号のいずれかを示す。オフセット233は、モジュールの先頭から、ルーチンの先頭までのオフセットを示す。これに、モジュール先頭がマッピングされた論理アドレスを加算すれば、ルーチンのエントリアドレスが求まる。
【0020】
本実施例では、メモリ管理を行うモジュールのオンライン入れ替えについて示すので、メモリ管理について詳細なモジュール構成について、以下に示す。
【0021】
旧モジュール142は、物理メモリの空き管理,物理メモリの論理アドレスへのマッピング管理,TLBミス例外時などの例外処理を行う。この管理を行うため、旧モジュールは、内部データ190内に、物理メモリ管理テーブル191,ページテーブル145を有する。
【0022】
図7に旧モジュール142の内部データ190の構成を示す。これは、使用中の物理メモリの先頭アドレスである物理アドレスと、メモリサイズ識別子を記憶する物理メモリ管理テーブル191を有する。新たに物理メモリを他のモジュールに与えるときは、空き物理メモリを物理メモリ管理テーブルから検索し、その先頭アドレスとサイズを物理メモリ管理テーブルに記録する。これを、 「p_malloc」という関数として、旧モジュール142は、必ず定義するものとする。「p_malloc」は、内部ルーチン174とし、モジュールテーブル150を介して、他のモジュールとフレームワーク140から自由にコールできるものとする。以上から、物理メモリ管理テーブル191は、「p_malloc」をコールすることで、作成されるようになる。
【0023】
図13に、ページテーブル145の構造を示す。ページテーブル145は、ページサイズごとに、物理アドレスと論理アドレスの対応と、そのページの保護属性を保持する。モジュール入れ替え時に、この情報を保持しなければOSは正常に動作できなくなる。そのため、この情報を引継ぎバッファ147に保存する必要がある。
【0024】
図6に、引継ぎバッファ147の構成を示す。論理アドレス,物理アドレス,保護情報,メモリサイズ,識別子を記録する。データ内容,データ並びは、ページテーブル145と物理メモリ,管理テーブルと同じであるが、必ずしも同一である必要はない。ただし、旧モジュール142と新モジュール143が共有して引継ぎバッファ147を使用するので、統一されたデータフォーマットである必要がある。
【0025】
メモリ管理を行うモジュールでは、旧モジュール142と、新モジュール143でページテーブルの形式が異なることがありうる。そこで、引継ぎバッファ147から、ページテーブル145を再構築するために、モジュールは、「p_map」関数を必ず備えることとする。「p_map」は、指定された物理空間を、指定された論理アドレスにマッピングし、ページテーブルエントリを作成する関数である。論理アドレスを指定しなければ、空きの論理アドレスにマッピングする。「p_map」は、内部ルーチンとし、モジュールテーブルを介して、他モジュール,フレームワーク140から自由にコールできるものとする。
【0026】
図10に、メモリ管理モジュールに対して、モジュール入れ替え処理部160が起動された後の、オンラインのモジュール入れ替え処理手順を示す。
【0027】
まず、メモリ管理モジュールのコールをロックする(処理301)。これは、フレームワーク140内の該モジュールのコールをロックすることにより行われる。また、割り込みハンドラを持つ場合は、割り込み禁止にする必要がある。通常のCPU110では、割り込み禁止にするためのレジスタを持っている。これをセットすることで実行できる。
【0028】
次に、旧モジュール142の、停止ルーチン173をコールし、モジュールの停止処理を行う(処理302)。また、旧モジュール142の内部データ190を保存しなければならない場合、引継ぎバッファ作成ルーチン180をコールする。その後、動的に確保したメモリ領域と現在獲得している資源(他のモジュールのロックなど)があれば、これを開放する。メモリ管理モジュールの場合、ページテーブル145を開放する。
【0029】
次に、新モジュール143の、初期化ルーチン172をコールする(処理303)。初期化ルーチンは、モジュールの内部データ220を初期化する。引継ぎバッファ147に情報があれば、引継ぎバッファ反映ルーチン210をコールする。これにより、引継ぎバッファ147の内容を、該モジュールの内部データに反映する。
【0030】
次に、引継ぎバッファ147を0クリアする(処理304)。
【0031】
次に、モジュールテーブル150の内容を、新モジュール143のルーチンのエリトリアドレスに書き換える(処理305)。モジュール切り替え処理部160は、この新たなエントリアドレスは、エントリテーブル230の各オフセット233と、新モジュール143の論理アドレスの先頭番地を加える。これにより、モジュールの各処理先頭の論理アドレスが求まる。求めたアドレスを、対応するモジュールテーブルに記録する。
【0032】
次に、旧モジュール143の物理メモリを、開放する(処理306)。
【0033】
最後に、モジュールのロックをアンロックする(処理307)。また、割り込み禁止を解除する。CPU110の割り込みレジスタをリセットすることで実行できる。
【0034】
図11に、メモリ管理モジュールの、引継ぎバッファ作成ルーチン180の処理手順を示す。該ルーチン180では、ページテーブル145をもとに、引継ぎバッファ147を作成する。
【0035】
まず、ページテーブルの1エントリをリードする(処理401)。これから、このエントリの物理アドレス,論理アドレス,保護属性を求める。
【0036】
次に、処理401でリードしたエントリにもとづき、引継ぎバッファ147の1エントリに物理アドレス,論理アドレス,保護属性を記録する(処理402)。上記、処理401,処理402を、全てのページテーブル145のエントリに対して行う(処理403)。
【0037】
次に、物理メモリ管理テーブルの1エントリをリードする(処理404)。これから、このエントリの識別子,物理アドレス,メモリサイズを求める。
【0038】
次に、処理404でリードしたエントリに基づき、引継ぎバッファ147の1エントリに識別子,物理アドレス,メモリサイズを記録する(処理405)。
【0039】
上記、処理404,405を、全ての物理メモリ管理テーブルのエントリに対して行う(処理406)。
【0040】
図12に、メモリ管理モジュールの、引継ぎバッファ反映ルーチン210の処理手順を示す。このルーチン210では、引継ぎバッファ147の情報を、ページテーブル145に、反映する。また、内部データ190の物理メモリ管理テーブル191を作成する。
【0041】
まず、引継ぎバッファ147の1エントリをリードする(処理501)。これから、このエントリの物理アドレス,論理アドレス,保護属性を求める。
【0042】
次に、処理501でリードしたエントリのページが、物理メモリ,管理テーブルであれば、「p_malloc」をコールすることにより、物理メモリ管理テーブル191に登録する(処理502)。また、エントリがページテーブルのものであれば、「p_map」をコールすることにより、ページテーブルのエントリを追加する。
【0043】
上記、処理501,処理502を、全ての引継ぎバッファ147のエントリに対して行う(処理503)。
【0044】
【発明の効果】
本発明によれば、メモリ管理モジュールを入れ替える場合でも、ページテーブルや、物理メモリテーブルの内容を、旧モジュールから新モジュールに引継げる。モジュール,タスク,フレームワークのマッピング情報が失われない。そのため、システムをリスタートすることなくメモリ管理モジュールを交換することができる。
【図面の簡単な説明】
【図1】本発明の、モジュール入れ替え方式の構成図である。
【図2】従来の、モジュール入れ替え方式の構成図である。
【図3】本発明の、計算機上の構成例である。
【図4】モジュールの構成図である。
【図5】モジュールテーブルの構成図である。
【図6】メモリ管理モジュールの、引継ぎバッファの構成図である。
【図7】メモリ管理モジュールの、内部データの構成図である。
【図8】エントリテーブルの構成図である。
【図9】固定物理空間を示す図である。
【図10】モジュール入れ替え処理部の、フロー図である。
【図11】メモリ管理モジュールの、引継ぎバッファ生成ルーチンのフロー図である。
【図12】メモリ管理モジュールの、引継ぎバッファ反映ルーチンのフロー図である。
【図13】ページテーブルの構成図である。
【符号の説明】
100…計算機、110…中央処理装置(CPU)、111…主記憶装置、113…ディスク装置、114…端末、115…ネットワーク装置、116…TLB、120…CPUバス、130…OS、131〜132…タスク、140…フレームワーク、141,144…モジュール、142…旧モジュール、143…新モジュール、145…ページテーブル、146…内部デーフバッファ、147…引継ぎバッファ、150…モジュールテーブル、160…モジュール切り替え処理部、170…ルーチン、171…システムコール、172…初期化ルーチン、173…停止ルーチン、174…内部ルーチン、175…割り込みハンドラ、180…引継ぎバッファ作成ルーチン、190,220…内部データ、200…ルーチン、210…引継ぎバッファ反映ルーチン、230…エントリテーブル、231…種別、232…エントリ番号、233…オフセット、240…論理空間、241…固定物理空間、242…通常の論理空間、250…物理メモリ、300〜503…フロー図の処理。

Claims (3)

  1. 主記憶装置中に設けられた複数のモジュールプログラムと、
    前記モジュールプログラム入れ替え処理開始時に、該モジュールプログラムの引継ぎバッファデータ作成ルーチンと引継ぎバッファデータ反映ルーチンをコールするフレームワークプログラムと、
    複数のモジュールブログラム間の引継ぎ情報が保存される引継ぎバッファとを備え、
    論理空間と物理空間が等しい固定物理空間と、
    論理空間と物理空間が一致しない仮想空間を制御するオペレーティングシステムのモジュールプログラムを備えた計算機において、
    前記固定物理空間内に前記引継ぎバッファが存在し、
    前記モジュールプログラムは、該モジュールプログラムの内部データを前記引継ぎバッファに格納する前記引継ぎバッファデータ作成ルーチンと、
    前記引継ぎバッファから内部データをモジュールプログラムに読み込む前記引継ぎバッファデータ反映ルーチンとを有し、
    旧モジュールプログラムから新モジュールプログラムに入れ替えるときに、前記フレームワークプログラムが前記主記憶装置中に設けられた前記モジュールプログラム入れ替え前の旧モジュールプログラムへのコールを停止し、
    前記旧モジュールプログラムの前記引継ぎバッファデータ作成ルーチンは、引継ぎ情報を前記主記憶装置中の前記引継ぎバッファに格納し、
    前記モジュールプログラム入れ替え後の新モジュールプログラムの前記引継ぎバッファデータ反映ルーチンは、前記引継ぎ情報を、前記引継ぎバッファから読み込むことを特徴とするオペレーティングシステムのモジュールプログラムを備えた計算機。
  2. 請求項1のオペレーティングシステムのモジュールプログラムを備えた計算機において、
    前記オペレーティングシステムは、前記主記憶装置中にモジュールプログラムごとの論理アドレスと物理アドレスの対応を管理するページテーブルと、該ページテーブルを管理するメモリ管理モジュールプログラムを有し、
    入れ替え前の旧メモリ管理モジュールプログラムの引継ぎバッファデータ作成ルーチンは前記ページテーブルから、論理アドレスと物理アドレスの対応を該引継ぎバッファに格納し、入れ替え後の新メモリ管理モジュールプログラムの引継ぎバッファデータ反映ルーチンは、論理アドレスと物理アドレスの対応を該引継ぎバッファから読み込み、該新メモリ管理モジュールプログラムの該ページテーブルを作成することを特徴とするオペレーティングシステムのモジュールプログラムを備えた計算機。
  3. 請求項2のオペレーティングシステムのモジュールプログラムを備えた計算機において、
    前記メモリ管理モジュールプログラムは、物理メモリが使用中か未使用かを示す使用状態と、メモリの識別子を記録する物理メモリ管理テーブルを持ち、該メモリ管理モジュールプログラムは、物理メモリを割り当て、開放する時に、該物理メモリ管理テーブルに、ある物理アドレスの使用状態と識別子を記入するモジュールプログラムであって、
    入れ替え前の旧メモリ管理モジュールプログラムの引継ぎバッファデータ作成ルーチンは前記物理メモリ管理テーブルから、該使用状態と該識別子を前記引継ぎバッファに格納し、入れ替え後の新メモリ管理モジュールプログラムの引継ぎバッファデータ反映ルーチンは、該使用状態と該識別子を前記引継ぎバッファから読み込み、該メモリ管理モジュールプログラムの該物理メモリ管理テーブルを作成することを特徴とするオペレーティングシステムのモジュールプログラムを備えた計算機。
JP06250098A 1998-03-13 1998-03-13 オペレーティングシステムのモジュールプログラムを備えた計算機 Expired - Fee Related JP3882321B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP06250098A JP3882321B2 (ja) 1998-03-13 1998-03-13 オペレーティングシステムのモジュールプログラムを備えた計算機
US09/263,785 US6546485B1 (en) 1998-03-13 1999-03-05 Method for exchanging modules in operating system by using inheritance buffer presented in virtual space to store inherited information of old module and read by new module thereafter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06250098A JP3882321B2 (ja) 1998-03-13 1998-03-13 オペレーティングシステムのモジュールプログラムを備えた計算機

Publications (2)

Publication Number Publication Date
JPH11259285A JPH11259285A (ja) 1999-09-24
JP3882321B2 true JP3882321B2 (ja) 2007-02-14

Family

ID=13201961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06250098A Expired - Fee Related JP3882321B2 (ja) 1998-03-13 1998-03-13 オペレーティングシステムのモジュールプログラムを備えた計算機

Country Status (2)

Country Link
US (1) US6546485B1 (ja)
JP (1) JP3882321B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236127A (ja) * 2007-03-19 2008-10-02 Ricoh Co Ltd 画像処理装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2377283B (en) * 2001-04-10 2004-12-01 Discreet Logic Inc Initialising modules
JP4677691B2 (ja) * 2001-07-24 2011-04-27 株式会社日立製作所 自動車の制御方法
JP2003216449A (ja) * 2002-01-23 2003-07-31 Nec Corp パッチ処理システム
US7124400B2 (en) * 2003-03-12 2006-10-17 Microsoft Corporation Extensible customization framework for a software system
US6978452B2 (en) * 2003-04-02 2005-12-20 Beach Unlimited Llc Upgrading digital media servers
JP2005317115A (ja) 2004-04-28 2005-11-10 Sony Corp 情報処理装置および情報処理方法、並びに、プログラム
JP2005317114A (ja) 2004-04-28 2005-11-10 Sony Corp 情報処理装置および情報処理方法、並びに、プログラム
JP4604543B2 (ja) * 2004-04-30 2011-01-05 日本電気株式会社 計算機、計算機起動方法、管理サーバ装置およびプログラム
JP4496061B2 (ja) * 2004-11-11 2010-07-07 パナソニック株式会社 機密情報処理装置
JP4931711B2 (ja) * 2007-07-02 2012-05-16 日本電信電話株式会社 カーネル更新方法、情報処理装置、プログラムおよび記憶媒体
US8468366B2 (en) * 2008-03-24 2013-06-18 Qualcomm Incorporated Method for securely storing a programmable identifier in a communication station
CN101616028B (zh) * 2009-06-25 2012-02-29 中兴通讯股份有限公司 一种通信程序业务不中断升级方法及***
US8832686B2 (en) * 2010-10-29 2014-09-09 Microsoft Corporation Inherited product activation for virtual machines
JP6273733B2 (ja) * 2013-09-20 2018-02-07 富士通株式会社 演算処理装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
GB2527060B (en) 2014-06-10 2021-09-01 Arm Ip Ltd Method and device for updating software executed from non-volatile memory
US10523603B2 (en) * 2017-03-31 2019-12-31 Bmc Software, Inc. Systems and methods for intercepting access to messaging systems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4799145A (en) * 1985-04-03 1989-01-17 Honeywell Bull Inc. Facility for passing data used by one operating system to a replacement operating system
IT1211458B (it) * 1987-11-04 1989-10-26 Selenia Spazio Spa Controllore della commutazione di bordo di un satellite del tipo con commutazione a bordo
JPH02194446A (ja) * 1989-01-24 1990-08-01 Nippon Telegr & Teleph Corp <Ntt> 二重化情報処理システムにおけるモジュール修復方法
US5313387A (en) * 1989-06-30 1994-05-17 Digital Equipment Corporation Re-execution of edit-compile-run cycles for changed lines of source code, with storage of associated data in buffers
US5604887A (en) * 1994-01-21 1997-02-18 Microsoft Corporation Method and system using dedicated location to share information between real and protected mode device drivers
JPH07319683A (ja) 1994-05-30 1995-12-08 Nippon Telegr & Teleph Corp <Ntt> 運用中プログラム更新方式
US5784611A (en) * 1994-12-19 1998-07-21 Seagate Technology, Inc. Device and process for in-system programming electrically erasable and programmable non-volatile memory
JPH08212064A (ja) 1995-01-31 1996-08-20 Hitachi Ltd 共用サブルーチンの入れ替えシステム及び共用サブルーチン入れ替え方法
US5805882A (en) * 1996-07-19 1998-09-08 Compaq Computer Corporation Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
US6122733A (en) * 1997-01-02 2000-09-19 Intel Corporation Method and apparatus for updating a basic input/output system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236127A (ja) * 2007-03-19 2008-10-02 Ricoh Co Ltd 画像処理装置

Also Published As

Publication number Publication date
JPH11259285A (ja) 1999-09-24
US6546485B1 (en) 2003-04-08

Similar Documents

Publication Publication Date Title
JP3882321B2 (ja) オペレーティングシステムのモジュールプログラムを備えた計算機
US10846237B2 (en) Methods and apparatus for locking at least a portion of a shared memory resource
JP5255348B2 (ja) クラッシュダンプ用のメモリアロケーション
US8438363B1 (en) Optimization of paging cache protection in virtual environment
EP0431467B1 (en) Multiprocessor system having distributed shared resources and dynamic global data replication
JP3593241B2 (ja) 計算機の再起動方法
US4742450A (en) Method to share copy on write segment for mapped files
US5274789A (en) Multiprocessor system having distributed shared resources and dynamic and selective global data replication
JP4519738B2 (ja) メモリアクセス制御装置
JP2633488B2 (ja) 並列処理を実行する方法およびシステム
JP2005500592A (ja) 共有メモリを用いて仮想メモリを実現するマルチプロセッサシステムならびにページ化メモリの整合性を管理するためのページ差し替え方法
JPH0578857B2 (ja)
JPH0658648B2 (ja) ページ不在を取り扱う方法
JP2001051900A (ja) 仮想計算機方式の情報処理装置及びプロセッサ
JP2005122334A (ja) メモリダンプ方法、メモリダンプ用プログラム及び仮想計算機システム
CN109783145B (zh) 一种创建基于多映像的多功能嵌入式***的方法
JP2001229053A (ja) ダンプ取得機構を備えた計算機
JPH11134204A (ja) スタック保護装置
JP3674446B2 (ja) 個別アプリケーションパッチ管理装置及び個別アプリケーションパッチ管理方法
JP2990609B2 (ja) 計算機システム
JP3859063B2 (ja) 仮想計算機の構成情報アクセス制御方法
JP2000242550A (ja) データ運用管理方法
JPH10334056A (ja) マルチプロセッサ・システム
JP2004157751A (ja) データ保護システム、データ保護プログラム及びデータ保護方法
JP2001051854A (ja) 情報管理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060417

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060920

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060926

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061024

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061106

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees