(57)【要約】【課題】  オペレーティングシステム内の動的ロードモジュールの数に関係なく、一定の手順と処理量をもって任意の動的ロードモジュールにおける任意の機能ルーチンを呼び出す、オペレーティングシステムにロードされた複数の動的ロードモジュールの管理システムを提供する。【解決手段】  オペレーティングシステム外部よりモジュール指定情報31と機能ルーチン指定情報32とを取得し、動的ロードモジュール管理部21又はアドレス管理部14をモジュール指定情報31に基づいて参照することで、任意の動的ロードモジュール10を参照するための情報を取得することでこれを参照し、機能ルーチン指定情報32に基づいて、参照中の動的ロードモジュール10の機能ルーチン管理部12を参照し、任意の機能ルーチン11を呼び出すための機能ルーチン管理情報13を取得することにより、任意の機能ルーチン11を呼び出す。【選択図】図１
2005301828.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムにロードされた複数の動的ロードモジュールの管理システムであって、
前記動的ロードモジュールのそれぞれは、複数の機能ルーチンと、それら複数の機能ルーチンを管理するための機能ルーチン管理情報を有する機能ルーチン管理部と、を備え、
前記オペレーティングシステムは、その基本構成部内に、ロードされた前記動的ロードモジュールを管理するための動的ロードモジュール管理部を備え、
前記オペレーティングシステムの基本構成部は、動的ロードモジュールをロードする度に、ロードされた動的ロードモジュールを参照するためのモジュール参照情報を前記動的ロードモジュール管理部に登録し、ロード済みの任意の動的ロードモジュールから任意の機能ルーチンを呼び出す際に、前記任意の動的ロードモジュールを指定するモジュール指定情報と、前記任意の機能ルーチンを指定する機能ルーチン指定情報と、を前記オペレーティングシステムの外部より取得し、取得した前記モジュール指定情報に基づいて前記動的ロードモジュール管理部を参照することにより、前記任意の動的ロードモジュールを参照するための前記モジュール参照情報を取得し、当該モジュール参照情報に基づいて前記任意の動的ロードモジュールを参照し、取得した前記機能ルーチン指定情報に基づいて、参照中の前記任意の動的ロードモジュールにおける前記機能ルーチン管理部から前記任意の機能ルーチンを呼び出すための機能ルーチン管理情報を取得し、当該機能ルーチン管理情報に基づいて任意の前記機能ルーチンを呼び出すことを特徴とする動的ロードモジュールの管理システム。
【請求項２】
オペレーティングシステムにロードされた複数の動的ロードモジュールの管理システムであって、
前記動的ロードモジュールのそれぞれは、複数の機能ルーチンと、それら複数の機能ルーチンを管理するための機能ルーチン管理情報を有する機能ルーチン管理部と、を備え、
前記オペレーティングシステムは、その基本構成部内に、ロードされた前記動的ロードモジュールを管理する動的ロードモジュール管理部を備え、
前記オペレーティングシステムの基本構成部及び前記動的ロードモジュールのそれぞれは、アドレス情報を管理するアドレス管理部を備え、
前記オペレーティングシステムの基本構成部は、前記動的ロードモジュールがロードされる度に当該動的ロードモジュールがロードされた順序に関する情報を前記動的ロードモジュール管理部に登録し、且つ一つ目の前記動的ロードモジュールがロードされると、そのロードされた当該動的ロードモジュールを参照するためのアドレス情報を自己の前記アドレス管理部に登録し、二つ目以降の前記動的ロードモジュールをロードする度に、ロードされた前記動的ロードモジュールを参照するためのアドレス情報を、一つ前にロードされた前記動的ロードモジュールの前記アドレス管理部に順次登録し、ロード済みの任意の動的ロードモジュールから任意の機能ルーチンを呼び出す際に、前記任意の動的ロードモジュールを指定するモジュール指定情報と、前記任意の機能ルーチンを指定する機能ルーチン指定情報と、を前記オペレーティングシステムの外部より取得し、取得した前記モジュール指定情報に基づいて前記動的ロードモジュール管理部を参照することにより、前記任意の動的ロードモジュールがロードされた順序に関する情報を取得し、取得した前記順序に関する情報に基づいて前記アドレス管理部を参照することにより、前記任意の動的ロードモジュールを参照するための前記アドレス情報を取得し、当該アドレス情報に基づいて前記任意の動的ロードモジュールを参照し、取得した前記機能ルーチン指定情報に基づいて、参照中の前記任意の動的ロードモジュールにおける前記機能ルーチン管理部から前記任意の機能ルーチンを呼び出すための機能ルーチン管理情報を取得し、当該機能ルーチン管理情報に基づいて任意の前記機能ルーチンを呼び出すことを特徴とする動的ロードモジュールの管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、オペレーティングシステムの機能を分割して生成したモジュールを、動的に着脱して構成する環境において、オペレーティングシステム上で動作するアプリケーションソフトウェアの変更に応じて、オペレーティングシステムの機能変更及び機能追加を動的に実施できるオペレーティングシステムの動的ロードモジュールの管理システムに関する。
【背景技術】
【０００２】
従来のオペレーティングシステムの機能管理方式としては、例えば、特許文献１に開示されたようなものがある。この従来技術では、オペレーティングシステムに動的ロードモジュール管理部を用意し、その動的ロードモジュール管理部に、オペレーティングシステムの機能を拡張する動的ロードモジュール内のハンドラ管理部へのポインタを格納する。動的ロードモジュール内には一つ前のモジュール内のハンドラ管理部へのポインタと一つ次のモジュール内のハンドラ管理部へのポインタを格納する領域を持たせている。従ってオペレーティングシステム基本構成部は、双方向リストにより、動的ロードモジュールを管理している。
動的ロードモジュール内のハンドラ管理部を順次検索し、見つかった場合その機能を実行する。最終的に全てのモジュール内のハンドラ管理部を検索し、所望の機能が見つからなかった場合、オペレーティングシステム基本構成部は機能の呼び出し元に対して異常を返す。
【特許文献１】特開平１１−２６５２７８号公報（第１項、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記従来技術では、双方向リストにより動的ロードモジュールを管理しているために、所望の機能が呼び出されるまでに必要な手順は、動的ロードモジュールの数に影響され一定ではない。つまり比較的短時間で呼び出される場合もあるが、長時間を要する場合もある。しかも所望の機能が存在しない場合、全ての動的ロードモジュールを検索することとなり、膨大な時間と処理量が必要となる。このためオペレーティングシステム全体としての処理性能を下げるという課題がある。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、請求項１に記載の発明は、オペレーティングシステムにロードされた複数の動的ロードモジュールの管理システムであって、
動的ロードモジュールは、複数の機能ルーチンと、それら複数の機能ルーチンを管理するための機能ルーチン管理情報を有する機能ルーチン管理部を備えており、
オペレーティングシステムの基本構成部は、動的ロードモジュールを管理するための動的ロードモジュール管理部を備えており、
オペレーティングシステムの基本構成部は、動的ロードモジュールをロードする度に、ロードされた動的ロードモジュールを参照するための参照情報を動的ロードモジュール管理部に登録し、
ロード済みの任意の動的ロードモジュールから任意の機能ルーチンを呼び出す際に、任意の動的ロードモジュールを指定するためのモジュール指定情報と、この任意の動的ロードモジュールにおける任意の機能ルーチンを指定するための機能ルーチン指定情報と、をオペレーティングシステムの外部より取得し、
取得したモジュール指定情報に基づいて、オペレーティングシステムの基本構成部の動的ロードモジュール管理部を参照することにより、任意の動的ロードモジュールを参照するためのモジュール参照情報を取得し、このモジュール参照情報に基づいて任意の動的ロードモジュールを参照し、
また取得した機能ルーチン指定情報に基づいて、参照中の任意の動的ロードモジュール内における機能ルーチン管理部を参照することにより、任意の機能ルーチンを呼び出すための機能ルーチン管理情報を取得し、この機能ルーチン管理情報に基づいて任意の動的ロードモジュールにおける任意の機能ルーチンを呼び出すようにした。
【０００５】
上記課題を解決するために、請求項２に記載の発明は、オペレーティングシステムにロードされた複数の動的ロードモジュールの管理システムであって、
動的ロードモジュールのそれぞれは、複数の機能ルーチンと、それら複数の機能ルーチンを管理するための機能ルーチン管理情報を有する機能ルーチン管理部と、アドレス情報を管理するためのアドレス管理部と、を備えており、
オペレーティングシステムは、その基本構成部内に、ロードされた動的ロードモジュールを管理するための動的ロードモジュール管理部と、アドレス情報を管理するためのアドレス管理部と、を備えており、
オペレーティングシステムの基本構成部は、動的ロードモジュールがロードされる度に、動的ロードモジュールがロードされた順序に関する情報を動的ロードモジュール管理部に登録し、また一つ目の動的ロードモジュールがロードされると、そのロードされた動的ロードモジュールを参照するためのアドレス情報をオペレーティングシステムの基本構成部内のアドレス管理部に登録し、そして二つ目以降の動的ロードモジュールをロードする度に、ロードされた動的ロードモジュールを参照するためのアドレス情報を、一つ前にロードされた動的ロードモジュールのアドレス管理部に順次登録し、
オペレーティングシステムの基本構成部は、ロード済みの任意の動的ロードモジュールから任意の機能ルーチンを呼び出す際に、任意の動的ロードモジュールを指定するためのモジュール指定情報と、この任意の動的ロードモジュールにおける任意の機能ルーチンを指定するための機能ルーチン指定情報と、をオペレーティングシステムの外部より取得し、
取得したモジュール指定情報に基づいて動的ロードモジュール管理部を参照することにより、任意の動的ロードモジュールがロードされた順序に関する情報を取得し、取得した順序に関する情報に基づいてアドレス管理部を参照することにより、任意の動的ロードモジュールを参照するためのアドレス情報を取得し、取得したアドレス情報に基づいて任意の動的ロードモジュールを参照し、
あらかじめ取得した機能ルーチン指定情報に基づいて、参照中の任意の動的ロードモジュールにおける機能ルーチン管理部を参照し、参照した機能ルーチン管理部から任意の機能ルーチンを呼び出すための機能ルーチン管理情報を取得し、この機能ルーチン管理情報に基づいて任意の動的ロードモジュールにおける任意の機能ルーチンを呼び出すようにした。
【発明の効果】
【０００６】
本発明では、一定の手順と処理量でもって任意の動的ロードモジュールにおける任意の機能ルーチンを呼び出すことが可能となるという効果がある。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態を図面に基づいて説明する。
図１は、本発明の第一の実施形態における構成を示すシステム構成図であり、オペレーティングシステム（以下ＯＳと略称する）は、複数の動的ロードモジュール10と、基本構成部20と、を備えている。
各動的ロードモジュール10は、複数の機能ルーチン11と、機能ルーチン管理テーブル12と、アドレス情報15と、を備えている。
【０００８】
機能ルーチン管理テーブル12は、複数の機能ルーチン11をそれぞれ管理するための機能ルーチン管理情報13を備えている。この機能ルーチン管理テーブル12は、参照が可能であれば、動的ロードモジュール10内のどこに配置されていても構わない。
ここで機能ルーチン管理情報13は、登録された機能ルーチン11が動的ロードモジュール10内のどこにあるかを示す情報であり、必要な情報を含む限り、その他目的に応じて適宜に情報を追加しても構わない。機能ルーチン管理テーブル12は、図２に示すような管理テーブルであり、動的ロードモジュール内に機能ルーチン11が登録される度に、その登録された機能ルーチン11を呼び出すための機能ルーチン管理情報13が、機能ルーチン管理テーブル12内の、該当する機能ルーチン指定情報32と一致する個所に登録されるようになっている。登録する機能ルーチン管理情報13及び機能ルーチン指定情報32は、数字、又は記号、もしくはこれら何れかの組合せでも構わない。
【０００９】
アドレス情報15は、ロードされた動的ロードモジュール10がＯＳ内のどこにあるかを示す情報である。このアドレス情報15も参照が可能であれば、動的ロードモジュール10内のどこに配置されていても構わない。
一方ＯＳ基本構成部20は、ＯＳ内にロードされた動的ロードモジュール10を管理するための動的ロードモジュール管理テーブル21と、コールゲート処理部24と、を備えている。
動的ロードモジュール管理テーブル21は、複数の動的ロードモジュール10をそれぞれ管理するためのモジュール参照情報22を備えている。動的ロードモジュール管理テーブル21も参照が可能であればＯＳの基本構成部20内のどこに配置されていても構わない。
【００１０】
モジュール参照情報22は、ロードされた動的ロードモジュール10がＯＳ内のどこにあるのかを示す情報であり、必要な情報を含む限り、その他目的に応じて適宜に情報を追加しても構わない。動的ロードモジュール管理テーブル21は、図３に示すような管理テーブルであり、動的ロードモジュール10がＯＳ内にロードされる度に、そのロードされた動的ロードモジュール10を参照するためのモジュール参照情報22が、動的ロードモジュール管理テーブル21内の、該当するモジュール指定情報31と一致する個所に登録されるようになっている。また登録するモジュール参照情報22及びモジュール指定情報31は、数字や記号、又は先頭アドレス等の動的ロードモジュール10に格納されているアドレス情報15、もしくはこれら何れかの組合せでも構わない。
【００１１】
コールゲート処理部24は、ＯＳ外部のアプリケーションソフトウェア30（以下ＡＰＳと略称する）等から、任意の動的ロードモジュール10における任意の機能ルーチン11の呼び出し要求を受け付ける処理等を実行するようになっており、本実施形態において、ＯＳの基本構成部20とそれ以外との間のやり取りは、全てコールゲート処理部24を介して実行される。
また任意の動的ロードモジュール10における任意の機能ルーチン11を呼び出す要求を行うためのアプリケーションプログラムインターフェース33（以下ＡＰＩと略称する）等をＡＰＳ30の内部に用意している。
【００１２】
ＡＰＩ33は、モジュール参照情報31及び機能ルーチン指定情報32を指定するためのインターフェースであり、任意の動的ロードモジュール10における任意の機能ルーチン11を呼び出す際にＡＰＳ30によって呼び出される。ＡＰＩ33は、ＡＰＳ30が呼び出し可能であれば、ＡＰＳ30内のどこに配置されていても構わない。
ＡＰＳ30等によって任意の動的ロードモジュール10における任意の機能ルーチン11を呼び出す際は、図４の処理が実行され、まずステップＳ11において、図１の(1)部に示すように、まずＡＰＳ30のＡＰＩ33等から、任意の動的ロードモジュール10を指定するモジュール指定情報31と、任意の機能ルーチン11を指定する機能ルーチン指定情報32とを、コールゲート処理部24を介して取得する。
【００１３】
次いで、ステップＳ12に移行し、取得した任意の動的ロードモジュール10を指定するモジュール指定情報31に基づいて、ＯＳ基本構成部20内にある動的ロードモジュール管理テーブル21を参照し、図１の(2)部に示すように、任意の動的ロードモジュール10を参照するためのモジュール参照情報22を取得する。
次いで、ステップＳ13に移行し、モジュール参照情報22を取得したか否かを判定し、もしモジュール参照情報22が取得できなかった場合には、任意の動的ロードモジュール10はＯＳ内にロードされておらず、ステップＳ13の判定がNoとなり、ステップＳ14に移行し、任意の動的ロードモジュール10をＯＳ内にロードする。
【００１４】
次いで、ステップＳ15に移行し、動的ロードモジュール10のロードに成功したか否かを判定し、もしロードすることが不可能の場合には、任意の動的ロードモジュール10は存在せず、ステップＳ15の判定がNoとなり、任意の機能ルーチン11の呼び出し元に対して異常を返す異常処理を実行する。
これに対し、ステップＳ13の判定がYesの場合及びステップＳ15の判定がYesの場合、ステップＳ16に移行し、取得したモジュール参照情報22に基づいて、図１の(3)部に示すように、コールゲート処理部24を介してＯＳ内にある任意の動的ロードモジュール10を参照する。そして、あらかじめ取得した機能ルーチン指定情報32に基づいて、参照中の動的ロードモジュール10内の機能ルーチン管理テーブル12を参照し、図１の(4)部に示すように、コールゲート処理部24を介して任意の機能ルーチン11を参照するための機能ルーチン管理情報13を取得する。
【００１５】
次いで、ステップＳ17に移行し、機能ルーチン管理情報13の取得に成功したか否かを判定し、任意の機能ルーチン管理情報13が取得できなかった場合には、任意の機能ルーチン11は存在せず、ステップＳ17の判定がNoとなり、任意の機能ルーチン11の呼び出し元に対して異常を返す異常処理を実行する。
これに対し、ステップＳ17の判定がYesの場合、ステップＳ18に移行し、図１の(5)部に示すように、取得した機能ルーチン管理情報13に基づいて、コールゲート処理部24を介して任意の動的ロードモジュール10における任意の機能ルーチン11を呼び出し、その後正常終了を実行する。
【００１６】
本実施の形態によれば、動的ロードモジュール管理テーブル21及び機能ルーチン管理テーブル12を、一定の手順と処理量でもって任意の動的ロードモジュール10における任意の機能ルーチン11を呼び出すことが可能となるという効果がある。
なお本実施の形態では、機能ルーチン管理テーブル12が本発明における機能ルーチン管理部に相当し、動的ロードモジュール管理テーブル21が本発明における動的ロードモジュール管理部に相当する。
【００１７】
次に、本発明の第二の実施形態を説明する。
図５は、本発明の第二の実施形態における構成を示す図である。なお上記第一の実施の形態と同じ構成には同じ符号を付し、その重複する説明は省略する。
即ち、複数の動的ロードモジュール10とＯＳの基本構成部20は、それぞれアドレス情報15を管理するためのアドレス管理領域14Ａ、14Ｂを備えている。
【００１８】
アドレス管理領域14Ａ、14Ｂは、動的ロードモジュール10を参照するためのアドレス情報15を、登録する領域であり、参照が可能であれば、アドレス管理領域14Ａ、14Ｂは、動的ロードモジュール10、及びＯＳの基本構成部20内のどこに配置されていても構わない。
最初の状態のＯＳは動的ロードモジュール10がロードされていない。このため、図５の(1)部に示すように、一つ目の動的ロードモジュールがロードされると、そのロードされた動的ロードモジュールを参照するためのアドレス情報15がＯＳの基本構成部20のアドレス管理領域14Ａに登録される。そして二つ目以降の動的ロードモジュール10がロードされる度に、動的ロードモジュール10を参照するためのアドレス情報15を、一つ前にロードされた動的ロードモジュール10のアドレス管理領域14Ｂに順次登録する。
【００１９】
動的ロードモジュール管理テーブル21は、図６に示すような管理テーブルであり、複数の動的ロードモジュール10がそれぞれロードされた順序を管理するための順序に関する情報23を備えている。
順序に関する情報23は、ＯＳ内にロードされた動的ロードモジュール10が何番目にロードされたかを示す情報であり、必要な情報を含む限り、その他目的に応じて適宜に情報を追加しても構わない。そして、動的ロードモジュール10がＯＳ内にロードされる度に、そのロードされた順序に関する情報を参照するための順序に関する情報23を、動的ロードモジュール管理テーブル21内の、該当するモジュール指定情報31と一致する個所に登録するようになっている。またこの際登録する順序に関する情報23は、連続していれば、数字、又は記号、もしくはこれら何れかの組合せでも構わない。なお、動的ロードモジュール管理テーブル21は、予め、「−１」等のような特別な数値が登録されており、後に順序に関する情報23が登録されたときに、既に登録された動的ロードモジュール10と、未だロードされていない動的ロードモジュール10とが区別可能となっている。
【００２０】
また、動的ロードモジュール管理テーブル21内にモジュール数管理領域25を用意し、ＯＳ内にロードされている動的ロードモジュール10の個数を把握し、この個数情報をモジュール数管理領域25に登録するようになっている。
ＯＳ外部から任意の動的ロードモジュール10における任意の機能ルーチン11を呼び出す際は、図７の処理が実行される。
【００２１】
即ち、上記第一の実施形態と同様に、ステップＳ11が実行された後に、ステップＳ22に移行し、取得したモジュール指定情報31に基づき、動的ロードモジュール管理テーブル21を参照することにより、図５の(3)部に示すように、動的ロードモジュール10がＯＳ内にロードされた順序に関する順序に関する情報23を取得する。
次いで、ステップＳ23に移行し、順序に関する情報23を取得したか否かを判定し、もし順序に関する情報23が取得できなかった場合には、任意の動的ロードモジュール10はＯＳ内にロードされておらず、ステップＳ23の判定がNoとなり、ステップＳ14に移行する。
【００２２】
これに対し、ステップＳ23の判定がYesの場合、及びステップＳ15の判定がYesの場合、ステップＳ26に移行し、取得した順序に関する情報23に基づいて、アドレス管理テーブル14を参照し、図５の(4)部に示すように、任意の動的ロードモジュールを参照するためのアドレス情報15を取得する。取得したアドレス情報15に基づき、コールゲート処理部24を介して任意の動的ロードモジュール10を参照する。その後、上記第一の実施形態と同様に、ステップＳ17、及びステップＳ18の処理を実行する。
【００２３】
本実施の形態によっても、動的ロードモジュール管理テーブル21及び機能ルーチン管理テーブル12を、一定の手順と処理量でもって任意の動的ロードモジュール10における任意の機能ルーチン11を呼び出すことが可能となるという効果がある。
なお本実施の形態では、アドレス管理テーブル14が本発明におけるアドレス管理部に相当する。
以上、実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【図面の簡単な説明】
【００２４】
【図１】本発明における第一の実施形態を示すシステム構成図である。
【図２】機能ルーチン管理テーブルの機能ルーチン管理情報に関する管理テーブル構成の一実施形態を示す説明図である。
【図３】動的ロードモジュール管理テーブルのモジュール参照情報に関する管理テーブル構成の一実施形態を示す説明図である。
【図４】動的ロードモジュール管理テーブルを用いて本発明を実行する処理の一例を示すフローチャートである。
【図５】本発明における第二の実施形態を示すシステム構成図である。
【図６】動的ロードモジュール管理テーブルのロードされた順序に関する情報に関する管理テーブル構成の一実施形態を示す説明図である。
【図７】アドレス管理テーブルを用いて本発明を実行する処理の一例を示すフローチャートである。
【符号の説明】
【００２５】
１０．．．動的ロードモジュール、１１．．．機能ルーチン、１２．．．機能ルーチン管理テーブル、１３．．．機能ルーチン管理情報、１４Ａ，Ｂ．．．アドレス管理テーブル、１５．．．アドレス情報、２０．．．オペレーティングシステムの基本構成部、２１．．．動的ロードモジュール管理テーブル、２２．．．モジュール参照情報、２３．．．順序に関する情報、２４．．．コールゲート処理部、２５．．．モジュール数管理領域、３０．．．アプリケーションソフトウェア、３１．．．モジュール指定情報、３２．．．機能ルーチン指定情報、３３．．．アプリケーションプログラムインターフェース
【図１】
2005301828.tif 000003
【図２】
2005301828.tif 000004
【図３】
2005301828.tif 000005
【図４】
2005301828.tif 000006
【図５】
2005301828.tif 000007
【図６】
2005301828.tif 000008
【図７】
2005301828.tif 000009