(57)【要約】ターゲットシステム上のカーネルとは異なる別のカーネルバージョンに対応するコンパイルしたカーネルモジュールをターゲットシステム上のカーネルに対して適用させる方法及び装置が提供される。カーネルアナライザーがターゲットシステム上のカーネルからエラーチェック測度とカーネルバージョン識別とを抽出する。モジュール適用コンポーネントが、コンパイルしたカーネルモジュール内に、ターゲットシステム上のカーネルからカーネルアナライザーにより抽出されたエラーチェック測度を挿入し、且つコンパイルしたカーネルモジュールにおけるバージョン識別をターゲットシステム上のカーネルからカーネルアナライザーにより抽出されたカーネルバージョン識別で置換させる。
2005523516.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットシステム上のカーネルとは異なる別のカーネルバージョンに対応するコンパイルしたカーネルモジュールをターゲットシステム上のカーネルに対して適用させるカーネルモジュール修正装置において、
前記ターゲットシステム上のカーネルからエラーチェック測度及びカーネルバージョン識別を抽出すべく適応されているカーネルアナライザー、
前記ターゲットシステム上のカーネルから前記カーネルアナライザーにより抽出された前記エラーチェック測度に対応するエラーチェックパラメータを前記コンパイルしたカーネルモジュール内に挿入し且つ前記コンパイルしたカーネルモジュールにおけるバージョン識別を前記ターゲットシステム上のカーネルから前記カーネルアナライザーにより抽出した前記カーネルバージョン識別で置換させるべく適応されているモジュール適用コンポーネント、
を有している装置。
【請求項２】
請求項１において、前記エラーチェックパラメータが挿入される前記コンパイルされたカーネルモジュールがバイナリーである装置。
【請求項３】
請求項１において、その中に前記エラーチェックパラメータを挿入しており且つ前記ターゲットシステム上のカーネルから抽出したカーネルバージョン識別を担持する前記修正しコンパイルしたカーネルモジュールが前記ターゲットシステム上のカーネル内へロード可能である装置。
【請求項４】
請求項１において、前記エラーチェック測度が前記ターゲットシステム上のカーネルから前記カーネルアナライザーにより抽出された１個又はそれ以上のチェックサムを包含している装置。
【請求項５】
請求項１において、前記カーネルアナライザーが前記コンパイルしたカーネルモジュール内に記号テーブルを位置決めし、且つ、前記記号テーブル内の各記号名に対して、前記記号名の解析を実施する装置。
【請求項６】
請求項５において、前記カーネルアナライザーにより実施される記号名解析が前記記号名を前記ターゲットシステム上のカーネル内の記号と比較することを包含している装置。
【請求項７】
請求項６において、前記記号名が前記ターゲットシステム上のカーネル内の１つの記号と一致する場合には、前記カーネルアナライザーがその一致した記号と関連するチェックサムを抽出し且つ前記モジュール適応コンポーネントが前記抽出したチェックサムを前記コンパイルしたカーネルモジュールの記号テーブル内の記号名へアペンドさせる装置。
【請求項８】
請求項５において、前記モジュール適応コンポーネントが、前記記号名を解析した後に、前記記号テーブルの１個又はそれ以上のオフセットを調節する装置。
【請求項９】
請求項１において、前記コンパイルしたカーネルモジュールがロード可能なリナックスカーネルモジュールである装置。
【請求項１０】
ターゲットシステム上のカーネルとは異なる別のカーネルバージョンに対応するコンパイルしたカーネルモジュールをターゲットシステム上のカーネルに対して適用させる方法において、
前記ターゲットシステム上のカーネルからエラーチェック測度及びカーネルバージョン識別を抽出し、
前記ターゲットシステム上のカーネルから抽出したエラーチェック測度に対応するエラーチェックパラメータを前記コンパイルしたカーネルモジュール内に挿入し、
前記コンパイルしたカーネルモジュール内のバージョン識別を前記ターゲットシステム上のカーネルから抽出したカーネルバージョン識別と置換させる、
ことを包含している方法。
【請求項１１】
請求項１０において、前記エラーチェックパラメータが挿入されるコンパイルしたカーネルモジュールがバイナリーである方法。
【請求項１２】
請求項１０において、その中にエラーチェックパラメータを挿入しており且つ前記ターゲットシステム上のカーネルから抽出したカーネルバージョン識別を担持している前記修正しコンパイルしたカーネルモジュールが前記ターゲットシステム上のカーネル内にロード可能である方法。
【請求項１３】
請求項１０において、前記抽出したエラーチェック測度が前記ターゲットシステム上のカーネルから抽出した１個又はそれ以上のチェックサムを包含している方法。
【請求項１４】
請求項１０において、更に、前記コンパイルしたカーネルモジュール内に記号テーブルを位置決めし、且つ、前記記号テーブル内の各記号名に対して、前記記号名の解析を実施することを包含している方法。
【請求項１５】
請求項１４において、前記記号名解析が前記記号名を前記ターゲットシステム上のカーネル内の記号と比較することを包含している方法。
【請求項１６】
請求項１５において、前記記号名が前記ターゲットシステム上のカーネル内の１個の記号と一致する場合には、前記一致した記号と関連するチェックサムが抽出され、次いで、前記コンパイルしたカーネルモジュールの記号テーブル内の記号名へアペンドされる方法。
【請求項１７】
請求項１４において、前記記号テーブルのオフセットが、前記記号名が解析された後に調節される方法。
【請求項１８】
請求項１０において、前記コンパイルしたカーネルモジュールがロード可能なリナックスカーネルモジュールである方法。
【請求項１９】
システムにおいて、
プロセッサ、
本システムにより読取可能であり、請求項１０の方法を実施するためにマシンにより実行可能な命令からなるプログラムをタンジブルに実現しているプログラム格納装置、
を有しているシステム。
【請求項２０】
マシンにより読取可能なプログラム格納装置において、請求項１０の方法を実施するためにマシンにより実行可能な命令からなるプログラムをタンジブルに実現しているプログラム格納装置。
【請求項２１】
請求項１０の方法を実施するためにコンピュータにより実行可能な命令を実現する伝送媒体において実現されるコンピュータデータ信号。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータオペレーティングシステムに関するものである。特に、本発明は、ターゲットシステムのオペレーティングシステムカーネルに対してカーネルモジュールを適用させることに関するものである。
【背景技術】
【０００２】
オペレーティングシステムはオペレーティングコンピュータハードウエアを使用可能なものとさせる１個又はそれ以上のコンピュータプログラムである（例えば、１個又はそれ以上のタスクをコンピュータが実施するために案内を行うコンピュータ命令の集まり）。ＤＯＳ、Ｗｉｎｄｏｗｓ、Ｍａｃ、ＵＮＩＸ、Ｐａｌｍはオペレーティングシステムの幾つかのファミリィである。
【０００３】
オペレーティングシステムの主要な機能はコンピュータのリソースの管理である。これらのリソースは、例えば、プロセッサ、格納装置（例えば、メモリ、ハードディスク等）、入力／出力装置（例えば、プリンタ、モニタディスプレイ等）、及び通信装置（例えば、モデム、ネットワークインターフェース等）を包含することが可能である。リソース管理タスクは、例えば、複数のユーザによるデータ及びその他のリソースの共有を与えること、ハンドシェーキング及びその他のネットワーク通信タスクを取り扱うこと等を包含している。
【０００４】
リソース管理等のオペレーティングシステム機能は、典型的に、平均的なコンピュータユーザに対してトランスペアレント即ち透明であるような態様で実施される。例えば、殆どのユーザはそのことに気が付いていないが、オペレーティングシステムは、一方においてのコンピュータリソースと、他方においての、ユーザが使用することが可能なアプリケーションプログラム（例えばワードプロセッサ、スプレッドシート、ウエブブラウザー等）との間のインターフェースとして作用する。オペレーティングシステムは、又、ユーザインターフェースを提供すること、権限のないユーザに対してのアクセス及びデータを保護すること、システムエラーから回復すること等のその他の機能を有している。
【０００５】
オペレーティングシステムカーネルはオペレーティングシステムの核即ちコアコンポーネントである。カーネルの機能は、プロセス管理、プロセス間通信、インタラプト処理、格納割当て／割当て解除に対するサポート、入力／出力アクティビティに対するサポート、システムセキュリティ手段等を包含することが可能である。これらの機能の各々は多数のタスクを包含している。例えば、セキュリティタスクはアクセス制御、ロギング及びモニタリング、格納及びファイルシステム管理、及びネットワーク及びモデム通信モニタリング等を包含する場合がある。
【０００６】
リナックスはＵＮＩＸオペレーティングシステムのファミリィの一員であり、且つｘ８６プロセッサを具備するパソコンを包含する多様なコンピュータプラットフォーム上でランさせることが可能である。リナックスはＵＮＩＸの無償開放式実現例である。特に、リナックスカーネルに対するソースコードは公衆にとって広く入手可能であり、且つ継続して改良され、且つそうでなければ修正される。改良及び／又はその他のリナックスカーネルに対する変更が行われ且つ一般的に公衆によって採用されると、新たなリナックスバージョンがレリーズされる。公にレリーズされたリナックスカーネルバージョンは対応して割当てられたカーネルバージョン識別により識別することが可能である。
【０００７】
その他のオペレーティングシステムカーネルと同様に、リナックスカーネルは、典型的に、複数個のカーネルモジュールから構成されている。カーネルモジュールは１個又はそれ以上の対応するカーネルタスクを実施するプログラムである。カーネルバージョンは、そのカーネルバージョンがインストールされるべき特定のシステムに従って選択されるカーネルモジュールの組合わせとすることが可能である。２つのカーネルバージョンは、（ａ）一方のバージョンが他方のバージョンには存在しない付加的なモジュールを有しており、及び／又は（ｂ）夫々のバージョンの２個のモジュールが異なる態様で（然しながら、多分、同じく満足の行くように）同一のタスクを実施するという点において異なる場合がある。
【０００８】
新たなカーネルモジュールがオペレーティングシステムカーネルへ付加される場合（又は既存のモジュールと置換）、新たなモジュールを具備するカーネルは再コンパイルされることを必要とする場合がある。カーネルのコンパイルは時間がかかるタスクである。複数のカーネルバージョンが積極的に使用されるリナックスのようなオペレーティングシステムの場合には、新たな（例えば、ファイアウォール）カーネルモジュールがその新たなモジュールを付加することが可能な複数の（カスタム又は公にレリーズされた）カーネルバージョンに対応して複数のカーネルコンパイルが行われる場合がある。
【０００９】
リナックスはロード可能なカーネルモジュールのダイナミックリンキング即ち動的結合を与える。１個のカーネルが動的結合可能なカーネルモジュールを使用する場合であっても、各動的結合可能なカーネルモジュールはロード可能なモジュール内にコンパイルされる。新たな動的結合可能なカーネルモジュールをロードすることが可能な１個のカーネルが再コンパイルされることが必要でない場合があるが、該新たな動的結合可能なカーネルモジュールは、典型的に、複数回コンパイルされ（ある場合には、数百回）、各コンパイルは夫々の（レリーズされたか又はカスタムの）カーネルバージョンを動的に結合することが可能な対応するロード可能なモジュールを提供する。この複数のコンパイルは時間がかかり且つかなりの不必要な格納部の消費を発生する。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明はターゲットシステム上のカーネルとは異なる別のカーネルバージョンに対応するコンパイルしたカーネルモジュールをターゲットシステム上のカーネルに対して適用させるカーネルモジュール修正装置を提供する。
【課題を解決するための手段】
【００１１】
１実施例においては、本装置は、カーネルアナライザーとモジュール適用コンポーネントとを包含している。カーネルアナライザーは、ターゲットシステム上のカーネルからエラーチェック測度及びカーネルバージョン識別を抽出する。モジュール適用コンポーネントは、コンパイルしたカーネルモジュール内に、ターゲットシステム上のカーネルからカーネルアナライザーにより抽出されたエラーチェック測度に対応するエラーチェックパラメータを挿入し、且つコンパイルしたカーネルモジュール内のバージョン識別をターゲットシステム上のカーネルからカーネルアナライザーにより抽出されたカーネルバージョン識別と置換する。
【００１２】
本発明は、又、ターゲットシステム上のカーネルとは異なる別のカーネルバージョンに対応するコンパイルしたカーネルモジュールをターゲットシステム上のカーネルに対して適用させる方法を提供する。本方法は、１実施例によれば、ターゲットシステム上のカーネルからエラーチェック測度及びカーネルバージョン識別を抽出し、コンパイルしたカーネルモジュール内にターゲットシステム上のカーネルから抽出したエラーチェック測度に対応するエラーチェックパラメータを挿入し、且つコンパイルしたカーネルモジュール内のバージョン識別をターゲットシステム上のカーネルから抽出したカーネルバージョン識別と置換させることを包含している。エラーチェックパラメータが挿入されるコンパイルしたカーネルモジュールは、ロード可能なリナックスカーネルモジュール及び／又はバイナリーとすることが可能である。その中にエラーチェックパラメータが挿入されており且つターゲットシステム上のカーネルから抽出したカーネルバージョン識別を担持している修正されコンパイルしたカーネルモジュールはターゲットシステム上のカーネル内にロード可能である。
【００１３】
別の実施例によれば、該エラーチェック測度は、ターゲットシステム上のカーネルから抽出した１個又はそれ以上のチェックサムを包含することが可能である。本方法は、更に、コンパイルしたカーネルモジュール内に記号テーブルを位置決めさせ、且つ、記号テーブル内の各記号名に対して、該記号名の解析を実施することを包含することが可能である。記号名解析は、記号名をターゲットシステム上のカーネル内の記号と比較することを包含することが可能である。その記号名がターゲットシステム上のカーネル内の１個の記号と一致する場合には、その一致した記号と関連するチェックサムを抽出し且つコンパイルしたカーネルモジュールの記号テーブル内の記号名へアペンド即ち付属させることが可能である。本方法は、又、該記号名を解析した後に、記号テーブルの１個又はそれ以上のオフセットを調節することを包含することが可能である。
【発明を実施するための最良の形態】
【００１４】
本発明は、複数のカーネルバージョン上でランするカーネルモジュールを修正するツールを提供している（方法及び装置の形態において）。該ツールは、コンピュータにより読取可能な媒体上に格納されるソフトウエアユーティリティ（例えば、１個又はそれ以上のコンピュータプログラム）で実現することが可能であり及び／又はコンピュータネットワーク又はその他の伝送媒体を介して送信することが可能である。ソフトウエアユーティリティが実行されるコンピュータ又はコンピュータシステムはターゲットシステムとすることが可能である。
【００１５】
図１に示した１実施例に基づくカーネルモジュール修正装置１０は、ターゲットシステム上のカーネルとは異なる別のカーネルバージョンに対応するコンパイルしたカーネルモジュールをターゲットシステム上のカーネルに対して適用させる。装置１０は、カーネルアナライザー１１及びモジュール適用コンポーネント１２を包含している。カーネルアナライザー及びモジュール適用コンポーネントはソフトウエアユーティリティにおけるモジュール又はコードセクションとすることが可能である。
【００１６】
１実施例に基づいて、ターゲットシステム上のカーネルとは異なる別のカーネルバージョンに対応するコンパイルしたカーネルモジュールをターゲットシステム上のカーネルに対して適用させる方法を図１及び２を参照して説明する。カーネルアナライザーコンポーネント１１がターゲットシステムカーネル５からエラーチェック測度５ａ及びカーネルバージョン識別５ｂを抽出する（ステップＳ２１）。モジュール適用コンポーネント１２が、コンパイルしたカーネルモジュール２０内に、ターゲットシステム上のカーネルからカーネルアナライザーにより抽出されたエラーチェック測度に対応するエラーチェックパラメータを挿入し（ステップＳ２２）、且つコンパイルしたカーネルモジュール２０内のバージョン識別をターゲットシステム上のカーネルからカーネルアナライザーにより抽出されたカーネルバージョン識別と置換させる（ステップＳ２３）。
【００１７】
エラーチェックパラメータをその中に挿入するコンパイルしたカーネルモジュールはロード可能なリナックスカーネルモジュール及び／又はバイナリーとすることが可能である。その中にエラーチェックパラメータを挿入しており且つターゲットシステム上のカーネルから抽出したカーネルバージョン識別を担持するコンパイルしたカーネルモジュールはターゲットシステム上のカーネル内にロードすることが可能である。
【００１８】
ターゲットシステムカーネルから抽出したバージョン識別は、バージョン番号又は別のバージョン識別（例えば１個又はそれ以上の記号）とすることが可能である。
【００１９】
ターゲットシステムカーネルから抽出したエラーチェック測度は１個又はそれ以上のチェックサムとすることが可能である。エラーチェック測度がチェックサムである場合には、コンパイルしたカーネルモジュール内に挿入されるエラーチェックパラメータはエラーチェック測度と同一又は相補的なものとすることが可能であり、又、そうでない場合には、それから派生することが可能である。チェックサム方法は当該技術において公知である。説明の便宜上、この開示はこのような方法の詳細な説明を提供するものではない。いずれの場合においても、ターゲットシステムカーネルから抽出したエラーチェック測度に基づいて得られたエラーチェックパラメータを具備する修正したカーネルモジュールは、カーネルのエラーチェック基準を満足すべきである。
【００２０】
リナックスカーネルに対する例示的な実施例を以下に説明する。然しながら、理解すべきことであるが、本発明の要旨は、その他のタイプのオペレーティングシステムカーネルへ適用することが可能である。
【００２１】
カーネルモジュール修正装置は、あるカーネルバージョンのコンパイルしたリナックスカーネルモジュールを修正し且つターゲットシステム上の異なるカーネルバージョン内へローディングすべく適用されている修正したカーネルモジュールを発生するソフトウエアユーティリティとすることが可能である。該修正は、カーネルモジュールの記号テーブルヘッダーにおける記号テーブル及びカーネルモジュールのモジュール情報セクションにおけるバージョン識別に対する変化を包含している。
【００２２】
リナックスカーネルモジュールは、エグゼキュータブルアンドリンカブルフォーマット（ＥＬＦ）と呼ばれるフォーマットへコンパイルすることが可能である。このＥＬＦフォーマットはモジュール／実行可能物に対して適切な実行及びリンケージ（結合）情報を記述する多数のセクション及びヘッダーを有している。該セクションは記号テーブル及びモジュール情報セクションを包含している。
【００２３】
コンパイルしたカーネルモジュールにおける記号テーブルはカーネルモジュールにおいて使用される識別子（即ち、記号、例えば、名称、ラベル等）、そのモジュールにおける識別子の位置、識別子属性のリストである。リナックスカーネルモジュールの記号テーブルにおいては、チェックサムが各記号名の終わりにアペンド即ち付属されている。チェックサム値は、モジュールがターゲットカーネル内に挿入される場合に、カーネルモジュールが同一の記号プロトタイプ、プロセッサオプコード等を使用することを検証するために使用することが可能である。これらの値が異なる場合には、カーネルは、未解決の記号が存在することを決定し且つカーネルモジュールをローディングするプロセスをアボートする。この問題を回避するために、チェックサムをカーネルモジュール内の記号から除去し且つターゲットカーネル内に格納されるチェックサムで置換させることが可能である。チェックサム置換は、未解決の記号エラーなしでモジュールをロードさせることを可能とする。
【００２４】
別のリナックスカーネルバージョンに対応するコンパイルしたリナックスカーネルモジュールをターゲットシステム上のリナックスカーネルに対して適用させる方法について図３及び４を参照して以下に説明する。
【００２５】
ＥＬＦフォーマットカーネルモジュールのセクションヘッダーを読取り且つユーティリティにより構文解析する（ステップＳ３１）。セクションヘッダー情報に基づいて、ユーティリティがカーネルモジュール内の記号テーブルのオフセットを見つけ出し、且つそのオフセットを使用してカーネルモジュール内の記号テーブルを探し出す（ステップＳ３２）。次いで、該記号テーブルを読取り且つユーティリティにより構文解析する（ステップＳ３３）。「ストリングテーブル」と呼ばれるモジュール内に格納される記号名に対するオフセットが記号テーブル情報から決定される（ステップＳ３４）。次いで、該記号名を読取り且つストリングテーブルから一度に１つづつ解析される（ステップＳ３５）。
【００２６】
ストリングテーブル内の記号名の解析は以下の態様で実施される（図４）。ストリングテーブル内の１個の記号名が選択される（ステップＳ３５１）。選択された記号名をチェックしてチェックサムが取り付けられているか否かを決定する（ステップＳ３５２）。チェックサムが見つからない場合には（ステップＳ３５２）、その記号名をスキップし且つ次の記号名を選択する。その記号名が取り付けられているチェックサムを包含している場合には（ステップＳ３５２）、そのチェックサムを剥ぎ取り（ステップＳ３５３）且つ次いで残りの名前をターゲットシステム上のカーネル内の記号と比較する（ステップＳ３５４）。一致が見つかると（ステップＳ３５４）、ターゲットシステムカーネル内の一致した記号にアペンドされているチェックサムを抽出し且つカーネルモジュールのストリングテーブル内の選択した記号名へアペンドさせる（ステップＳ３５５）。一致が見つからない場合には（ステップＳ３５４）、エラーメッセージを発生し、未解決の記号が存在することを表わし（ステップＳ３５６）、且つ記号名解析手順が進行することはない。そうでない場合には、本プロセスは、記号名の全てがチェックされ且つ修正されるまで継続して行われる（ステップＳ３５７）。ストリングテーブルに対する修正が行われると（ステップＳ３５８）、ストリングテーブルの寸法が変化している場合がある。従って、ＥＬＦフォーマットヘッダーのオフセットはストリングテーブル寸法における変化を反映するために調節されることを必要とする場合がある（ステップＳ３５９）。
【００２７】
以下の擬似コードはこのプロセスを記述している。
【００２８】
【表１】
2005523516.tif 000003
【００２９】
次に、モジュール情報セクションが修正される。モジュール修正セクションは、それに対してカーネルモジュールがコンパイルされたカーネルバージョンを識別する情報を保持している。モジュール情報内にバージョン識別が埋め込まれており、それはターゲットシステム上のカーネルのカーネルバージョン識別により置換される。バージョン識別の修正は、カーネルバージョン不一致エラーメッセージなしでカーネルモジュールをターゲットシステム上のカーネル内へロードさせることを可能とする。
【００３０】
上述したＥＬＦフォーマット構文解析（ステップＳ３１）は、又、該モジュールのモジュール情報セクションに対するオフセットを発生する（ステップＳ３２）。モジュール情報セクションが読み取られ且つ構文解析されて（ステップＳ３６）モジュール情報セクションと関連するストリングテーブル（記号名ストリングテーブルとは異なる）に対するオフセットを見つけ出す（ステップＳ３７）。モジュール情報ストリングテーブルが読み取られ且つ構文解析される（ステップＳ３８）。次いで、ストリングテーブルがバージョン識別に対してサーチされる。例えば、コンパイルしたリナックスカーネルモジュールにおいて、バージョン識別はストリング「ｋｅｒｎｅｌ ｖｅｒｓｉｏｎ＝」の後に続く（ステップＳ３９）。このストリングが見つかると、リナックスカーネルモジュールがコンパイルされたカーネルバージョンのバージョン識別が「＝」の符号に続く。次に、そのバージョン識別は、例えば、ターゲットシステム上の「ｕｎａｍｅ」システムコールから得ることが可能なターゲットシステムのカーネルバージョン識別で置換される（ステップＳ４０）。このバージョン識別修正はストリングテーブル寸法を変化させる場合がある（ステップＳ４１）。従って、ストリングテーブル寸法は再計算されることが必要な場合があり、且つＥＬＦヘッダーオフセットはストリングテーブル寸法における変化を反映するために修正される場合がある（ステップＳ４２）。
【００３１】
修正されたカーネルバージョンストリングは新たなカーネルモジュールとして書き出される（ステップＳ４３）。修正されたカーネルモジュールはターゲットシステム上のカーネル内へロードすることが可能である。
【００３２】
以下のソースコードは例示的なソフトウエアユーティリティに対するものである。
【００３３】
【表２】
2005523516.tif 000004
【００３４】
【表３】
2005523516.tif 000005
【００３５】
【表４】
2005523516.tif 000006
【００３６】
【表５】
2005523516.tif 000007
【００３７】
【表６】
2005523516.tif 000008
【００３８】
【表７】
2005523516.tif 000009
【００３９】
【表８】
2005523516.tif 000010
【００４０】
【表９】
2005523516.tif 000011
【００４１】
【表１０】
2005523516.tif 000012
【００４２】
【表１１】
2005523516.tif 000013
【００４３】
【表１２】
2005523516.tif 000014
【００４４】
【表１３】
2005523516.tif 000015
【００４５】
上の特定の実施例は例示的なものであり且つ本発明の精神又は特許請求の範囲から逸脱することなしにこれらの実施例に関して多くの変形を導入することが可能である。異なる例示的な実施例の要素及び／又は特徴は、この開示及び特許請求の範囲内において互いに結合させることが可能であり及び／又は互いに置換することが可能である。
【００４６】
例えば、上述した実施例においてはバージョン識別修正が記号テーブル修正に続いているが、モジュール情報修正がエラーチェック調節に先行することが可能である。別の例として、ソフトウエアユーティリティがターゲットシステム上でランすることが可能であるが、カーネルモジュール修正装置は、ターゲットシステムのカーネルバージョン識別が既知であり且つターゲットシステム上のカーネルのエラーチェック測度も使用可能である場合には、ターゲットシステム以外のシステム（少なくともプロセッサとプログラム格納装置とを具備）上でラン即ち稼動すべく適応させることが可能である。
【００４７】
２００２年４月１７日で出願した米国仮特許出願第６０／３７３，１２０号を読むことから付加的な変形例は当業者にとって自明なものであり、尚その仮特許出願の全体を引用により本明細書に導入する。
【図面の簡単な説明】
【００４８】
【図１】本発明の１実施例に基づくカーネルモジュール修正装置を示したブロック図。
【図２】ターゲットシステム上のカーネルとは異なる別のカーネルバージョンに対応するコンパイルしたカーネルモジュールをターゲットシステム上のカーネルに対して適用させるための本発明の１実施例に基づく方法のフローチャート。
【図３】本発明の１実施例に基づいて別のリナックスカーネルバージョンに対応するコンパイルしたリナックスカーネルモジュールをターゲットシステム上のリナックスカーネルに対して適用させる方法のフローチャート。
【図４】本発明の１実施例に基づいて記号名を解析する方法を示したフローチャート。
【図１】
2005523516.tif 000016
【図２】
2005523516.tif 000017
【図３】
2005523516.tif 000018
【図４】
2005523516.tif 000019
【国際調査報告】
2005523516.tif 000020
2005523516.tif 000021
2005523516.tif 000022