【手続補正書】
【提出日】平成20年6月23日(2008.6.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
埋め込みシステムの動作を制御するための方法であって、
前記埋め込みシステムのプロセッサによって、当該埋め込みシステムの動作を制御するための１次カーネルを起動するステップと、
前記プロセッサによって、前記埋め込みシステムの動作を制御するための１次カーネルを補助し、前記埋め込みシステムの機能を拡張するための少なくとも１つの２次カーネルを起動するステップであって、前記少なくとも１つの２次カーネルが、前記１次カーネルの少なくとも部分的制御下にあるステップと、
前記プロセッサによって、前記１次カーネルおよび少なくとも１つの前記２次カーネルに対するプロセスの実行をスケジュールする共通スケジューラとしてスケジューラを実行するステップと、を含む方法。
【請求項２】
前記１次カーネルが、汎用オペレーティングシステムである、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの２次カーネルのうち少なくとも１つが、リアルタイム・オペレーティングシステムである、請求項１に記載の方法。
【請求項４】
前記１次カーネルが、前記少なくとも１つの２次カーネルのそれぞれより能力がある、請求項１に記載の方法。
【請求項５】
前記プロセッサによって、前記１次カーネルおよび少なくとも１つの前記２次カーネルに対する割り込みを処理する共通割り込みハンドラとして割り込みハンドラを実行するステップを更に含む、請求項１に記載の方法。
【請求項６】
前記プロセッサによって、前記１次カーネルのスケジューラと前記少なくとも１つの２次カーネルの１つ以上のスケジューラとの間でより能力のあるものを選択するステップを更に含む、請求項１に記載の方法。
【請求項７】
前記プロセッサによって、前記１次カーネルの割り込みハンドラと前記少なくとも１つの２次カーネルの１つ以上の割り込みハンドラとの間でより能力のあるものを選択するステップを更に含む、請求項５に記載の方法。
【請求項８】
前記選択するステップが、前記プロセッサが前記１次カーネルの割り込みを前記共通割り込みハンドラとして選択するか、又は前記１次カーネルのスケジューラを前記共通スケジューラとして選択することを含む、請求項６又は７に記載の方法。
【請求項９】
前記埋め込みシステムをブートすると、前記プロセッサが、前記１次カーネルを、前記少なくとも１つの２次カーネルの起動に先立って起動する、請求項１に記載の方法。
【請求項１０】
前記プロセッサが、前記少なくとも１つの２次カーネルのうち少なくとも１つを、前記１次カーネルのランタイム動的モジュールとして起動する、請求項１に記載の方法。
【請求項１１】
前記プロセッサによって一意のカーネル識別子を前記１次カーネルに割り当てるステップと、
前記１次カーネルに対して許可される前記割込みを決定する、少なくとも１つの割込みマスクレベルを前記１次カーネルに割り当てるステップと、を更に含む請求項５に記載の方法。
【請求項１２】
前記プロセッサによって、一意のカーネル識別子を前記少なくとも１つの２次カーネルに割り当てるステップと、
前記プロセッサによって、特定の２次カーネルに対して許可される前記割込みを決定する少なくとも１つの割込みマスクレベルを、少なくとも１つの２次カーネルに割り当てるステップと、を更に含む請求項５に記載の方法。
【請求項１３】
前記プロセッサによって、前記少なくとも１つの２次カーネルの少なくとも１つに対するフックを、前記共通スケジューラまたは前記共通割込みハンドラにインストールするステップを更に含む、請求項５に記載の方法。
【請求項１４】
前記プロセッサによって、プロセス実行制御を、現在アクティブのカーネルから次のアクティブカーネルに切り替えるタスクを実行するステップであって、前記次のアクティブカーネルが、前記少なくとも１つの２次カーネルのうちの１つであるステップを更に含む、請求項１に記載の方法。
【請求項１５】
前記プロセス実行制御タスクは周期タスクであり、前記プロセッサが、前記１次カーネルを実行しながら、前記少なくとも１つの２次カーネルを前記次のアクティブカーネルとして、２次カーネル・ポーリング優先順位スキームに従ってポーリングによって決定するステップであって、前記次にアクティブな２次カーネルは少なくとも１つの実行すべき保留プロセスを有する最も高い優先順位の２次カーネルであり、前記プロセス実行制御が、前記最高優先順位の２次カーネルの前記少なくとも１つの保留プロセスの少なくとも一部分の完了の後に、前記１次カーネルに戻されるステップを更に含む、請求項１４に記載の方法。
【請求項１６】
前記プロセッサによって、前記共通割込みハンドラを呼び出すステップであって、前記共通割込みハンドラは、その後、少なくとも１つのカーネル非依存割込み処理機能を実行し、次いでプロセス実行制御を、前記割込みに関連付けられたターゲットカーネルの割込みサービスルーチンに渡すステップを更に含む、請求項１に記載の方法。
【請求項１７】
前記ターゲットカーネルは、前記少なくとも１つの２次カーネルのマスクレベルによって決定される、請求項１２に記載の方法。
【請求項１８】
前記プロセッサによって、前記共通スケジューラを呼び出すステップと、
前記プロセッサによって、どのカーネルが現在実行中のカーネルであるかを決定するステップと、
前記プロセッサによって、プロセス実行制御を、前記現在実行中のカーネルに転送するステップと、
前記プロセッサによって、少なくとも１つのカーネル特定スケジューリング機能を前記現在実行中のカーネルに対して実行するステップとを更に含む、請求項４に記載の方法。
【請求項１９】
前記１次カーネルが、プロセス実行制御を、前記少なくとも１つの２次カーネルのうちの１つに渡し、それによって、前記少なくとも１つの２次カーネルのうちの１つが、アクティブカーネルになるステップと、
前記１次カーネルが、その割込みマスクレベルを、前記アクティブカーネルになった２次カーネルの受け取ったプロセス実行制御を反映するように変更するステップと、
前記１次カーネルが、現在実行中のカーネル識別コードを、前記アクティブカーネルとして実行制御を受け取った２次カーネルを識別する識別コードに変更するステップとを更に含む、請求項１２に記載の方法。
【請求項２０】
前記プロセッサによって、前記１次カーネルと前記少なくとも１つの２次カーネルの間のリソース共有のためのアプリケーション・プログラム・インターフェース（ＡＰＩ）をインストールするステップを更に含む、請求項１に記載の方法。
【請求項２１】
マルチカーネル環境における複数のカーネル間でシステムリソースを共有するための方法であって、
プロセッサによって、前記マルチカーネル環境から１次カーネルを選択するステップと、
前記プロセッサによって、前記１次カーネルを起動するステップと、
前記プロセッサによって、少なくとも１つの２次カーネルを追加するステップであって、前記少なくとも１つの２次カーネルは、前記１次カーネルの少なくとも部分的制御下にあるステップと、
前記プロセッサによって、前記１次カーネルと、前記少なくとも１つの２次カーネルとの間でのシステムリソース共有のためのアプリケーション・プログラム・インターフェース（ＡＰＩ）をインストールするステップであって、前記第１のカーネルには、前記少なくとも１つの第２のカーネルに対する適切なダミーＡＰＩコールが提供されるステップと、を含む方法。
【請求項２２】
前記少なくとも１つの２次カーネルが前記１次カーネルからの前記ダミーＡＰＩコールによってアクティブ化されると、前記少なくとも１つの２次カーネルは、前記ダミーＡＰＩコールを、実ＡＰＩコールで置き換えるステップを更に含む、請求項２１に記載の方法。
【請求項２３】
前記１次カーネルからの前記実ＡＰＩコールがあると、前記少なくとも１つの２次カーネルの特定のシステム機能を実行し、それによって、前記１次カーネルにおいて前記少なくとも１つの２次カーネルのリソースを使用可能にするステップを更に含む、請求項２２に記載の方法。
【請求項２４】
複数のカーネルを含む１つ以上の不揮発性記憶装置と、プロセッサからなる埋め込みシステムであって、
前記プロセッサが、
前記複数のカーネルから、１次カーネルを選択し、
前記１次カーネルを起動し、
前記複数のカーネルの少なくとも他の１つを、２次カーネルとして選択して起動し、当該２次カーネルが、少なくとも部分的に前記１次カーネルの制御下にあり、
前記１次カーネルおよび前記少なくとも１つの２次カーネルに対するプロセスの動作をスケジュールする共通スケジューラとして、スケジューラを稼働する、
ように構成されていることを特徴とするシステム。
【請求項２５】
前記プロセッサが更に、前記１次カーネルおよび前記２次カーネルの間で資源を共有するためのアプリケーション・プログラム・インターフェース（ＡＰＩ）をインストールするように構成されていることを特徴とする、請求項２４記載の埋め込みシステム。
【請求項２６】
前記１次カーネルが、汎用オペレーティングシステムであり得ることを特徴とする、請求項２４記載の埋め込みシステム。
【請求項２７】
前記２次カーネルが、リアルタイム・オペレーティングシステムであり得ることを特徴とする、請求項２４記載の埋め込みシステム。
【請求項２８】
前記プロセッサが更に、前記１次カーネルおよび前記２次カーネルに対する割り込みを処理する共通割り込みハンドラとして、割り込みハンドラを稼働するように構成されていることを特徴とする、請求項２４記載の埋め込みシステム。
【請求項２９】
前記プロセッサが、アプリケーション特定集積回路、複合プログラマブル論理装置、又はフィールドプログラム可能ゲートアレイである、請求項２４記載の埋め込みシステム。
【請求項３０】
前記プロセッサが、もっとも望ましい能力を有する複数のカーネルの中から共通割り込みハンドラを選択するように構成されていることを特徴とする、請求項２８記載の埋め込みシステム。
【請求項３１】
前記プロセッサが更に、
前記１次カーネルに一意のカーネル識別子を割り当て、
前記１次カーネルに対して許された割り込みを決定する、少なくとも１つの割り込みマスクレベルを前記１次カーネルに割り当て、
前記少なくとも１つの２次カーネルに一意のカーネル識別子を割り当て、
前記２次カーネルの特定のものに許された割り込みを決定する、少なくとも１つの割り込みマスクレベルを前記少なくとも１つの２次カーネルに割り当てる、
ように構成されていることを特徴とする、請求項２８記載の埋め込みシステム。
【請求項３２】
前記プロセッサが更に、プロセス実行制御を現在のアクティブカーネルから次のアクティブカーネルへスイッチするタスクを実行するように構成されており、前記次のアクティブカーネルが、前記２次カーネルのうちの１つであることを特徴とする請求項２４記載の埋め込みシステム。
【請求項３３】
前記プロセス実行制御タスクが周期タスクであり、前記次のアクティブカーネルが、２次カーネルのポーリング優先順位スキームに従って、ポーリングによって決定され、最高優先順位の２次カーネルに対する前記複数の２次カーネルが少なくとも１つの実行を保留されたプロセスを有し、前記少なくとも１つの２次カーネルにおける前記保留されたプロセスの少なくとも１部が完了した後に、前記１次カーネルへプロセス実行制御が転送されることを特徴とする請求項３２記載の埋め込みシステム。
【請求項３４】
前記プロセッサが更に、前記共通割り込みハンドラを呼び出すように構成されており、前記共通割り込みハンドラが、その後少なくとも１つのカーネル非依存割り込み処理機能を実行し、プロセス実行制御を当該割り込みに関連するターゲットカーネルの割り込みサービスルーチンへ渡すことを特徴とする請求項３１記載の埋め込みシステム。
【請求項３５】
前記プロセッサが更に、前記少なくとも１つの２次カーネルのマスクレベルによって、ターゲットカーネルを決定するように構成されていることを特徴とする請求項３４記載の埋め込みシステム。
【請求項３６】
単一の集積回路に配置されていることを特徴とする請求項３４記載の埋め込みシステム。