(57)【要約】  安定性やセキュリティレベルを考慮して実行する処理内容に応じて実行環境を柔軟に構築するため、マルチプロセッサシステムは、ＣＰＵ割当ての決定に際し、ＣＰＵ割当てを判断する実行環境主制御手段１０と、実行環境主制御手段１０の指示に従って、実行環境の起動・停止・切替を制御し、実行環境主制御手段１０との同期をとる実行環境副制御手段２０と、ＣＰＵ４又は実行環境１００毎の共有資源の管理情報や参照拒否情報を入力し、実行環境主制御手段１０と実行環境副制御手段２０ａ〜２０ｎ又は、実行環境副制御手段２０ａＡ〜２０ｎをそれぞれ分離する実行環境管理手段３０とを含む。
2008062647.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵと、前記ＣＰＵ上で実行される複数のＯＳを搭載し、
前記ＣＰＵと前記ＯＳを組み合わせた少なくとも一つの実行環境を、システム上で実行する処理に応じて形成することを特徴とするマルチプロセッサシステム。
【請求項２】
システム上で実行する処理に応じて当該実行環境の切り替え制御を行う制御手段を備えることを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項３】
前記複数のＯＳの少なくとも一つがマルチプロセッサＯＳであり、
システム上で実行する処理のうち、システムに予め搭載されている基本処理を前記マルチプロセッサＯＳ上で実行し、
システム上で実行する処理のうち、システム上で任意に追加又は削除される追加処理を他のＯＳ上で実行することを特徴とする請求項１又は請求項２に記載のマルチプロセッサシステム。
【請求項４】
前記制御手段は、
前記基本処理を実行する基本処理用実行環境を形成する前記ＣＰＵの割り当てを行い、
前記追加処理が存在する場合に前記追加処理を実行する追加処理用実行環境を形成する前記ＣＰＵの割り当てを行うことを特徴とする請求項３に記載のマルチプロセッサシステム。
【請求項５】
前記制御手段は、
前記マルチプロセッサＯＳ上で動作し、前記基本処理用実行環境と前記追加処理用実行環境における前記ＣＰＵの割り当てを行い、前記基本処理用実行環境における前記基本処理の実行を制御すると共に、前記実行環境間における処理の干渉を制御する主制御手段と、
前記他のＯＳ上で動作し、前記主制御手段からの通知により前記追加処理用実行環境における前記追加処理の実行を制御する副制御手段と
から構成されることを特徴とする請求項４に記載のマルチプロセッサシステム。
【請求項６】
前記主制御手段は、前記追加処理用実行環境下の前記副制御手段から前記追加処理の実行状況に関するコンテンツ情報を受信し、受信した前記副制御手段からのコンテンツ情報に基づいて前記実行環境間における処理の干渉を制御することを特徴とする請求項５に記載のマルチプロセッサシステム。
【請求項７】
前記基本処理用実行環境と前記追加処理用実行環境毎のメモリを含むシステムの共有資源に対する割り当て状態に基づいて、前記各実行環境による前記共有資源の利用を管理する実行環境管理手段を備える
ことを特徴とする請求項４から請求項６の何れか１項に記載のマルチプロセッサシステム。
【請求項８】
前記実行環境管理手段は、
前記基本動作用実行環境と前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリを含むシステムの共有資源に対する前記実行環境の割り当て情報を、管理情報として保持することを特徴とする請求項７に記載のマルチプロセッサシステム。
【請求項９】
前記管理情報が、各実行環境を構成する各ＣＰＵ毎に、前記共有資源としてのメモリの占有領域を設定した情報であり、
前記実行環境管理手段は、前記ＣＰＵからの前記メモリへのアクセス要求に対して前記管理情報を参照し、前記ＣＰＵに対して前記アクセス要求に対する可否を出力するフィルタ手段を備えることを特徴とする請求項８に記載のマルチプロセッサシステム。
【請求項１０】
前記実行環境管理手段は、
前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリの占有領域を切り替えるトリガ条件と、切り替え後のメモリの占有領域をＣＰＵ切替情報として有し、
前記ＣＰＵについて前記トリガ条件が成立した場合に、前記ＣＰＵ切替情報から当該ＣＰＵのメモリの占有領域を読み出し、前記管理情報の対応するＣＰＵのメモリの占有領域を更新する切替手段を備えることを特徴とする請求項９に記載のマルチプロセッサシステム。
【請求項１１】
前記実行環境管理手段は、
前記基本動作用実行環境と前記追加処理用実行環境毎に、割り当てられた前記ＣＰＵの対応情報と、共有資源に対する割り当て情報を、管理情報として保持することを特徴とする請求項７に記載のマルチプロセッサシステム。
【請求項１２】
前記管理情報が、各実行環境毎に、前記共有資源としてのメモリの占有領域を設定した情報であり、
前記実行環境管理手段は、前記各実行環境からの前記メモリへのアクセス要求に対して前記管理情報を参照し、前記実行環境に対して前記アクセス要求に対する可否を出力するフィルタ手段を備えることを特徴とする請求項８に記載のマルチプロセッサシステム。
【請求項１３】
前記フィルタ手段は、前記アクセス要求を拒否する場合に、前記アクセス要求のアクセスアドレスをシステムに存在しないアドレスに変換し、前記アクセス要求を出力することを特徴とする請求項９又は請求項１２に記載のマルチプロセッサシステム。
【請求項１４】
前記実行環境管理手段は、
前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、割り当てる実行環境を切り替えるトリガ条件と、切り替え後の実行環境を実行環境切替情報として有し、
前記ＣＰＵについて前記トリガ条件が成立した場合に、前記ＣＰＵ切替情報から当該ＣＰＵのメモリの占有領域を読み出し、前記管理情報の対応するＣＰＵのメモリの占有領域を更新する切替手段を備えることを特徴とする請求項１２に記載のマルチプロセッサシステム。
【請求項１５】
前記トリガ条件が、前記追加処理において前記ＣＰＵからアクセスされる最終アドレスであることを特徴とする請求項１０又は請求項１４に記載のマルチプロセッサシステム。
【請求項１６】
前記主制御手段が、
前記実行環境の切り替えに応じて、前記実行環境管理手段の前記管理情報を更新することを特徴とする請求項７から請求項１０の何れか１項に記載のマルチプロセッサシステム。
【請求項１７】
前記メモリが、前記基本動作用実行環境と前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリを含むシステムの共有資源に対する前記実行環境の割り当て情報をメモリ格納管理情報として保持し、
前記主制御手段が、
前記基本処理のアプリケーション若しくは前記ＯＳからの要求に基づいて参照した前記メモリ格納管理情報に従って命令を生成し、当該命令が実行された後に前記メモリ格納管理情報を更新する実行環境スケジュール手段と、
前記実行環境スケジュール手段から通知された当該命令を前記ＯＳに対して実行させるＯＳ主連携手段と、
前記命令が実行された後の前記実行環境管理手段の設定情報を前記実行環境管理手段に対して設定する実行環境主管理同期手段と
を備えることを特徴とする請求項８から請求項１６の何れか１項に記載のマルチプロセッサシステム。
【請求項１８】
前記実行環境スケジュール手段が生成する命令はＣＰＵ制御命令を含むことを特徴とする請求項１７に記載のマルチプロセッサシステム。
【請求項１９】
前記実行環境スケジュール手段が生成する命令はＣＰＵ制御命令及び前記コンテンツ情報の保存命令を含み、
前記ＯＳ主連携手段は、保存された前記コンテンツ情報を取得して前記実行環境スケジュール手段に渡し、
前記実行環境スケジュール手段は、前記コンテンツ情報に基づいて、当該命令が実行された後に前記メモリ格納管理情報を更新することを特徴とする請求項１７に記載のマルチプロセッサシステム。
【請求項２０】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、実行環境主管理同期手段に対して切り替え後の前記実行環境管理手段の設定情報を通知し、
前記ＯＳ主連携手段は、前記ＯＳから、動作中の当該ＯＳの前記コンテンツ情報を取得して前記実行環境スケジュール手段に渡し、前記命令が実行された後に、前記実行環境スケジュール手段から通知された切り替え先の前記コンテンツ情報を設定し、
前記実行環境主管理同期手段は、前記実行環境管理手段に対し、切り替え後の前記実行環境管理手段の設定情報を設定することを特徴とする請求項１７から請求項１９の何れか１項に記載のマルチプロセッサシステム。
【請求項２１】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対してＣＰＵ制御命令を通知し、前記実行環境主管理同期手段に対してＣＰＵ制御後の前記実行環境管理手段の設定情報を通知し、ＣＰＵ制御後に前記管理情報を更新し、
前記実行環境主管理同期手段は、前記実行環境管理手段に対し、ＣＰＵ制御後の前記実行環境管理手段の設定情報を設定し、
前記ＯＳ主連携手段は、前記設定情報が設定された後に、前記実行環境スケジュール手段からの当該ＣＰＵ制御命令を前記ＯＳに対して実行させることを特徴とする請求項１８又は請求項１９に記載のマルチプロセッサシステム。
【請求項２２】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対してＣＰＵ制御命令及び前回の前記コンテンツ情報の設定命令を通知し、実行環境主管理同期手段に対してＣＰＵ制御後の前記実行環境管理手段の設定情報を通知し、ＣＰＵ制御後に前記管理情報を更新し、
前記実行環境主管理同期手段は、前記実行環境管理手段に対し、ＣＰＵ制御後の前記実行環境管理手段の設定情報を設定し、
前記ＯＳ主連携手段は、前記設定情報が設定された後に、前記実行環境スケジュール手段からの当該ＣＰＵ制御命令及び前記前回のコンテンツ情報の設定命令を前記ＯＳに対して実行させることを特徴とする請求項１８又は請求項１９に記載のマルチプロセッサシステム。
【請求項２３】
前記副制御手段が、
前記ＯＳ主連携手段から前記実行環境スケジュール手段の当該命令を通知され、当該命令を前記他のＯＳに対して実行させるＯＳ副連携手段と、
当該命令が実行されたことを前記実行環境主管理同期手段に通知する実行環境副管理同期手段と
を備えることを特徴とする請求項１７から請求項２２の何れか１項に記載のマルチプロセッサシステム。
【請求項２４】
前記実行環境スケジュール手段が生成する命令は、前記他のＯＳの実行を制御するＯＳ制御命令を含むことを特徴とする請求項２３に記載のマルチプロセッサシステム。
【請求項２５】
前記実行環境スケジュール手段が生成する命令は前記他のＯＳを制御するＯＳ制御命令及び前記他のＯＳの前記コンテンツ情報の保存命令を含み、
前記ＯＳ副連携手段は、保存された前記他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携手段に渡し、
前記ＯＳ主連携手段は、当該コンテンツ情報を前記実行環境スケジュール手段に渡し、
前記実行環境スケジュール手段は、当該コンテンツ情報に基づいて、前記管理情報を更新することを特徴とする請求項２３に記載のマルチプロセッサシステム。
【請求項２６】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して他のＣＰＵ上の前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、実行環境主管理同期手段に対して切り替え後の前記実行環境管理手段の設定情報を通知し、前記命令が実行された後に、動作中の当該他のＯＳの前記コンテンツ情報に基づいて前記管理情報を更新し、
前記ＯＳ副連携手段は、前記ＯＳ主連携手段から通知された当該他の前記実行環境の切り替え制御命令及び当該切り替え先の前記コンテンツ情報に基づいて、当該他のＯＳから、動作中の当該他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携手段に渡し、前記実行環境管理手段で前記設定情報が設定された後に、切り替え先の前記コンテンツ情報を設定し、
前記ＯＳ主連携手段は、前記実行環境スケジュール手段に対して動作中の当該他のＯＳの前記コンテンツ情報を渡し、
前記実行環境主管理同期手段は、前記命令が実行された後に、前記実行環境管理手段に対して切り替え後の前記実行環境管理手段の設定情報を設定することを特徴とする請求項２３に記載のマルチプロセッサシステム。
【請求項２７】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して他のＣＰＵを制御するＣＰＵ制御命令を通知し、前記実行環境主管理同期手段に対して他のＣＰＵ制御後の前記実行環境管理手段の設定情報を通知し、前記実行環境管理手段で前記設定情報が設定された後に前記管理情報を更新し、
前記実行環境主管理同期手段は、前記実行環境管理手段に対し、他のＣＰＵ制御後の前記実行環境管理手段の設定情報を設定し、
前記ＯＳ主連携手段は、前記設定情報が設定された後に、前記ＯＳ副連携手段に対して他のＣＰＵを制御するＣＰＵ制御命令を通知することを特徴とする請求項２３に記載のマルチプロセッサシステム。
【請求項２８】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して他のＣＰＵ制御命令及び前回の前記コンテンツ情報設定命令を通知し、実行環境主管理同期手段に対して他のＣＰＵ制御後の前記実行環境管理手段の設定情報を通知し、前記実行環境管理手段で前記設定情報が設定された後に前記管理情報を更新し、
前記実行環境主管理同期手段は、前記実行環境管理手段に対し、他のＣＰＵ制御後の前記実行環境管理手段の設定情報を設定し、
前記ＯＳ主連携手段は、前記設定情報が設定された後に、前記ＯＳ副連携手段に対して他のＣＰＵを制御するＣＰＵ制御命令及び前回の前記コンテンツ情報を通知することを特徴とする請求項２３に記載のマルチプロセッサシステム。
【請求項２９】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して前記他のＣＰＵ上の前記実行環境の前記副制御手段制御命令を通知し、前記実行環境主管理同期手段に対して前記副制御手段制御後の前記実行環境管理手段の設定情報を通知し、前記実行環境主管理同期手段による当該設定情報の設定後に前記管理情報を更新し、
前記ＯＳ主連携手段は、前記管理情報の更新後に、前記副制御手段制御命令に基づいて前記他のＣＰＵを制御することを特徴とする請求項２３から請求項２８の何れか１項に記載のマルチプロセッサシステム。
【請求項３０】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して他のＣＰＵ上の前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、前記実行環境主管理同期手段に対して当該他のＣＰＵ制御後の前記実行環境管理手段の設定情報を通知し、前記ＯＳ主連携手段から渡された動作中の当該他のＯＳの前記コンテンツ情報に基づいて前記管理情報を更新し、
前記ＯＳ副連携手段は、前記ＯＳ主連携手段から通知された当該切り替え制御命令及び当該切り替え先の前記コンテンツ情報に基づいて、当該他のＯＳから、動作中の当該他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携手段に渡し、当該切り替え制御命令が実行された後に、切り替え先の前記コンテンツ情報を設定し、
前記ＯＳ主連携手段は、前記実行環境スケジュール手段に対して動作中の当該他のＯＳの前記コンテンツ情報を渡すことを特徴とする請求項２３から請求項２９の何れか１項に記載のマルチプロセッサシステム。
【請求項３１】
前記主制御手段が、前記実行環境の切り替えに際し、他のＣＰＵ上のＯＳ停止処理及び前記コンテンツ情報の保存処理を行い、当該他のＣＰＵ上の前記ＯＳ副連携手段を再起動させることを特徴とする請求項２３から請求項３０の何れか１項に記載のマルチプロセッサシステム。
【請求項３２】
前記ＯＳ副連携手段は、前記追加処理の前記他のＯＳからの要求を前記ＯＳ主連携手段に通知し、
前記ＯＳ主連携手段は、当該要求を前記実行環境スケジュール手段に対して通知することを特徴とする請求項２３から請求項２９の何れか１項に記載のマルチプロセッサシステム。
【請求項３３】
前記副制御手段が、
前記追加処理のアプリケーション若しくは前記他のＯＳからの要求を受理して参照した前記管理情報に基づいて、当該要求のスケジューリングの可否を判定し、スケジューリングできない場合に当該要求を前記ＯＳ副連携手段に通知する同一実行環境スケジュール手段を備えることを特徴とする請求項３２に記載のマルチプロセッサシステム。
【請求項３４】
前記副制御手段が、
前記追加処理のアプリケーション若しくは前記他のＯＳからの前記実行環境切り替え制御命令を受理して参照した前記管理情報に基づいて、当該命令のスケジューリングの可否を判定し、スケジューリングできる場合に、前記ＯＳ副連携手段に対して当該命令及び切り替え先の前記コンテンツ情報を通知し、前記ＯＳ副連携手段から通知された前記他のＯＳから受理した動作中の前記他のＯＳの前記コンテンツ情報に基づいて、切り替え後の前記実行環境管理手段の設定情報が前記実行環境管理手段で設定された後に、前記管理情報を更新する同一実行環境スケジュール手段を備え、
前記ＯＳ副連携手段は、当該通知後に前記他のＯＳから受理した動作中の前記他のＯＳの前記コンテンツ情報を前記同一実行環境スケジュール手段に渡し、前記設定情報が設定された後に、切り替え先の前記コンテンツ情報を設定し、
前記実行環境副管理同期手段は、前記実行環境管理手段に対し、切り替え後の前記実行環境管理手段の設定情報を設定することを特徴とする請求項２３から請求項２９の何れか１項に記載のマルチプロセッサシステム。
【請求項３５】
前記実行環境主管理同期手段は、前記実行環境の停止処理において、前記実行環境副管理同期手段が前記共有資源に記載した値が所定の値の場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとることを特徴とする請求項２２から請求項３２の何れか１項に記載のマルチプロセッサシステム。
【請求項３６】
前記実行環境主管理同期手段は、前記実行環境の停止処理において、前記実行環境副管理同期手段が送信した割り込み要求を受信した場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとることを特徴とする請求項２３から請求項２９の何れか１項に記載のマルチプロセッサシステム。
【請求項３７】
前記実行環境主管理同期手段は、前記実行環境の停止処理において、前記実行環境副管理同期手段との間でバリア同期が達成されている場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとることを特徴とする請求項２３から請求項２９の何れか１項に記載のマルチプロセッサシステム。
【請求項３８】
前記実行環境の切り替え制御において、
前記実行環境主管理同期手段は、前記実行環境副管理同期手段が前記共有資源に記載した値が第１の所定の値の場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとり、
前記実行環境副管理同期手段は、前記実行環境管理手段の設定後に、前記実行環境主管理同期手段が前記共有資源に記載した値が第２の所定の値の場合に前記実行環境を切り替えることによって前記実行環境主管理同期手段と同期をとることを特徴とする請求項２３から請求項３５の何れか１項に記載のマルチプロセッサシステム。
【請求項３９】
前記実行環境の切り替え制御において、
前記実行環境主管理同期手段は、前記実行環境副管理同期手段が送信した割り込み要求を受信した場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとり、
前記実行環境副管理同期手段は、前記実行環境管理手段の設定後に、前記実行環境主管理同期手段が送信した割り込み要求を受信した場合に前記実行環境を切り替えることによって前記実行環境主管理同期手段と同期をとることを特徴とする請求項２３から請求項３４及び請求項３６の何れか１項に記載のマルチプロセッサシステム。
【請求項４０】
前記実行環境の切り替え制御において、
前記実行環境主管理同期手段は、前記実行環境副管理同期手段との間でバリア同期が達成されている場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとり、
前記実行環境副管理同期手段は、前記実行環境管理手段の設定後に、前記実行環境主管理同期手段との間でバリア同期が達成されている場合に前記実行環境を切り替えることによって前記実行環境主管理同期手段と同期をとることを特徴とする請求項２３から請求項３４及び請求項３７の何れか１項に記載のマルチプロセッサシステム。
【請求項４１】
前記マルチプロセッサシステムが、対称型マルチプロセッサシステムであり、前記マルチプロセッサＯＳが、対照型マルチプロセッサＯＳであることを特徴とする請求項１から請求項４０に記載のマルチプロセッサシステム。
【請求項４２】
前記システム上で実行する処理のうち、信頼度が最も高い第１の処理を前記マルチプロセッサＯＳ上で実行し、前記システム上で実行する処理のうち、前記第１の処理とは相対的に信頼度の低い処理を他のＯＳ上で実行し、前記制御手段は、前記システム上で実行する処理の信頼度のレベルに応じて前記ＣＰＵの割り当てを行うことを特徴とする請求項４から請求項４１の何れか１項に記載のマルチプロセッサシステム。
【請求項４３】
前記フィルタ手段は、プログラムの実行状況に応じてアクセス可否を行うことを特徴とする請求項１２に記載のマルチプロセッサシステム。
【請求項４４】
複数のＣＰＵを搭載するマルチプロセッサシステムにおけるシステム構成方法において、
複数のＯＳを実行可能に搭載したシステム上で、前記複数のＣＰＵと前記複数のＯＳを任意に組み合わせて少なくとも一つの実行環境を形成するステップと、
前記システム上で実行する処理に応じて当該実行環境の切り替え制御を行う制御ステップを有することを特徴とするマルチプロセッサシステムにおけるシステム構成方法。
【請求項４５】
前記複数のＯＳの少なくとも一つがマルチプロセッサＯＳであり、
前記システム上で実行する処理のうち、前記システムに予め搭載されている基本処理を前記マルチプロセッサＯＳ上で実行するステップと、
前記システム上で実行する処理のうち、システム上で任意に追加又は削除される追加処理を他のＯＳ上で実行するステップを有することを特徴とする請求項４４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項４６】
前記制御ステップにおいて、
前記基本処理を実行する基本処理用実行環境を形成する前記ＣＰＵの割り当てを行い、
前記追加処理が存在する場合に前記追加処理を実行する追加処理用実行環境を形成する前記ＣＰＵの割り当てを行うことを特徴とする請求項４５に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項４７】
前記制御ステップにおいて、
前記マルチプロセッサＯＳ上で動作し、前記基本処理用実行環境と前記追加処理用実行環境における前記ＣＰＵの割り当てを行い、前記基本処理用実行環境における前記基本処理の実行を制御すると共に、前記実行環境間における処理の干渉を制御する主制御ステップと、
前記他のＯＳ上で動作し、前記主制御手段からの通知により前記追加処理用実行環境における前記追加処理の実行を制御する副制御ステップと
を有することを特徴とする請求項４６記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項４８】
前記主制御制御ステップにおいて、
前記追加処理用実行環境下の前記副制御手段から前記追加処理の実行状況に関するコンテンツ情報を受信し、受信した前記副制御手段からのコンテンツ情報に基づいて前記実行環境間における処理の干渉を制御することを特徴とする請求項４７に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項４９】
前記基本処理用実行環境と前記追加処理用実行環境毎のメモリを含むシステムの共有資源に対する割り当て状態に基づいて、前記各実行環境による前記共有資源の利用を管理する実行環境管理ステップを有する
ことを特徴とする請求項４６から請求項４８の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５０】
前記実行環境管理ステップにおいて、
前記基本動作用実行環境と前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリを含むシステムの共有資源に対する前記実行環境の割り当て情報を、各実行環境を構成する各ＣＰＵ毎に、前記共有資源としてのメモリの占有領域を設定した管理情報として保持し、前記ＣＰＵからの前記メモリへのアクセス要求に対して前記管理情報を参照し、前記ＣＰＵに対して前記アクセス要求に対する可否を出力するフィルタステップを有することを特徴とする請求項４９に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５１】
前記フィルタステップは、前記アクセス要求を拒否する場合に、前記アクセス要求のアクセスアドレスをシステムに存在しないアドレスに変換し、前記アクセス要求を出力することを特徴とする請求項５０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５２】
前記実行環境管理ステップにおいて、
前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリの占有領域を切り替えるトリガ条件と、切り替え後のメモリの占有領域をＣＰＵ切替情報として有し、
前記ＣＰＵについて前記トリガ条件が成立した場合に、前記ＣＰＵ切替情報から当該ＣＰＵのメモリの占有領域を読み出し、前記管理情報の対応するＣＰＵのメモリの占有領域を更新する切替ステップを有することを特徴とする請求項５０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５３】
前記実行環境管理ステップにおいて、
前記基本動作用実行環境と前記追加処理用実行環境毎に、割り当てられた前記ＣＰＵの対応情報と、共有資源に対する割り当て情報を、管理情報として保持することを特徴とする請求項４９に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５４】
前記管理情報が、各実行環境毎に、前記共有資源としてのメモリの占有領域を設定した情報であり、
前記実行環境管理ステップにおいて、前記各実行環境からの前記メモリへのアクセス要求に対して前記管理情報を参照し、前記実行環境に対して前記アクセス要求に対する可否を出力するフィルタステップを有することを特徴とする請求項５０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５５】
前記実行環境管理ステップにおいて、
前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、割り当てる実行環境を切り替えるトリガ条件と、切り替え後の実行環境を実行環境切替情報として有し、
前記ＣＰＵについて前記トリガ条件が成立した場合に、前記ＣＰＵ切替情報から当該ＣＰＵのメモリの占有領域を読み出し、前記管理情報の対応するＣＰＵのメモリの占有領域を更新する切替ステップを有することを特徴とする請求項５４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５６】
前記追加処理において、前記トリガ条件に基づいて、前記ＣＰＵから最終アドレスにアクセスすることを特徴とする請求項５０又は請求項５５に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５７】
前記主制御ステップにおいて、
前記実行環境の切り替えに応じて、前記実行環境管理ステップで前記管理情報を更新することを特徴とする請求項４９から請求項５２の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５８】
前記メモリにおいて、
前記基本動作用実行環境と前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリを含むシステムの共有資源に対する前記実行環境の割り当て情報をメモリ格納管理情報として保持するステップを有し、
前記主制御ステップにおいて、
前記基本処理のアプリケーション若しくは前記ＯＳからの要求に基づいて参照した前記メモリ格納管理情報に従って命令を生成し、当該命令が実行された後に前記メモリ格納管理情報を更新する実行環境スケジュールステップと、
前記実行環境スケジュールステップによって通知された当該命令を前記ＯＳに対して実行させるＯＳ主連携ステップと、
前記命令が実行された後の設定情報を前記実行環境管理ステップにおいて設定させる実行環境主管理同期ステップと
を有することを特徴とする請求項５０から請求項５７の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５９】
前記実行環境スケジュールステップにおいて生成する命令はＣＰＵ制御命令を含むことを特徴とする請求項５８に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６０】
前記実行環境スケジュールステップにおいて生成する命令はＣＰＵ制御命令及び前記コンテンツ情報の保存命令を含み、
前記ＯＳ主連携ステップにおいて、保存された前記コンテンツ情報を取得して前記実行環境スケジュールステップに渡し、
前記実行環境スケジュールステップにおいて、前記コンテンツ情報に基づいて、当該命令が実行された後に前記メモリ格納管理情報を更新することを特徴とする請求項５８に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６１】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、実行環境主管理同期ステップに対して切り替え後の設定情報を通知し、
前記ＯＳ主連携ステップにおいて、前記ＯＳから、動作中の当該ＯＳの前記コンテンツ情報を取得して前記実行環境スケジュールステップに渡し、前記命令が実行された後に、前記実行環境スケジュールステップによって通知された切り替え先の前記コンテンツ情報を設定し、
前記実行環境主管理同期ステップにおいて、前記実行環境管理ステップによって、切り替え後の設定情報を設定させることを特徴とする請求項５８から請求項６０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６２】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対してＣＰＵ制御命令を通知し、前記実行環境主管理同期ステップに対してＣＰＵ制御後の設定情報を通知し、ＣＰＵ制御後に前記管理情報を更新し、
前記実行環境主管理同期ステップにおいて、前記実行環境管理ステップによって、ＣＰＵ制御後の設定情報を設定させ、
前記ＯＳ主連携ステップにおいて、前記設定情報が設定された後に、前記実行環境スケジュールステップによる当該ＣＰＵ制御命令を前記ＯＳに対して実行させることを特徴とする請求項５９又は請求項６０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６３】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対してＣＰＵ制御命令及び前回の前記コンテンツ情報の設定命令を通知し、実行環境主管理同期ステップに対してＣＰＵ制御後の設定情報を通知し、ＣＰＵ制御後に前記メモリ格納管理情報を更新し、
前記実行環境主管理同期ステップにおいて、前記実行環境管理ステップによって、ＣＰＵ制御後の設定情報を設定させ、
前記ＯＳ主連携ステップにおいて、前記設定情報が設定された後に、前記実行環境スケジュールステップからの当該ＣＰＵ制御命令及び前記前回のコンテンツ情報の設定命令を前記ＯＳに対して実行させることを特徴とする請求項５９又は請求項６０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６４】
前記副制御ステップにおいて、
前記ＯＳ主連携ステップにより前記実行環境スケジュールステップによる当該命令を通知され、当該命令を前記他のＯＳに対して実行させるＯＳ副連携ステップと、
当該命令が実行されたことを前記実行環境主管理同期ステップに通知する実行環境副管理同期ステップと
を有することを特徴とする請求項５８から請求項６３の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６５】
前記実行環境スケジュールステップで生成する命令は、前記他のＯＳの実行を制御するＯＳ制御命令を含むことを特徴とする請求項６４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６６】
前記実行環境スケジュールステップで生成する命令は前記他のＯＳを制御するＯＳ制御命令及び前記他のＯＳの前記コンテンツ情報の保存命令を含み、
前記ＯＳ副連携ステップにおいて、保存された前記他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携手段に渡し、
前記ＯＳ主連携ステップにおいて、当該コンテンツ情報を前記実行環境スケジュールステップに渡し、
前記実行環境スケジュールステップにおいて、当該コンテンツ情報に基づいて、前記管理情報を更新することを特徴とする請求項６４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６７】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して他のＣＰＵ上の前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、実行環境主管理同期ステップに対して切り替え後の設定情報を通知し、前記命令が実行された後に、動作中の当該他のＯＳの前記コンテンツ情報に基づいて前記メモリ格納管理情報を更新し、
前記ＯＳ副連携ステップにおいて、前記ＯＳ主連携ステップによって通知された当該他の実行環境の切り替え制御命令及び当該切り替え先の前記コンテンツ情報に基づいて、当該他のＯＳから、動作中の当該他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携ステップに渡し、前記実行環境管理ステップで前記設定情報が設定された後に、切り替え先の前記コンテンツ情報を設定し、
前記ＯＳ主連携ステップにおいて、前記実行環境スケジュールステップに対して動作中の当該他のＯＳの前記コンテンツ情報を渡し、
前記実行環境主管理同期ステップにおいて、前記命令が実行された後に、前記実行環境管理ステップに対して切り替え後の設定情報を設定することを特徴とする請求項６４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６８】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して他のＣＰＵを制御させるＣＰＵ制御命令を通知し、前記実行環境主管理同期ステップに対して他のＣＰＵ制御後の設定情報を通知し、前記実行環境管理ステップで前記設定情報が設定された後に前記管理情報を更新し、
前記実行環境主管理同期ステップにおいて、前記実行環境管理ステップに対し、他のＣＰＵ制御後の設定情報を設定し、
前記ＯＳ主連携ステップにおいて、前記設定情報が設定された後に、前記ＯＳ副連携ステップに対して他のＣＰＵを制御するＣＰＵ制御命令を通知することを特徴とする請求項６４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６９】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して他のＣＰＵ制御命令及び前回の前記コンテンツ情報設定命令を通知し、実行環境主管理同期ステップに対して他のＣＰＵ制御後の設定情報を通知し、前記実行環境管理ステップで前記設定情報が設定された後に前記管理情報を更新し、
前記実行環境主管理同期ステップにおいて、前記実行環境管理ステップに対し、他のＣＰＵ制御後の設定情報を設定し、
前記ＯＳ主連携ステップにおいて、前記設定情報が設定された後に、前記ＯＳ副連携ステップに対して他のＣＰＵを制御するＣＰＵ制御命令及び前回の前記コンテンツ情報を通知することを特徴とする請求項６４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７０】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して前記他のＣＰＵ上の前記実行環境の前記副制御ステップ制御命令を通知し、前記実行環境主管理同期ステップに対して前記副制御ステップ制御後の設定情報を通知し、前記実行環境主管理同期ステップによる当該設定情報の設定後に前記管理情報を更新し、
前記ＯＳ主連携ステップにおいて、前記管理情報の更新後に、前記副制御ステップ制御命令に基づいて前記他のＣＰＵを制御することを特徴とする請求項６４から請求項６９の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７１】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して他のＣＰＵ上の前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、前記実行環境主管理同期ステップに対して当該他のＣＰＵ制御後の設定情報を通知し、前記ＯＳ主連携ステップにより渡された動作中の当該他のＯＳの前記コンテンツ情報に基づいて前記管理情報を更新し、
前記ＯＳ副連携ステップにおいて、前記ＯＳ主連携ステップにより通知された当該切り替え制御命令及び当該切り替え先の前記コンテンツ情報に基づいて、当該他のＯＳから、動作中の当該他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携ステップに渡し、当該切り替え制御命令が実行された後に、切り替え先の前記コンテンツ情報を設定し、
前記ＯＳ主連携ステップにおいて、前記実行環境スケジュールステップに対して動作中の当該他のＯＳの前記コンテンツ情報を渡すことを特徴とする請求項６４から請求項７０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７２】
前記主制御ステップにおいて、前記実行環境の切り替えに際し、他のＣＰＵ上のＯＳ停止処理及び前記コンテンツ情報の保存処理を行い、当該他のＣＰＵを再起動させることを特徴とする請求項６４から請求項７１の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７３】
前記ＯＳ副連携ステップにおいて、前記追加処理の前記他のＯＳからの要求を前記ＯＳ主連携ステップに通知し、
前記ＯＳ主連携ステップにおいて、当該要求を前記実行環境スケジュール手ステップに対して通知することを特徴とする請求項６４から請求項７０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７４】
前記副制御ステップにおいて、
前記追加処理のアプリケーション若しくは前記他のＯＳからの要求を受理して参照した前記管理情報に基づいて、当該要求のスケジューリングの可否を判定し、スケジューリングできない場合に当該要求を前記ＯＳ副連携ステップに通知する同一実行環境スケジュールステップを有することを特徴とする請求項７３に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７５】
前記副制御ステップにおいて、
前記追加処理のアプリケーション若しくは前記他のＯＳからの前記実行環境切り替え制御命令を受理して参照した前記管理情報に基づいて、当該命令のスケジューリングの可否を判定し、スケジューリングできる場合に、前記ＯＳ副連携ステップに対して当該命令及び切り替え先の前記コンテンツ情報を通知し、前記ＯＳ副連携ステップにより通知された前記他のＯＳから受理した動作中の前記他のＯＳの前記コンテンツ情報に基づいて、切り替え後の設定情報が前記実行環境管理ステップで設定された後に、前記メモリ格納管理情報を更新する同一実行環境スケジュール手段を備え、
前記ＯＳ副連携手段は、当該通知後に前記他のＯＳから受理した動作中の前記他のＯＳの前記コンテンツ情報を前記同一実行環境スケジュールステップに渡し、前記設定情報が設定された後に、切り替え先の前記コンテンツ情報を設定し、
前記実行環境副管理同期ステップにおいて、前記実行環境管理ステップに対し、切り替え後の設定情報を設定することを特徴とする請求項６４から請求項７０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７６】
前記実行環境主管理同期ステップにおいて、前記実行環境の停止処理において、前記実行環境副管理同期ステップにより前記共有資源に記載した値が所定の値の場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとることを特徴とする請求項７０から請求項７５の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７７】
前記実行環境主管理同期ステップにおいて、前記実行環境の停止処理において、前記実行環境副管理同期ステップにより送信した割り込み要求を受信した場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとることを特徴とする請求項６４から請求項７０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７８】
前記実行環境主管理同期ステップにおいて、前記実行環境の停止処理において、前記実行環境副管理同期ステップとの間でバリア同期が達成されている場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとることを特徴とする請求項６４から請求項７０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７９】
前記実行環境の切り替え制御において、
前記実行環境主管理同期ステップにおいて、前記実行環境副管理同期ステップにより前記共有資源に記載した値が第１の所定の値の場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとり、
前記実行環境副管理同期ステップにおいて、前記実行環境管理ステップの設定後に、前記実行環境主管理同期ステップにより前記共有資源に記載した値が第２の所定の値の場合に前記実行環境を切り替えることによって前記実行環境主管理同期ステップと同期をとることを特徴とする請求項６４から請求項７６の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項８０】
前記実行環境の切り替え制御において、
前記実行環境主管理同期ステップにおいて、前記実行環境副管理同期ステップにより送信した割り込み要求を受信した場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとり、
前記実行環境副管理同期ステップにおいて、前記実行環境管理ステップの設定後に、前記実行環境主管理同期ステップにより送信した割り込み要求を受信した場合に前記実行環境を切り替えることによって前記実行環境主管理同期ステップと同期をとることを特徴とする請求項６４から請求項７５及び請求項７７の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項８１】
前記実行環境の切り替え制御において、
前記実行環境主管理同期ステップにおいて、前記実行環境副管理同期ステップとの間でバリア同期が達成されている場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとり、
前記実行環境副管理同期ステップにおいて、前記実行環境管理ステップの設定後に、前記実行環境主管理同期ステップとの間でバリア同期が達成されている場合に前記実行環境を切り替えることによって前記実行環境主管理同期ステップと同期をとることを特徴とする請求項６４から請求項７５及び請求項７８の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項８２】
前記フィルタステップにおいて、プログラムの実行状況に応じてアクセス可否を行うことを特徴とする請求項５０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項８３】
複数のＣＰＵを搭載するマルチプロセッサシステムにおける実行環境を構成するためのプログラムであって、
前記ＣＰＵに、
複数のＯＳを実行可能に搭載したシステム上で、前記複数のＣＰＵと前記複数のＯＳを任意に組み合わせて少なくとも一つの実行環境を形成させる処理と、
前記システム上で実行する処理に応じて当該実行環境の切り替え制御を行う切り替え処理を実行させることを特徴とするプログラム。
【請求項８４】
前記複数のＯＳの少なくとも一つがマルチプロセッサＯＳであり、
前記ＣＰＵに、
前記システム上で実行する処理のうち、前記システムに予め搭載されている基本処理を前記マルチプロセッサＯＳ上で実行させ、
前記システム上で実行する処理のうち、前記システム上で任意に追加又は削除される追加処理を他のＯＳ上で実行させることを特徴とする請求項８３に記載のプログラム。
【請求項８５】
前記切り替え処理において、
前記基本処理を実行する基本処理用実行環境を形成する前記ＣＰＵの割り当てを行い、
前記追加処理が存在する場合に前記追加処理を実行する追加処理用実行環境を形成する前記ＣＰＵの割り当てを行うことを特徴とする請求項８４に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサシステムに関し、特に、セキュリティレベルを考慮して処理単位の実行環境を構築することを可能にするマルチプロセッサシステム、マルチプロセッサシステムにおけるシステム構成方法及びそのプログラムに関するものである。
【背景技術】
【０００２】
マルチプロセッサ上でマルチプロセッサ用のＯＳを動作させるマルチプロセッサシステムである、例えば、対称型マルチプロセッサ（ＳＭＰ：Ｓｙｍｍｅｔｒｉｃ  Ｍｕｌｔｉｐｌｅ  Ｐｒｏｃｅｓｓｏｒ）上で対照型マルチプロセッサＯＳ（ＳＭＰ  ＯＳ）を実行するマルチプロセッサシステムにおいては、複数のＣＰＵが互いに同等な立場でアプリケーションの処理を分担するといった構成がとられており、ＳＭＰ  ＯＳの元でＣＰＵの負荷状態に応じて実行する処理とＣＰＵの組み合わせからなる実行環境の構成変更を行うことにより、効率的な処理を実現している。【０００３】
このようなマルチプロセッサシステムとしては、例えば、関連文献１（特開２００２−２７８７７８号公報）に開示されるシステムが存在する。【０００４】
関連文献１のマルチプロセッサシステムでは、ある一定時間内に実行された全プロセス（処理）について、プロセスを特定の１個のＣＰＵで実行すべきか否か決定し、プロセスを特定の１個のＣＰＵで実行すべきであると決定されたプロセス数の、全プロセス数に対する割合が閾値を上回った場合、全てのプロセスについて全スレッドを特定の１個のＣＰＵで実行すべきであると決定し、これにより、オーバーヘッドの原因である、スレッドの実行における順番の管理、各ＣＰＵが内蔵するキャッシュメモリと主記憶の同期合わせ、主記憶や入出力のための排他利用管理処理を解消するものである。
【特許文献１】特開２００２−２７８７７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した関連のマルチプロセッサシステムにおいては、以下に述べるような問題点があった。【０００６】
まず、関連文献１等に記載されるシステムでは、複数のＣＰＵが互いに同等な立場でアプリケーションの複数の処理を分担し、ＣＰＵの負荷状態を条件として実行環境（ＣＰＵと処理の組み合わせ）の構成変更を行うだけであるので、処理毎に安定性やセキュリティレベルを変えた実行環境を構築することができないといった問題があった。【０００７】
例えば、アプリケーションの本来的な処理（基本処理）と、基本処理に伴って実行され、任意に追加又は削除される付随的な処理（追加処理）を実行する場合、基本処理を実行する実行環境と、追加処理を実行する実行環境とを安定性やセキュリティレベルを考慮して（基本処理の実行環境の安定性及びセキュリティレベルを高くして）構築するといったことが不可能であった。【０００８】
具体的には、安定性の要求度合いが異なる複数の処理を同時に実行する場合、高い安定性が要求される処理とそれ以外の処理とを異なる実行環境の下で実行するといった環境の構築ができないという不都合があった。【０００９】
なお、ＳＭＰ  ＯＳを搭載するマルチプロセッサシステム以外のシステムにおいても上述した課題を同様に抱えている。【００１０】
本発明の目的は、上記課題を解決するためになされたものであり、安定性やセキュリティレベルを考慮して実行する処理内容に応じて実行環境を柔軟に構築することができるマルチプロセッサシステム、マルチプロセッサシステムにおけるシステム構成方法及びそのプログラムを提案することにある。【００１１】
また、本発明の他の目的は、各処理内容に応じた実行環境の切り替え（構成変更）を高速に実現することを可能にするマルチプロセッサシステム、マルチプロセッサシステムにおけるシステム構成方法及びそのプログラムを提案することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するため本発明は、複数のＣＰＵと、前記ＣＰＵ上で実行される複数のＯＳを搭載し、前記ＣＰＵと前記ＯＳを組み合わせた少なくとも一つの実行環境を、システム上で実行する処理に応じて形成する。
【発明の効果】
【００１３】
本発明によれば、システム上で実行する処理毎に安定性やセキュリティレベルを変えた実行環境を構築することができるという効果が達成される。【００１４】
その理由は、複数のＣＰＵと、当該ＣＰＵ上で実行される複数のＯＳを搭載し、当該ＣＰＵと当該ＯＳを組み合わせた少なくとも一つの実行環境を、システム上で実行する処理に応じて形成することで、処理に応じた多様な実行環境を形成することができるためのである。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明のマルチプロセッサシステムの概略を説明する遷移図である。
【図２】図２は、本発明の第１の実施の形態によるマルチプロセッサシステムの構成を示すブロック図である。
【図３】図３は、本発明の特徴的な構成である実行環境主制御手段、実行環境副制御手段、実行環境管理手段の相互関係の概略を示す図である。
【図４】図４は、第１の実施の形態による記憶装置の論理アドレスを説明する図である。
【図５】図５は、第１の実施の形態によるＲＡＭ上のＣＰＵベースの実行環境情報を説明する図である。
【図６】図６は、第１の実施の形態によるＲＡＭ上の実行環境ベースの実行環境情報を説明する図である。
【図７】図７は、第１の実施の形態によるＣＰＵのコンテキストの構成を示す図である。
【図８】図８は、第１の実施の形態による実行環境主制御手段の構成を示すブロック図である。
【図９】図９は、第１の実施の形態による実行環境副制御手段の構成を示すブロック図である。
【図１０】図１０は、第１の実施の形態による実行環境主制御手段と実行環境副制御手段との接続関係を示すブロック図である。
【図１１】図１１は、第１の実施の形態による実行環境管理手段の構成をＣＰＵベースで説明するブロック図である。
【図１２】図１２は、第１の実施の形態によるＣＰＵ管理データの構成を説明する図である。
【図１３】図１３は、第１の実施の形態による実行環境管理手段のデータ更新機能を説明する図である。
【図１４】図１４は、第１の実施の形態による実行環境管理手段のアクセス許可機能を説明する図である。
【図１５】図１５は、第１の実施の形態による実行環境管理手段のアクセス拒否機能を説明する図である。
【図１６】図１６は、第１の実施の形態による実行環境管理手段の構成を実行環境ベースで説明するブロック図である。
【図１７】図１７は、第１の実施の形態による実行環境管理データ記憶装置の実行環境対応情報を説明する図である。
【図１８】図１８は、第１の実施の形態による実行環境管理データの構成を説明する図である。
【図１９】図１９は、第１の実施の形態による実行環境管理手段のデータ更新機能を説明する図である。
【図２０】図２０は、第１の実施の形態による実行環境管理手段のアクセス許可機能を説明する図である。
【図２１】図２１は、第１の実施の形態による実行環境管理手段のアクセス拒否機能を説明する図である。
【図２２】図２２は、第２の実施の形態による切替え後のマルチプロセッサシステムの構成を示すブロック図である。
【図２３】図２３は、本実施の形態によるマルチプロセッサシステムのハードウェア構成を示すブロック図である。
【図２４】図２４は、第１の実施の形態による実行環境停止処理を共有メモリベース同期に基づいて説明する図である。
【図２５】図２５は、第１の実施の形態による実行環境停止処理を割込みベース同期に基づいて説明する図である。
【図２６】図２６は、第１の実施の形態による実行環境停止処理をバリア同期に基づいて説明する図である。
【図２７】図２７は、第１の実施の形態による実行環境切替え処理を共有メモリベース同期に基づいて説明する図である。
【図２８】図２８は、第１の実施の形態による実行環境切替え処理を割込みベース同期に基づいて説明する図である。
【図２９】図２９は、第１の実施の形態による実行環境切替え処理をバリア同期に基づいて説明する図である。
【図３０】図３０は、第１の実施の形態によるマルチプロセッサシステムのＣＰＵ４−０の動作概略を説明する図である。
【図３１】図３１は、第１の実施の形態によるマルチプロセッサシステムのＣＰＵ４−１〜４−ｎの動作概略を説明する図である。
【図３２】図３２は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図３３】図３３は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図３４】図３４は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図３５】図３５は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図３６】図３６は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図３７】図３７は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図３８】図３８は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図３９】図３９は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図４０】図４０は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図４１】図４１は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図４２】図４２は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図４３】図４３は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図４４】図４４は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図４５】図４５は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図４６】図４６は、第１の実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。
【図４７】図４７は、第１の実施の形態による実行環境主制御手段の主実行環境内ＣＰＵ停止処理（自動切換え機能無し）を説明する図である。
【図４８】図４８は、第１の実施の形態による実行環境主制御手段の主実行環境内ＣＰＵ停止処理及びコンテキスト保存処理（自動切換え機能無し）を説明する図である。
【図４９】図４９は、第１の実施の形態による実行環境主制御手段の主実行環境内切替処理（自動切換え機能無し）を説明する図である。
【図５０】図５０は、第１の実施の形態による実行環境主制御手段の初期状態の主実行環境内のＣＰＵ追加処理（自動切換え機能無し）を説明する図である。
【図５１】図５１は、第１の実施の形態による実行環境主制御手段のコンテキスト設定付き主実行環境内のＣＰＵ追加処理（自動切換え機能無し）を説明する図である。
【図５２】図５２は、第１の実施の形態による実行環境主制御手段及び実行環境副制御手段の別ＣＰＵ上のＯＳ停止処理（自動切換え機能無し）を説明する図である。
【図５３】図５３は、第１の実施の形態による実行環境主制御手段及び実行環境副制御手段の別ＣＰＵ上のＯＳ停止処理及びコンテキスト保存処理（自動切換え機能無し）を説明する図である。
【図５４】図５４は、第１の実施の形態による実行環境主制御手段及び実行環境副制御手段の別ＣＰＵ上の実行環境切替処理（自動切換え機能無し）を説明する図である。
【図５５】図５５は、第１の実施の形態による実行環境主制御手段及び実行環境副制御手段の初期状態の別ＣＰＵ上のＯＳ起動処理（自動切換え機能無し）を説明する図である。
【図５６】図５６は、第１の実施の形態による実行環境主制御手段及び実行環境副制御手段のコンテキスト設定付き別ＣＰＵ上のＯＳ起動処理（自動切換え機能無し）を説明する図である。
【図５７】図５７は、第１の実施の形態による実行環境主制御手段及び実行環境副制御手段の実行環境副制御手段からの切替処理（自動切換え機能無し）を説明する図である。
【図５８】図５８は、第１の実施の形態による実行環境主制御手段の別ＣＰＵ上の実行環境副制御手段停止処理（自動切換え機能無し）を説明する図である。
【図５９】図５９は、第１の実施の形態による実行環境主制御手段の別ＣＰＵ上の実行環境副制御手段起動処理（自動切換え機能無し）を説明する図である。
【図６０】図６０は、本発明の第２の実施の形態による実行環境管理手段の構成をＣＰＵベースで説明するブロック図である。
【図６１】図６１は、第２の実施の形態による自動ＣＰＵ切替データの構成を説明する図である。
【図６２】図６２は、第２の実施の形態による実行環境管理手段のデータ更新機能を説明する図である。
【図６３】図６３は、第２の実施の形態による実行環境管理手段のリード（Ｒ）アクセスでの自動切替機能を説明する図である。
【図６４】図６４は、第２の実施の形態による実行環境管理手段のライト（Ｗ）アクセスでの自動切替機能を説明する図である。
【図６５】図６５は、第２の実施の形態による切替え後のＣＰＵ管理データの構成を説明する図である。
【図６６】図６６は、第２の実施の形態による実行環境管理手段の構成を実行環境ベースで説明するブロック図である。
【図６７】図６７は、第２の実施の形態による自動実行環境切替データの構成を説明する図である。
【図６８】図６８は、第２の実施の形態による実行環境管理手段のデータ更新機能を説明する図である。
【図６９】図６９は、第２の実施の形態による実行環境管理手段のリード（Ｒ）アクセスでの自動切替機能を説明する図である。
【図７０】図７０は、第２の実施の形態による実行環境管理手段のライト（Ｗ）アクセスでの自動切替機能を説明する図である。
【図７１】図７１は、第２の実施の形態による実行環境切替え機能（自動切換え機能有り）を説明する図である。
【図７２】図７２は、第２の実施の形態による実行環境主制御手段及び実行環境副制御手段の別ＣＰＵ上の実行環境切替処理（自動切換え機能有り）を説明する図である。
【図７３】図７３は、第２の実施の形態による切替え後のマルチプロセッサシステムの構成を示すブロック図である。
【図７４】図７４は、本発明の第３の実施の形態による実行環境副制御手段の構成を示すブロック図である。
【図７５】図７５は、第３の実施の形態による実行環境副制御手段の同一信頼度実行環境切替処理（自動切換え機能無し）を説明する図である。
【図７６】図７６は、第３の実施の形態による実行環境主制御手段及び実行環境副制御手段の同一実行環境スケジュール手段からの切替処理（自動切換え機能無し）を説明する図である。
【図７７】図７７は、本発明の第４の実施の形態によるマルチプロセッサシステムの構成を示すブロック図である。
【図７８】図７８は、本発明の第５の実施の形態のマルチプロセッサシステムにおける一部の構成を示すブロック図である。
【図７９】図７９は、本発明の第５の実施の形態のマルチプロセッサシステムにおける一部の構成を示すブロック図である。
【図８０】図８０は、本発明の第６の実施の形態のマルチプロセッサシステムの構成を示すブロック図である。
【図８１】図８１は、本発明の実施例１のマルチプロセッサシステムの具体的動作例を示すフローチャートである。
【図８２】図８２は、本発明の一実施例による実行順序検査付き実行環境管理手段の構成を示す図である。
【図８３】図８３は、本発明の一実施例による実行順序検査記憶手段の構成を示す図である。
【図８４】図８４は、本発明の一実施例による実行順序検査付き実行環境管理手段の動作を説明する図である。
【図８５】図８５は、本発明の一実施例による実行順序検査付き実行環境管理手段の動作を説明する図である。
【図８６】図８６は、本発明の一実施例による実行順序検査付き実行環境管理手段の動作を説明する図である。
【図８７】図８７は、本発明の一実施例による実行順序検査付き実行環境管理手段の動作を説明する図である。
【図８８】図８８は、本発明の一実施例による実行順序検査付き実行環境管理手段の動作を説明する図である。
【図８９】図８９は、本発明の一実施例による実行順序検査付き実行環境管理手段の動作を説明する図である。
【図９０】図９０は、本発明の一実施例による実行順序検査付き実行環境管理手段の動作を説明する図である。
【符号の説明】
【００１６】
２：ＳＭＰ  ＯＳ
３、３Ａ〜３ｎ：ＯＳ
４、４−０〜４−ｎ、４−ｋ：ＣＰＵ
４１：ユーザ・スーパバイザ
４２：ハイパーバイザ
４３：記憶装置管理ユニット
５：記憶装置
５１：ＲＯＭ
５２：ＲＡＭ
５２１：
６：Ｉ／Ｏ装置
７：シングルＯＳ
８：アプリケーション
１０：実行環境主制御手段
１１：ＯＳ主連携手段
１２：実行環境主管理同期手段
１３：実行環境スケジュール手段
２０：実行環境副制御手段
２１：ＯＳ副連携手段
２２：実行環境管理同期副手段
２３：同一実行環境スケジュール手段
３０：実行環境管理手段
３１：ＣＰＵフィルタ手段
３２：ＣＰＵ管理データ記憶装置
３２１：ＣＰＵ管理データ
３３：自動ＣＰＵ切替手段
３４：自動ＣＰＵ切替データ記憶装置
３４１：自動ＣＰＵ切替データ
３５：実行環境フィルタ手段
３６：実行環境管理データ記憶装置
３６１：実行環境管理データ
３６２：実行環境対応情報
３７：自動実行環境切替手段
３８：自動実行環境切替データ
９０：コンテキスト
１００、１００−１〜１００−ｎ：実行環境
１１０：基本処理
１２０：追加処理
３００−１〜３００−ｎ：マルチプロセッサシステム
５０１：ＣＰＵ
５０２：主記憶部
５０３：通信制御部
５０４：インタフェース部
５０５：補助記憶部
５０６：システムバス
５０：実行順序検査付き実行環境管理手段
５１：実行順序検査手段
５２：実行順序検査記憶装置
【発明を実施するための最良の形態】
【００１７】
まず、図１に本発明によるマルチプロセッサシステムによる実行環境の切り替え（状態遷移）の仕組みを示す。【００１８】
図１を参照すると、本発明のマルチプロセッサシステムによれば、実行環境主制御手段１０を備えるＳＭＰ  ＯＳ２がＣＰＵ４−０及びＣＰＵ４−１上でアプリケーション（ＡＰ）８において基本的な処理である基本処理１１０を実行させる基本処理用実行環境１００−０のみの状態（構成）と、実行環境主制御手段１０を備えるＳＭＰ  ＯＳ２がＣＰＵ４−０上で基本処理１１０を実行させる基本処理用実行環境１００−０及び実行環境副制御手段２０を備えるＯＳ３がＣＰＵ４−１上で新たなアプリケーション８における追加処理１２０を実行させる追加処理用実行環境１００−１からなる状態（構成）との間で、各ＣＰＵの負荷、処理の安定性やセキュリティレベルに応じて構成状態を遷移させることを可能にする。【００１９】
なお、本実施の形態において、各基本処理１１０は、アプリケーション８において本来的（必須）に備えられる処理であり、信頼度（セキュリティレベル）が最も高い。各追加処理１２０は、アプリケーション８において基本処理１１０に付随して又は単独で追加又は削除される処理であり、信頼度（セキュリティレベル）は基本処理に比べると低いものである。このように各追加処理は、処理内容の違い、安定性やセキュリティなどの違いによって基本処理１１０と区別される。なお、セキュリティレベル（信頼度）とは、処理ごとに、あるセキュリティポリシーに従って段階ごとに付与されるものをいう。【００２０】
すなわち、図１は、基本処理のみ行う基本処理用実行環境１００−０を構築した構成状態（状態Ａ）と、基本処理を行う基本処理用実行環境１００−０と追加処理を行う追加処理用実行環境１００−１の複数の実行環境を構築した構成状態（状態Ｂ）との間の状態遷移を示している。【００２１】
なお、図１に示す状態遷移は、本発明によるマルチプロセッサシステムによる状態遷移のあくまで一例であって図示の内容に限定されないことは言うまでもない。【００２２】
（第１の実施の形態）
本発明の第１の実施の形態を図を用いて詳細に説明する。【００２３】
（第１の実施の形態の構成）
図２は、本発明の第１の実施の形態によるマルチプロセッサシステムの構成を示すブロック図である。【００２４】
図２を参照すると、本実施の形態によるマルチプロセッサシステムは、ＳＭＰ  ＯＳ２と、ＯＳ３と、実行環境主制御手段１０と、実行環境副制御手段２０ａ〜２０ｎと、ＣＰＵ４−０〜４−ｎと、実行環境管理手段３０と、記憶装置５と、Ｉ／Ｏ（Ｉｎ／Ｏｕｔ：入出力）装置６とを備える。ＳＭＰ  ＯＳ２は実行環境主制御手段１０及び実行環境副制御手段２０ａ〜２０ｎに接続し、ＯＳ３は実行環境副制御手段２０ａ〜２０ｎに接続し、実行環境主制御手段１０はＣＰＵ４−０〜４−ｎに接続し、実行環境副制御手段２０ａ〜２０ｎはＣＰＵ４−１〜４−ｎに接続し、ＣＰＵ４−０〜４−ｎ、共有資源である記憶装置５及びＩ／Ｏ装置６は実行環境管理手段３０に接続する。【００２５】
すなわち、本実施の形態によるマルチプロセッサシステムは、実行環境主制御手段１０が各ＣＰＵ４−０〜４−ｎを直接制御する。【００２６】
図３は、本願発明の特徴的な構成である実行環境主制御手段１０、実行環境副制御手段２０ａ〜２０ｎ、実行環境管理手段３０の相互関係の概略を示す図である。【００２７】
実行環境主制御手段１０は、基本処理用実行環境を実行する機能と、追加処理用実行環境を制御する機能と、ＣＰＵ４と実行環境の管理情報を実行環境管理手段３０に対して設定する機能と、実行環境管理情報又はコンテキスト情報（コンテキスト９０）を実行環境副制御手段２０との間でやりとりする機能と、実行環境管理手段３０よって実行環境同士が干渉されることを防止する機能とを有する。【００２８】
具体的には、実行環境主制御手段１０は、入力情報として、アプリケーションやＯＳ３からの起動／切替通知や、タイマや割込みといったイベント通知や、実行環境副制御手段２０からの切替通知を入力し、基本処理１１０用のＳＭＰ  ＯＳ２又はＯＳ３と共に動作し、又は、実行環境のＣＰＵ割当てを決定し、又は、実行環境の起動・停止・切替を制御し、又は、実行環境副制御手段２０及び実行環境管理手段３０と連携して正しい制御を保障し、場合により出力情報として、実行環境副制御手段２０に対して実行環境制御情報及びコンテキスト情報（コンテキスト９０）を出力する。【００２９】
例えば、実行環境主制御手段１０は、ＣＰＵ割当ての決定に際し、追加処理の信頼度（セキュリティレベル）や、ＣＰＵの信頼度（セキュリティレベル）や性能の違い、基本処理と追加処理の関連性や適合性等に基づいてＣＰＵ割当てを判断する。【００３０】
すなわち、実行環境主制御手段１０は、ＡＰ８やＯＳ３からの起動／切替通知として、例えば、実行環境１００−１を起動してほしいとの要求を受けると該当する実行環境１００−１を起動し、例えば、実行環境１００−３はもう必要ないとの通知を受けると、該当する実行環境１００−３を停止し、例えば、実行環境１００−２におけるあるアプリケーションと通信したいとの要求を受けると、該当する実行環境１００−２が動作中なら何もせず、停止中なら該当する実行環境１００−２を起動する。なお、起動する場合、ＣＰＵ以上の実行環境が動作することになるならば、最も動作時間の長い実行環境と切替えて実行環境１００−２を起動することが望ましい。【００３１】
さらに、実行環境主制御手段１０は、自発的要求として、例えば、タイマ割込みを受けた際にＣＰＵ以上の実行環境動作中の場合、停止中の実行環境のうち、実行時間の少ない実行環境（実行時間の少ない実行環境を選択するポリシは任意）へ動作中の実行環境を切替え、例えば、所定の外部割込みがきたら実行環境１００−４を起動又は停止する場合、所定の外部割込みがきたら該当する実行環境１００−４を起動又は停止する。なお、起動する場合、ＣＰＵ以上の実行環境が動作中ならば、当該実行環境と切替えて実行環境１００−４を起動することが望ましい。【００３２】
実行環境副制御手段２０は、実行環境主制御手段１０からの通知によって、追加処理用実行環境を制御する機能を有する。【００３３】
具体的には、実行環境副制御手段２０は、入力情報として、実行環境主制御手段１０からの実行環境制御情報及びコンテキスト情報（コンテキスト９０）を入力し、実行環境主制御手段１０の指示に従って、実行環境の起動・停止・切替を制御し、実行環境主制御手段１０との同期をとる。実行環境主制御手段１０との同期をとることによって切替前後の実行環境の分離が可能となる。また、実行環境副制御手段２０は、場合により出力情報として、実行環境主制御手段１０に対してエラー情報を出力する。【００３４】
実行環境管理手段３０は、実行環境主制御手段１０と実行環境副制御手段２０ａ〜２０ｎ又は、実行環境副制御手段２０ａ〜２０ｎをそれぞれ分離する機能を有する。具体的には、実行環境管理手段３０は、入力情報として、ＣＰＵ４又は実行環境毎の共有資源（記憶装置５、Ｉ／Ｏ装置６）の管理情報や参照拒否情報を入力し、入力情報に基づいて各ＣＰＵからの参照に対し、何もしないか、又は拒絶してエラー情報を返す。【００３５】
共有資源は、各処理ごとに、例えばアドレスに従って割り当てられており、基本処理１１０用領域、追加処理１２０用実行環境１００用領域、共有領域、実行環境情報領域ごとに予め決められたアドレスを有していてもよい。図４は、共有資源である記憶装置の論理アドレスを説明する図である。【００３６】
図４を参照すると、記憶装置５のＲＯＭ５１は、アドレス０ｘ００００００００〜０ｘ００７ＦＦＦＦＦの基本処理１１０用領域と、アドレス０ｘ００８０００００〜０ｘ００ＦＦＦＦＦＦの追加処理用実行環境１００−１用領域と、アドレス０ｘ０１００００００〜０ｘ０１７ＦＦＦＦＦの追加処理１２０用実行環境１００−２用領域と、アドレス０ｘ０１８０００００〜０ｘ０２００００００の追加処理１２０用実行環境１００−３用領域とを有し、また、記憶装置５のＲＡＭ５２は、アドレス０ｘ３０００００００〜０ｘ３０ＦＦＦＦＦＦの基本処理１１０用領域と、アドレス０ｘ３１００００００〜０ｘ３１ＦＦＦＦＦＦの追加処理１２０用実行環境１００−１用領域と、アドレス０ｘ３２００００００〜０ｘ３２ＦＦＦＦＦＦの追加処理１２０用実行環境１００−２用領域と、アドレス０ｘ３３００００００〜０ｘ３３ＦＦＦＦＦＦの追加処理１２０用実行環境１００−３用領域と、アドレス０ｘ３４００００００〜０ｘ３４ＦＦＦＦＦＦの共有領域と、アドレス０ｘ３５００００００〜０ｘ３６００００００の実行環境情報領域とを有する。【００３７】
図５及び図６は、ＲＡＭ上の実行環境情報を説明する図である。【００３８】
図５は、ＲＡＭ上のＣＰＵベースの実行環境情報を説明する図であり、図５（ａ）〜図５（ｄ）を参照すると、ＣＰＵベースの実行環境情報は、各実行環境１００−０〜１００−３を構成するＣＰＵ用のコンテキスト及びＣＰＵ管理データによって実行環境毎の動作状態を格納する。【００３９】
図６は、ＲＡＭ上の実行環境ベースの実行環境情報を説明する図であり、図６（ａ）〜図６（ｄ）を参照すると、実行環境ベースの実行環境情報は、各実行環境１００−０〜１００−３を構成するＣＰＵ用のコンテキスト及び各実行環境用の実行環境情報によって実行環境毎の動作状態を格納する。【００４０】
図７は、ＣＰＵ４−ｋのコンテキストの構成を示す図である。図７を参照すると、ＣＰＵ４−ｋのコンテキスト９０は、レジスタ＃０〜レジスタ＃１４、レジスタ＃１５（ＰＣ）、プロセッサ状態レジスタ及びプロセッサ制御レジスタを備え、例えば、動作中のＣＰＵ４−ｋのある指定された瞬間の記憶状態の全てが格納されている。【００４１】
ここで、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の構成を図を用いてさらに詳細に説明する。【００４２】
図８は、本実施の形態による実行環境主制御手段１０の構成を示すブロック図である。【００４３】
図８を参照すると、本実施の形態による実行環境主制御手段１０は、ＡＰ８／ＯＳ３及びＲＡＭに接続する実行環境スケジュール手段１３と、ＯＳ３、ＯＳ副連携手段２１（後述）及び実行環境スケジュール手段１３に接続するＯＳ主連携手段１１と、ＯＳ副連携手段２１、実行環境副管理同期手段２２、実行環境管理手段３０及び実行環境スケジュール手段１３に接続する実行環境主管理同期手段１２とを備える。【００４４】
実行環境スケジュール手段１３は、入力情報として、例えば、ＡＰ８／ＯＳ３から何らかの要求を受けると、ＲＡＭ５２上の実行環境情報を参照し、参照した実行環境情報に基づいて、ＯＳ主連携手段１１に対し、実行環境スケジュール手段１３自身が属する実行環境・そのＣＰＵ・そのＯＳの起動・停止・追加・切り替え等の制御命令や、実行環境スケジュール手段１３自身が属さない実行環境・そのＣＰＵ・そのＯＳの起動・停止・追加・切り替え等の制御命令を通知する機能と、ＯＳ主連携手段１１に対し、次に切り替わるべきコンテキストや前回のコンテキストの情報を通知する機能と、実行環境主管理同期手段１２に対し、当該制御命令によってＣＰＵなどが追加等された後の実行環境スケジュール手段１３の設定情報を通知する機能と、ＲＡＭ５２上の実行環境情報を更新する機能等を有する。【００４５】
ＯＳ主連携手段１１は、実行環境スケジュール手段１３から受けた制御命令を実行する機能及び当該制御命令をＯＳ副連携手段２１（後述）に通知する機能と、ＯＳ３対して前回のコンテキストや切り替え先のコンテキストの情報を設定する機能と、動作中のＯＳ３のコンテキストを取得して実行環境スケジュール手段１３に対して渡す機能と、ＯＳ副連携手段２１（後述）から受けた制御命令を実行する機能等を有する。【００４６】
実行環境主管理同期手段１２は、実行環境スケジュール手段１３が通知された設定情報を実行環境スケジュール手段１３に対して設定する機能と、当該設定が終了したことを実行環境スケジュール手段１３やＯＳ主連携手段１１に対して通知する機能と、実行環境副管理同期手段２２（後述）との間で処理の同期をとる機能等を有する。【００４７】
図９は、本実施の形態による実行環境副制御手段２０の構成を示すブロック図である。【００４８】
図９を参照すると、本実施の形態による実行環境副制御手段２０は、ＯＳ３及びＯＳ主連携手段１１に接続するＯＳ副連携手段２１と、実行環境主管理同期手段１２及びＯＳ副連携手段２１に接続する実行環境副管理同期手段２２とを備える。【００４９】
ＯＳ副連携手段２１は、ＯＳ主連携手段１１から受けた制御命令を実行する機能と、命令が実行されたことを実行環境副管理同期手段２２に通知する機能と、ＯＳ副連携手段２１自身が属する実行環境のＯＳのコンテキストの情報を取得してＯＳ主連携手段１１に対して送付する機能と、ＯＳ主連携手段１１から送付された前回のコンテキストや切り替え先のコンテキストの情報をＯＳ副連携手段２１自身が属する実行環境のＯＳ３に対して設定する機能と、入力情報として、例えば、ＯＳ副連携手段２１自身が属する実行環境のＯＳ３から受けた何らかの要求をＯＳ主連携手段１１に対して通知する機能等を有する。【００５０】
実行環境副管理同期手段２２は、命令が実行されたことをＯＳ副連携手段２１から通知されると、当該命令が実行されたことを実行環境主管理同期手段１１に通知する等によって、実行環境主管理同期手段１１との間で処理の同期をとる機能等を有する。【００５１】
図１０は、本発明の第１の実施の形態による実行環境主制御手段１０と実行環境副制御手段２０との接続関係を示すブロック図である。【００５２】
ここで、本実施の形態による実行環境管理手段３０の構成を、（ａ）ＣＰＵベース、（ｂ）実行環境ベースによってさらに詳細に説明する。【００５３】
（（ａ）ＣＰＵベースの場合）
図１１〜図１５は、本実施の形態による実行環境管理手段３０の構成をＣＰＵベースで説明する図である。【００５４】
図１１は、本実施の形態による実行環境管理手段３０の構成をＣＰＵベースで説明するブロック図である。図１１を参照すると、実行環境管理手段３０は、システムバス及び周辺バスに接続するＣＰＵフィルタ手段３１と、システムバス及びＣＰＵフィルタ手段３１に接続するＣＰＵ管理データ記憶装置３２とを備える。【００５５】
ＣＰＵフィルタ手段３１は、システムバスを介してあるＣＰＵ４からのアクセス要求を受けると、ＣＰＵ管理データ記憶装置３２から読み出したＣＰＵ管理データ３２１（後述）に基づいて、当該アクセス要求の拒否を判定する機能を有する。【００５６】
ＣＰＵ管理データ記憶装置３２は、ＣＰＵ管理データ３２１を格納し、ＣＰＵ管理データ３２１の更新要求を実行する機能を有する。【００５７】
図１２は、本実施の形態によるＣＰＵ管理データ３２１の構成を説明する図である。図１２を参照すると、ＣＰＵ管理データ３２１は、ＣＰＵ４−０〜４−４毎に、割当てられた記憶装置５領域の始点・終点と、リード処理（Ｒ）及びライト処理（Ｗ）のうち許可される処理を示す許可ビットとが記載されたエントリによって構成されている。
次いで、本実施の形態のＣＰＵベースにおける実行環境管理手段３０の機能を説明する。【００５８】
（データ更新機能）
図１３は、本実施の形態による実行環境管理手段３０のデータ更新機能を説明する図である。図１３を参照すると、実行環境管理手段３０のデータ更新機能は、ステップＳ１において、ＣＰＵ管理データ３２１を更新する。なお、基本的には、基本処理実行中のＣＰＵのみがＣＰＵ管理データ３２１に触ることができる。ただし、所定のエントリに関しては、追加処理実行中のＣＰＵがＣＰＵ管理データ３２１に触ってもよい。【００５９】
（アクセス許可機能）
図１４は、本実施の形態による実行環境管理手段３０のアクセス許可機能を説明する図である。図１４を参照すると、実行環境管理手段３０のアクセス許可機能は、ＣＰＵフィルタ手段３１が、ステップＳ１において、任意のＣＰＵからのアクセスを受理し、ステップＳ２において、ＣＰＵ管理データ３２１を読み出し、ステップＳ３において、前記読み出したＣＰＵ管理データ３２１に基づいて、当該受理したアクセスの許否を判定し、当該受理したアクセスを許可する。【００６０】
（アクセス拒否機能）
図１５は、本実施の形態による実行環境管理手段３０のアクセス拒否機能を説明する図である。図１５を参照すると、実行環境管理手段３０のアクセス拒否機能は、ＣＰＵフィルタ手段３１が、ステップＳ１において、任意のＣＰＵからのアクセスを受理し、ステップＳ２において、ＣＰＵ管理データ３２１を読み出し、ステップＳ３において、前記読み出したＣＰＵ管理データ３２１に基づいて、当該受理したアクセスの許否を判定し、当該受理したアクセスを拒否する。タイミング制約が厳しい場合には、この回路で拒否するのではなく、あえてアクセスアドレスをシステムに存在しないアドレスに変換して、そして、別の回路でそのような拒否をさせてもよい。【００６１】
（（ｂ）実行環境ベースの場合）
図１６〜図２１は、本実施の形態による実行環境管理手段３０の構成を実行環境ベースで説明する図である。
図１６は、本実施の形態による実行環境管理手段３０の構成を実行環境ベースで説明するブロック図である。図１６を参照すると、実行環境管理手段３０は、システムバス及び周辺バスに接続する実行環境フィルタ手段３５と、システムバス及び実行環境フィルタ手段３５に接続する実行環境管理データ記憶装置３６とを備える。【００６２】
実行環境フィルタ手段３５は、システムバスを介してあるＣＰＵ４からのアクセス要求を受けると、実行環境管理データ記憶装置３６から読み出した実行環境管理データ３６１及び実行環境対応情報３６２（後述）に基づいて、当該アクセス要求の拒否を判定する機能を有する。【００６３】
実行環境管理データ記憶装置３６は、実行環境管理データ３６１及び実行環境対応情報３６２を格納し、実行環境管理データ３６１及び実行環境対応情報３６２の更新要求を実行する機能を有する。【００６４】
図１７は、本実施の形態による実行環境管理データ記憶装置３６の実行環境対応情報３６２を説明する図である。図１７を参照すると、実行環境対応情報３６２は、ＣＰＵ４−０〜４−４毎に、実行環境番号で示される実行環境１００−０〜１００−４が対応付けられている。より詳細には、ＣＰＵ４−０、４−１に実行環境１００−０が対応付けられ、ＣＰＵ４−２に実行環境１００−１が対応付けられ、ＣＰＵ４−３に実行環境１００−２が対応付けられ、ＣＰＵ４−３に実行環境１００−３が対応付けられている。【００６５】
図１８は、本実施の形態による実行環境管理データ３６１の構成を説明する図である。図１８を参照すると、実行環境管理データ３６１は、実行環境番号を示す実行環境１００−０〜１００−４毎に、割当てられた記憶装置５領域の始点・終点と、リード処理（Ｒ）及びライト処理（Ｗ）のうち許可される処理を示す許可ビットとが記載されたエントリによって構成されている。【００６６】
次いで、本実施の形態の実行環境ベースにおける実行環境管理手段３０の機能を説明する。【００６７】
（データ更新機能）
図１９は、本実施の形態による実行環境管理手段３０のデータ更新機能を説明する図である。図１９を参照すると、実行環境管理手段３０のデータ更新機能は、ステップＳ１において、実行環境管理データ３６１を更新する。なお、基本的には、基本処理実行中のＣＰＵのみが実行環境管理データ３６１に触れる。ただし、所定のエントリに関しては、追加処理実行中のＣＰＵ４が実行環境管理データ３６１に触ってもよい。【００６８】
（アクセス許可機能）
図２０は、本実施の形態による実行環境管理手段３０のアクセス許可機能を説明する図である。図２０を参照すると、実行環境管理手段３０のアクセス許可機能は、実行環境フィルタ手段３５が、ステップＳ１において、任意のＣＰＵからのアクセスを受理し、ステップＳ２において、実行環境管理データ３６１を読み出し、ステップＳ３において、前記読み出した実行環境管理データ３６１に基づいて、当該受理したアクセスの許否を判定し、当該受理したアクセスを許可する。【００６９】
（アクセス拒否機能）
図２１は、本実施の形態による実行環境管理手段３０のアクセス拒否機能を説明する図である。図２１を参照すると、実行環境管理手段３０のアクセス拒否機能は、実行環境フィルタ手段３５が、ステップＳ１において、任意のＣＰＵからのアクセスを受理し、ステップＳ２において、実行環境管理データ３６１を読み出し、ステップＳ３において、前記読み出した実行環境管理データ３６１に基づいて、当該受理したアクセスの許否を判定し、当該受理したアクセスを拒否する。タイミング制約が厳しい場合には、この回路で拒否するのではなく、あえてアクセスアドレスをシステムに存在しないアドレスに変換して、そして、別の回路でそのような拒否をさせてもよい。【００７０】
本実施の形態のＣＰＵベース又は実行環境ベースによる切り替え後のマルチプロセッサシステムの構成を図２２に示す。【００７１】
ここで、マルチプロセッサシステムのハードウェア構成の説明をする。【００７２】
図２３は、本実施の形態によるマルチプロセッサシステムのハードウェア構成を示すブロック図である。【００７３】
図２３を参照すると、本発明によるマルチプロセッサシステムは、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部５０２、インターネット等を介してデータの送受信を行う通信制御部５０３、周辺機器と接続してデータの送受信を行うインタフェース部５０４、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部５０５、本情報処理装置の上記各構成要素を相互に接続するシステムバス５０６等を備えている。【００７４】
本発明によるマルチプロセッサシステムは、その動作を、マルチプロセッサシステム内部にそのような機能を実現するプログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のＣＰＵ５０１で実行することにより、ソフトウェア的に実現することができる。【００７５】
すなわち、ＣＰＵ５０１（ＣＰＵ４、ＣＰＵ４−０〜４−ｎ、ＣＰＵ４−ｋ）は、補助記憶部５０５（記憶装置５）に格納されているプログラムを、主記憶部５０１（記憶装置５）にロードして実行し、マルチプロセッサシステムの動作を制御することにより、上述した各機能をソフトウェア的に実現する。【００７６】
（第１の実施の形態の動作）
図２４〜図５９は、本発明の第１の実施の形態によるマルチプロセッサシステムの動作を説明する図である。【００７７】
まず、本実施の形態による実行環境停止処理及び実行環境切替え処理を、（ａ）共有メモリベース同期、（ｂ）割込みベース同期、（ｃ）バリア同期に基づいて詳細に説明する。【００７８】
（実行環境停止処理）
実行停止処理は、実行環境副管理同期手段２２が属する実行環境を停止する処理である。【００７９】
（（ａ）共有メモリベース同期）
図２４は、本実施の形態による実行環境停止処理を共有メモリベース同期に基づいて説明する図である。【００８０】
図２４を参照すると、実行環境副管理同期手段２２が共有メモリである記憶装置５にある値（例えば“Ａ”）を書く（ステップＳ１０１）。実行環境主管理同期手段１２は、実行環境副管理同期手段２２によって共有メモリに値が書かれると、共有メモリの値が“Ａ”であるか否かを判定し（ステップＳ１０２）、共有メモリの値が“Ａ”である場合に実行環境管理手段３０を設定して（ステップＳ１０５）処理を継続し（ステップＳ１０６）、実行環境副管理同期手段２２が属する実行環境が停止する（ステップＳ１０７）。実行環境主管理同期手段１２は、共有メモリの値が“Ａ”でない場合において、共有メモリの値が“Ａ”でない場合が閾値回数以上判定されたときに（ステップＳ１０３）相手を強制的にリセットし（ステップＳ１０４）、閾値回数に達しないときに（ステップＳ１０３）共有メモリの値が“Ａ”であるか否かを再度判定する（ステップＳ１０２）。なお、実行環境副管理同期手段２２がループしていてもよい。【００８１】
（（ｂ）割込みベース同期）
図２５は、本実施の形態による実行環境停止処理を割込みベース同期に基づいて説明する図である。【００８２】
図２５を参照すると、実行環境副管理同期手段２２が割込み要求を送信すると（ステップＳ２０１）、実行環境主管理同期手段１２は、割込み要求の受信の有無を判定し（ステップＳ２０２）、割込み要求を受信した場合に実行環境管理手段３０を設定して（ステップＳ２０５）処理を継続し（ステップＳ２０６）、実行環境副管理同期手段２２が属する実行環境が停止する（ステップＳ２０７）。実行環境主管理同期手段１２は、割込み要求を受信していない場合において、受信していない状態が閾値時間以上経過したときに（ステップＳ２０３）相手を強制的にリセットし（ステップＳ２０４）、閾値時間に達しないときに（ステップＳ２０３）割込み要求の受信の有無を再度判定する（ステップＳ２０２）。なお、実行環境副管理同期手段２２がループしていてもよい。【００８３】
（（ｃ）バリア同期）
図２６は、本実施の形態による実行環境停止処理をバリア同期に基づいて説明する図である。【００８４】
図２６を参照すると、実行環境副管理同期手段２２は、実行環境主管理同期手段１２とバリア同期を行い（ステップＳ３０１）、バリア同期が達成されたか否かを判定し（ステップＳ３０２）、達成されていなければ再度判定し、達成されていれば実行環境を停止する（ステップＳ３０３）。実行環境主管理同期手段１２は、実行環境副管理同期手段２２とバリア同期を行い（ステップＳ３１１）、バリア同期が達成されたか否かを判定し（ステップＳ３１２）、達成されていれば実行環境管理手段３０を設定し（ステップＳ３１３）、処理を継続する（ステップＳ３１４）。実行環境副管理同期手段２２は、達成されていなければ、達成されていない状態が閾値時間以上経過しているか否かを判定し（ステップＳ３１５）、閾値時間以上経過しているときに相手を強制的にリセットし（ステップＳ３１６）、閾値時間に達しないときはバリア同期が達成されたか否かを再度判定する（ステップＳ３１２）。【００８５】
（実行環境切替え処理）
実行環境切替え処理は、実行環境主制御手段１０または実行環境副制御手段２０が属する実行環境を切り替える処理である。【００８６】
（（ａ）共有メモリベース同期）
図２７は、本実施の形態による実行環境切替え処理を共有メモリベース同期に基づいて説明する図である。【００８７】
図２７を参照すると、実行環境副管理同期手段２２が共有メモリにある値（例えば“Ａ”）を書く（ステップＳ４０１）。実行環境主管理同期手段１２は、実行環境副管理同期手段２２によって共有メモリに値が書かれると、共有メモリの値が“Ａ”であるか否かを判定し（ステップＳ４０２）、共有メモリの値が“Ａ”でない場合において、共有メモリの値が“Ａ”でない場合が閾値回数以上判定されたときに（ステップＳ４０３）相手を強制的にリセットし（ステップＳ４０４）、閾値回数に達しないときに共有メモリの値が“Ａ”であるか否かを再度判定し（ステップＳ４０２）、共有メモリの値が“Ａ”である場合に実行環境管理手段３０を設定し（ステップＳ４０５）、共有メモリにある値（例えば“Ｂ”）を書いて（ステップＳ４０６）処理を継続する（ステップＳ４０７）。実行環境副管理同期手段２２は、実行環境主管理同期手段１２によって共有メモリに値が書かれると、共有メモリの値が“Ｂ”であるか否かを判定し（ステップＳ４０８）、共有メモリの値が“Ｂ”でない場合に共有メモリの値が“Ｂ”であるか否かを再度判定し（ステップＳ４０８）、共有メモリの値が“Ｂ”である場合に実行環境を切り替える（ステップＳ４０９）。なお、実行環境副管理同期手段２２が先にループしていてもよい。【００８８】
（（ｂ）割込みベース同期）
図２８は、本実施の形態による実行環境切替え処理を割込みベース同期に基づいて説明する図である。【００８９】
図２８を参照すると、実行環境副管理同期手段２２が割込み要求を送信すると（ステップＳ５０１）、実行環境主管理同期手段１２は、割込み要求の受信の有無を判定し（ステップＳ５０２）、割込み要求を受信していない場合において、閾値時間以上のときに（ステップＳ５０３）相手を強制的にリセットし（ステップＳ５０４）、閾値時間に達しないときに割込み要求の受信の有無を再度判定し（ステップＳ５０２）、割込み要求を受信した場合に実行環境管理手段３０を設定して（ステップＳ５０５）割込み要求を送信して（ステップＳ５０６）処理を継続する（ステップＳ５０７）。実行環境副管理同期手段２２は、割込み要求の受信の有無を判定し（ステップＳ５０８）、割込み要求を受信していない場合に割込み要求の受信の有無を再度判定し（ステップＳ５０８）、割込み要求を受信した場合に実行環境を切り替える（ステップＳ５０９）。なお、実行環境副管理同期手段２２が先にループしていてもよい。【００９０】
（（ｃ）バリア同期）
図２９は、本実施の形態による実行環境切替え処理をバリア同期に基づいて説明する図である。【００９１】
図２９を参照すると、実行環境副管理同期手段２２は、実行環境主管理同期手段１２とバリア同期を行い（ステップＳ６０１）、バリア同期が達成されたか否かを判定し（ステップＳ６０２）、達成されていなければ再度判定し（ステップＳ６０２）、達成されていれば再度実行環境主管理同期手段１２とバリア同期を行い（ステップＳ６０３）、バリア同期が達成されたか否かを判定し（ステップＳ６０４）、達成されていなければ再度判定し（ステップＳ６０４）、達成されていれば実行環境を停止する（ステップＳ６０５）。実行環境主管理同期手段１２は、実行環境副管理同期手段２２とバリア同期を行い（ステップＳ６１１）、バリア同期が達成されたか否かを判定し（ステップＳ６１２）、達成されていなければ、達成されていない状態が閾値時間以上経過しているか否かを判定し（ステップＳ６１３）、閾値時間以上経過しているときに相手を強制的にリセットし（ステップＳ６１４）、閾値時間に達していなければバリア同期が達成されたか否かを再度判定する（ステップＳ６１２）。実行環境主管理同期手段１２は、ステップＳ６１２においてバリア同期が達成されていれば、実行環境管理手段３０を設定して（ステップＳ６１５）再度実行環境副管理同期手段２２とバリア同期を行い（ステップＳ６１６）、バリア同期が達成されたか否かを判定し（ステップＳ６１７）、達成されていなければ、達成されていない状態が閾値時間以上経過しているか否かを判定し（ステップＳ６１８）、閾値時間以上経過しているときに相手を強制的にリセットし（ステップＳ６１４）、閾値時間に達していなければバリア同期が達成されたか否かを再度判定して（ステップＳ６１７）処理を継続する（ステップＳ６１９）。【００９２】
次いで、本実施の形態によるマルチプロセッサシステムの動作を、実行環境主制御手段１０の動作を中心に詳細に説明する。なお、本実施の形態による実行環境主制御手段１０は、少なくともＣＰＵ４−０を含む実行環境１００−０上において動作する。【００９３】
図３０は、本実施の形態によるマルチプロセッサシステムのＣＰＵ４−０の動作概略を説明する図であり、図３１は、本実施の形態によるマルチプロセッサシステムのＣＰＵ４−１〜４−ｎの動作概略を説明する図である。【００９４】
図３０を参照すると、ＣＰＵ４−０は、初期状態における起動処理によって実行環境主制御手段１０が起動する。また、ＣＰＵ４−０は、実行環境主制御手段１０のレジューム処理によってＳＭＰ  ＯＳ２が起動し、サスペンド処理によってＳＭＰ  ＯＳ２が停止する。また、ＣＰＵ４−０は、ＳＭＰ  ＯＳ２又は実行環境主制御手段１０の停止処理によって初期状態に戻る。【００９５】
図３１を参照すると、ＣＰＵ４−１〜４−ｎは、初期状態における実行環境主制御手段１０起動処理によって実行環境主制御手段１０が起動し、初期状態における実行環境副制御手段起動処理によって実行環境副制御手段２０が起動し、切替え処理によって実行環境主制御手段１０と実行環境副制御手段２０とは切替え可能である。実行環境主制御手段１０は、ＳＭＰ  ＯＳ２に対してレジューム処理及びサスペンド処理を行実行環境制御副主手段は、ＳＭＰ  ＯＳ２及びシングルＯＳ７に対してレジューム処理及びサスペンド処理を行う。また、ＣＰＵ４−１〜４−ｎは、ＳＭＰ  ＯＳ２、シングルＯＳ７、実行環境主制御手段１０もしくは実行環境副制御手段２０の停止処理によって初期状態に戻る。【００９６】
また、図３２〜図４６は、本実施の形態によるマルチプロセッサシステムの状態の遷移を説明する図である。【００９７】
（主実行環境内ＣＰＵ停止処理（自動切換え機能無し））
図４７は、本実施の形態による実行環境主制御手段１０の主実行環境内ＣＰＵ停止処理（自動切換え機能無し）を説明する図である。【００９８】
図４７を参照すると、本実施の形態による実行環境主制御手段１０の主実行環境内ＣＰＵ停止処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して当該実行環境内のＣＰＵ停止要求を通知し、また、実行環境主管理同期手段１２に対してＣＰＵ停止後の実行環境管理手段３０の設定情報を通知する。【００９９】
次いで、ＯＳ主連携手段１１が、ステップＳ４において、ＯＳ３に対して上記ＣＰＵの停止を要求し、ステップＳ５において、ＯＳ３から、上記ＣＰＵの停止完了の通知を受理し（これは、電源管理におけるＣＰＵシャットダウン処理に近い）、ステップＳ６において、実行環境主管理同期手段１２に対して上記ＣＰＵの停止が完了したことを通知する。【０１００】
次いで、実行環境主管理同期手段１２が、ステップＳ７において、実行環境管理手段３０に対して上記ＣＰＵ停止後の実行環境管理手段３０の設定情報を設定し、ステップＳ８において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。
次いで、実行環境スケジュール手段１３が、ステップＳ９において、実行環境情報５２１を更新し、ステップＳ１０において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０１０１】
（主実行環境内ＣＰＵ停止処理及びコンテキスト保存処理（自動切換え機能無し））
図４８は、本実施の形態による実行環境主制御手段１０の主実行環境内ＣＰＵ停止処理及びコンテキスト保存処理（自動切換え機能無し）を説明する図である。【０１０２】
図４８を参照すると、本実施の形態による実行環境主制御手段１０の主実行環境内ＣＰＵ停止処理及びコンテキスト保存処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して当該実行環境内のＣＰＵ停止及びコンテキスト保存要求を通知し、また、実行環境主管理同期手段１２に対してＣＰＵ停止後の実行環境管理手段３０の設定情報を通知する。【０１０３】
次いで、ＯＳ主連携手段１１が、ステップＳ４において、ＯＳ３に対して上記ＣＰＵの停止及びコンテキスト保存を要求し、ステップＳ５において、ＯＳ３から、上記ＣＰＵの停止完了の通知及び上記ＯＳ３のコンテキスト９０を受理し（これは、電源管理におけるＣＰＵサスペンド処理に近い）、ステップＳ６において、実行環境スケジュール手段１３に対して上記ＯＳ３のコンテキスト９０を渡し、ステップＳ７において、実行環境主管理同期手段１２に対して上記ＣＰＵの停止が完了したことを通知する。【０１０４】
次いで、実行環境主管理同期手段１２が、ステップＳ８において、実行環境管理手段３０に対して上記ＣＰＵ停止後の実行環境管理手段３０の設定情報を設定し、ステップＳ９において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０１０５】
次いで、実行環境スケジュール手段１３が、ステップＳ１０において、実行環境情報５２１を更新し、ステップＳ１１において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０１０６】
上記主実行環境内ＣＰＵ停止処理及びコンテキスト保存処理（自動切換え機能無し）によるマルチプロセッサシステムの状態の遷移を説明する。【０１０７】
図３２は、全てのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させる状態であって、上記主実行環境内ＣＰＵ停止処理前の状態を示し、図３３は、１つのＣＰＵを除いた残りの全てのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させる状態であって、上記主実行環境内ＣＰＵ停止処理後の状態を示す。すなわち、図３２に示される状態が、上記主実行環境内ＣＰＵ停止処理によって、主実行環境内で所定のＣＰＵが停止した図３３に示される状態に遷移する。【０１０８】
（主実行環境内切替処理（自動切換え機能無し））
図４９は、本実施の形態による実行環境主制御手段１０の主実行環境内切替処理（自動切換え機能無し）を説明する図である。【０１０９】
図４９を参照すると、本実施の形態による実行環境主制御手段１０の主実行環境内切替処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して当該実行環境内の実行環境切替要求及び切替先のコンテキスト９０を通知し、また、実行環境主管理同期手段１２に対して切替後の実行環境管理手段３０の設定情報を通知する。【０１１０】
次いで、ＯＳ主連携手段１１が、ステップＳ４において、ＯＳ３から、動作中のＯＳ３のコンテキスト９０を受理し、ステップＳ５において、実行環境スケジュール手段１３に対して上記ＯＳ３のコンテキスト９０を渡し、ステップＳ６において、実行環境主管理同期手段１２に対して上記コンテキスト保存の完了を通知する。【０１１１】
次いで、実行環境主管理同期手段１２が、ステップＳ７において、実行環境管理手段３０に対して切替後の実行環境管理手段３０の設定情報を設定し、ステップＳ８において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０１１２】
次いで、実行環境スケジュール手段１３が、ステップＳ９において、実行環境情報５２１を更新し、ステップＳ１０において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０１１３】
次いで、ステップＳ１１において、実行環境主管理同期手段１２が、ＯＳ主連携手段１１に対して当該処理の完了を通知し、ステップＳ１２において、ＯＳ主連携手段１１が、先に受理した切替先のコンテキスト９０を設定する。【０１１４】
上記主実行環境内切替処理（自動切換え機能無し）によるマルチプロセッサシステムの状態の遷移を説明する。【０１１５】
図３２は、全てのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させる状態であって、上記主実行環境内切替処理前の状態を示し、図３４は、１つのＣＰＵを除いた残りの全てのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、残りの１つのＣＰＵによって構成される実行環境においてＯＳ３が追加処理１２０を実行させる状態であって、上記主実行環境内切替処理後の状態を示す。すなわち、図３２に示される状態が、上記主実行環境内切替処理によって、主実行環境内で切替えが行われた図３４に示される状態に遷移する。【０１１６】
また、同様にすれば、図３５に示される複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳ２が基本処理１１０を実行させる状態が、上記実行環境内切替処理によって、図３６に示される１つのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳ２が基本処理１１０を実行させ、残りのＣＰＵの内複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳ２が追加処理１２０を実行させる状態に遷移する。【０１１７】
さらに、同様にすれば、図３７に示される複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳ２が基本処理１１０を実行させ、残りの全てのＣＰＵによって構成される実行環境においてＳＭＰ  ＯＳ２が追加処理１２０を実行させる状態が、上記実行環境内切替処理によって、図３８に示される複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳ２が基本処理１１０を実行させ、残りのＣＰＵの内１つのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳ２が追加処理１２０を実行させ、残りの各ＣＰＵによって構成される各実行環境においてＯＳ３が追加処理１２０を実行させる状態に遷移する。【０１１８】
（初期状態の主実行環境内のＣＰＵ追加処理（自動切換え機能無し））
図５０は、本実施の形態による実行環境主制御手段１０の初期状態の主実行環境内のＣＰＵ追加処理（自動切換え機能無し）を説明する図である。【０１１９】
図５０を参照すると、本実施の形態による実行環境主制御手段１０の初期状態の主実行環境内のＣＰＵ追加処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して当該実行環境外のＣＰＵ追加要求を通知し、また、実行環境主管理同期手段１２に対してＣＰＵ追加後の実行環境管理手段３０の設定情報を通知する。【０１２０】
次いで、ＯＳ主連携手段１１が、ステップＳ４において、実行環境管理手段３０に対して上記ＣＰＵ停止後の実行環境管理手段３０の設定情報を設定し、ステップＳ５において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０１２１】
次いで、実行環境スケジュール手段１３が、ステップＳ６において、実行環境情報５２１を更新し、ステップＳ７において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０１２２】
次いで、ステップＳ８において、実行環境主管理同期手段１２が、ＯＳ主連携手段１１に対して実行環境管理手段３０の設定の完了を通知する。【０１２３】
次いで、ＯＳ主連携手段１１が、ステップＳ９において、ＯＳ３に対して上記ＣＰＵの追加を要求し、ステップＳ１０において、ＯＳ３から、上記ＣＰＵの追加完了の通知を受理する（これは、電源管理におけるＣＰＵパワーアップ処理に近い）。【０１２４】
（コンテキスト設定処理付き主実行環境内のＣＰＵ追加処理（自動切換え機能無し））
図５１は、本実施の形態による実行環境主制御手段１０のコンテキスト設定処理付き主実行環境内のＣＰＵ追加処理（自動切換え機能無し）を説明する図である。【０１２５】
図５１を参照すると、本実施の形態による実行環境主制御手段１０のコンテキスト設定処理付き主実行環境内のＣＰＵ追加処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して当該実行環境外のＣＰＵ追加要求及び前回のコンテキスト９０を通知し、また、実行環境主管理同期手段１２に対してＣＰＵ追加後の実行環境管理手段３０の設定情報を通知する。【０１２６】
次いで、実行環境主管理同期手段１２が、ステップＳ４において、実行環境管理手段３０に対して上記ＣＰＵ停止後の実行環境管理手段３０の設定情報を設定し、ステップＳ５において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０１２７】
次いで、実行環境スケジュール手段１３が、ステップＳ６において、実行環境情報５２１を更新し、ステップＳ７において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０１２８】
次いで、実行環境主管理同期手段１２が、ステップＳ８において、ＯＳ主連携手段１１に対して実行環境管理手段３０の設定の完了を通知する。【０１２９】
次いで、ＯＳ主連携手段１１が、ステップＳ９において、ＯＳ３に対して上記ＣＰＵの追加及び前回のコンテキスト設定を要求し、ステップＳ１０において、ＯＳ３から、上記ＣＰＵの追加完了の通知を受理する（これは、電源管理におけるＣＰＵレジューム処理に近い）。【０１３０】
次いで、本実施の形態による実行環境主制御手段１０が実行環境副制御手段２０と連携して行う動作を詳細に説明する。【０１３１】
上記コンテキスト設定処理付き主実行環境内のＣＰＵ追加処理（自動切換え機能無し）によるマルチプロセッサシステムの状態の遷移を説明する。【０１３２】
図３９は、１つのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、残りのＣＰＵが停止している状態であって、上記ＣＰＵ追加処理前の状態を示し、図４０は、複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、残りのＣＰＵが停止している状態であって、上記ＣＰＵ追加処理後の状態を示す。すなわち、図３９に示される状態が、上記ＣＰＵ追加処理によって、主実行環境内のＣＰＵが追加された図４０に示される状態に遷移する。【０１３３】
（別ＣＰＵ上のＯＳ停止処理（自動切換え機能無し））
図５２は、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の別ＣＰＵ上のＯＳ停止処理（自動切換え機能無し）を説明する図である。【０１３４】
図５２を参照すると、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の別ＣＰＵ上のＯＳ停止処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して別ＣＰＵ上実行環境のＯＳ停止要求を通知し、また、実行環境主管理同期手段１２に対してＯＳ停止後の実行環境管理手段３０の設定情報を通知する。【０１３５】
次いで、ＯＳ主連携手段１１が、ステップＳ４において、別ＣＰＵ上のＯＳ副連携手段２１に対してＯＳ停止要求を通知し、ステップＳ５において、実行環境主管理同期手段１２に対して上記ＣＰＵの停止完了待ちを通知する。【０１３６】
次いで、上記通知を受けたＯＳ副連携手段２１が、ステップＳ６において、ＯＳ３に対して上記ＣＰＵの停止を要求し、ステップＳ７において、ＯＳ３から、上記ＣＰＵの停止完了の通知を受理し（これは、電源管理におけるＣＰＵシャットダウン処理に近い）、ステップＳ８において、実行環境副管理同期手段２２に対してＯＳ停止完了を通知する。【０１３７】
次いで、実行環境副管理同期手段２２が、ステップＳ９において、実行環境主管理同期手段１２に対して上記ＣＰＵの停止が完了したことを通知する。【０１３８】
次いで、実行環境主管理同期手段１２が、ステップＳ１０において、実行環境管理手段３０に対して上記ＣＰＵ停止後の実行環境管理手段３０の設定情報を設定し、ステップＳ１１において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０１３９】
次いで、実行環境スケジュール手段１３が、ステップＳ１２において、実行環境情報５２１を更新し、ステップＳ１３において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０１４０】
次いで、実行環境主管理同期手段１２が、ステップＳ８において、ＯＳ主連携手段１１に対して実行環境管理手段３０の設定の完了を通知する。【０１４１】
次いで、ＯＳ主連携手段１１が、ステップＳ９において、ＯＳ３に対して上記ＣＰＵの追加及び前回のコンテキスト設定を要求し、ステップＳ１０において、ＯＳ３から、上記ＣＰＵの追加完了の通知を受理する（これは、電源管理におけるＣＰＵレジューム処理に近い）。【０１４２】
（別ＣＰＵ上のＯＳ停止処理及びコンテキスト保存処理（自動切換え機能無し））
図５３は、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の別ＣＰＵ上のＯＳ停止処理及びコンテキスト保存処理（自動切換え機能無し）を説明する図である。【０１４３】
図５３を参照すると、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の別ＣＰＵ上のＯＳ停止処理及びコンテキスト保存処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して別ＣＰＵ上実行環境のＯＳ停止要求を通知し、また、実行環境主管理同期手段１２に対してＯＳ停止後の実行環境管理手段３０の設定情報を通知する。【０１４４】
次いで、ＯＳ主連携手段１１が、ステップＳ４において、別ＣＰＵ上のＯＳ副連携手段２１に対してＯＳ停止要求を通知し、ステップＳ５において、実行環境主管理同期手段１２に対して上記ＣＰＵの停止完了待ちを通知する。【０１４５】
次いで、上記通知を受けたＯＳ副連携手段２１が、ステップＳ６において、ＯＳ３に対して上記ＣＰＵの停止及びコンテキスト保存を要求し、ステップＳ７において、ＯＳ３から、上記ＣＰＵの停止完了の通知及び上記ＯＳ３のコンテキスト９０を受理し（これは、電源管理におけるＣＰＵサスペンド処理に近い）、ステップＳ８において、ＯＳ主連携手段１１に対して上記ＯＳ３のコンテキスト９０を送付する。【０１４６】
次いで、ＯＳ主連携手段１１が、ステップＳ９において、実行環境スケジュール手段１３に対して上記ＯＳ３のコンテキスト９０を渡す。【０１４７】
次いで、ＯＳ副連携手段２１が、ステップＳ１０において、実行環境副管理同期手段２２に対してＯＳ停止完了を通知する。【０１４８】
次いで、実行環境副管理同期手段２２が、ステップＳ１１において、実行環境主管理同期手段１２に対して上記ＣＰＵの停止が完了したことを通知する。【０１４９】
次いで、実行環境主管理同期手段１２が、ステップＳ１２において、実行環境管理手段３０に対して上記ＯＳ停止後の実行環境管理手段３０の設定情報を設定し、ステップＳ１３において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０１５０】
次いで、実行環境スケジュール手段１３が、ステップＳ１４において、実行環境情報５２１を更新し、ステップＳ１５において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０１５１】
上記別ＣＰＵ上のＯＳ停止処理及びコンテキスト保存処理（自動切換え機能無し）によるマルチプロセッサシステムの状態の遷移を説明する。【０１５２】
図３５は、複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、１つのＣＰＵによって構成される他の１つの実行環境においてＯＳが追加処理１２０を実行させる状態であって、上記ＯＳ停止処理前の状態を示し、図４１は、複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、１つのＣＰＵによって構成される他の１つの実行環境において追加処理１２０を実行させるＯＳが停止した状態であって、上記ＯＳ停止処理後の状態を示す。すなわち、図３５に示される状態が、上記ＯＳ停止処理によって、上記別ＣＰＵ上のＯＳ３が停止した図４１に示される状態に遷移する。【０１５３】
（別ＣＰＵ上の実行環境切替処理（自動切換え機能無し））
図５４は、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の別ＣＰＵ上の実行環境切替処理（自動切換え機能無し）を説明する図である。【０１５４】
図５４を参照すると、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の別ＣＰＵ上の実行環境切替処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して別ＣＰＵ上実行環境の実行環境切替要求及び切替先のコンテキスト９０を通知し、また、実行環境主管理同期手段１２に対して切替後の実行環境管理手段３０の設定情報を通知する。【０１５５】
次いで、ＯＳ主連携手段１１が、ステップＳ４において、別ＣＰＵ上のＯＳ副連携手段２１に対して実行環境切替要求及び切替先のコンテキスト９０を通知し、ステップＳ５において、実行環境主管理同期手段１２に対して上記実行環境切替完了待ちを通知する。【０１５６】
次いで、上記通知を受けたＯＳ副連携手段２１が、ステップＳ６において、動作中のＯＳ３のコンテキスト９０を受理し、ステップＳ７において、ＯＳ主連携手段１１に対して上記ＯＳ３のコンテキスト９０を送付する。【０１５７】
次いで、ＯＳ主連携手段１１が、ステップＳ８において、実行環境スケジュール手段１３に対して上記ＯＳ３のコンテキスト９０を渡す。【０１５８】
次いで、ＯＳ副連携手段２１が、ステップＳ９において、実行環境副管理同期手段２２に対してコンテキスト抽出完了を通知する。【０１５９】
次いで、実行環境副管理同期手段２２が、ステップＳ１０において、実行環境主管理同期手段１２に対して上記コンテキスト抽出が完了したことを通知する。【０１６０】
次いで、実行環境主管理同期手段１２が、ステップＳ１１において、実行環境管理手段３０に対して上記ＣＰＵ停止後の実行環境管理手段３０の設定情報を設定し、ステップＳ１２において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０１６１】
次いで、実行環境スケジュール手段１３が、ステップＳ１３において、実行環境情報５２１を更新し、ステップＳ１４において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０１６２】
次いで、実行環境主管理同期手段１２が、ステップＳ１５において、実行環境副管理同期手段２２に対して実行環境管理手段３０の設定が完了したことを通知する。【０１６３】
次いで、実行環境副管理同期手段２２が、ステップＳ１６において、ＯＳ副連携手段２１に対して上記設定完了を通知する。【０１６４】
次いで、ＯＳ副連携手段２１が、ステップＳ１７において、先に受理した切替先のコンテキスト９０を設定する。【０１６５】
図５４に示す切替処理を行う際に、まず、図５３に示す別ＣＰＵ上のＯＳ停止処理及びコンテキスト保存処理を行い、そして、当該別ＣＰＵのリセットないし電源オフをする。次に、リセット解除ないし電源オンによって、当該別ＣＰＵをクリアな状態から再起動させることで、別ＣＰＵ上でＯＳ副連携手段をまっさらな状態から起動する。その後、図５６に示されるコンテキスト設定処理付き別ＣＰＵ上のＯＳ起動処理を行うことで、たとえ当該別ＣＰＵ上のＯＳ副連携手段が、ウィルス等に汚染されて正常な動作をしなくなっていたとしても、リセット及び電源オフを経由することによって、再度正しい状態なＯＳ副連携手段を起動することができるので、遷移時間は長くかかるものの、非常に安定・安全な、別ＣＰＵ上での実行環境切替処理が実現できる。【０１６６】
上記別ＣＰＵ上の実行環境切替処理（自動切換え機能無し）によるマルチプロセッサシステムの状態の遷移を説明する。【０１６７】
図４２は、１つのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、残りの各ＣＰＵによって構成される各実行環境において各ＯＳがそれぞれ追加処理１２０を実行させる状態であって、上記実行環境切替処理前の状態を示し、図４３は、１つのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、残りの各ＣＰＵの内複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが追加処理１２０を実行させ、残りの各ＣＰＵによって構成される各実行環境において各ＯＳがそれぞれ追加処理１２０を実行させる状態であって、上記実行環境切替処理後の状態を示す。すなわち、図４２に示される状態が、上記実行環境切替処理によって、別ＣＰＵ上の実行環境で切替えが行われた図４３に示される状態に遷移する。【０１６８】
さらに、同様にして、上記図４３に示される状態が、上記実行環境切替処理によって、１つのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳ２が基本処理１１０を実行させ、残りの各ＣＰＵの内複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳ２が追加処理１２０を実行させ、残りの全てのＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳ２が追加処理１２０を実行させる図４４に示される状態に遷移する。【０１６９】
（初期状態の別ＣＰＵ上のＯＳ起動処理（自動切換え機能無し））
図５５は、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の初期状態の別ＣＰＵ上のＯＳ起動処理（自動切換え機能無し）を説明する図である。【０１７０】
図５５を参照すると、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の初期状態の別ＣＰＵ上のＯＳ起動処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して当該別ＣＰＵ上のＣＰＵ起動要求を通知し、また、実行環境主管理同期手段１２に対してＣＰＵ起動後の実行環境管理手段３０の設定情報を通知する。【０１７１】
次いで、実行環境主管理同期手段１２が、ステップＳ４において、実行環境管理手段３０に対して上記ＣＰＵ停止後の実行環境管理手段３０の設定情報を設定し、ステップＳ５において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０１７２】
次いで、実行環境スケジュール手段１３が、ステップＳ６において、実行環境情報５２１を更新し、ステップＳ７において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０１７３】
次いで、実行環境主管理同期手段１２が、ステップＳ８において、ＯＳ主連携手段１１に対して上記設定完了を通知する。【０１７４】
次いで、ＯＳ主連携手段１１が、ステップＳ９において、別ＣＰＵ上のＯＳ副連携手段２１に対してＣＰＵ起動を要求する。【０１７５】
次いで、ＯＳ副連携手段２１が、ステップＳ１０において、上記ＣＰＵの起動を行う（これは、電源管理におけるＣＰＵパワーアップ処理に近い）。【０１７６】
（コンテキスト設定処理付き別ＣＰＵ上のＯＳ起動処理（自動切換え機能無し））
図５６は、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０のコンテキスト設定処理付き別ＣＰＵ上のＯＳ起動処理（自動切換え機能無し）を説明する図である。【０１７７】
図５６を参照すると、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０のコンテキスト設定処理付き別ＣＰＵ上のＯＳ起動処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して当該実行環境外のＣＰＵ追加要求及び前回のコンテキスト９０を通知し、また、実行環境主管理同期手段１２に対してＣＰＵ追加後の実行環境管理手段３０の設定情報を通知する。【０１７８】
次いで、実行環境主管理同期手段１２が、ステップＳ４において、実行環境管理手段３０に対して上記ＣＰＵ停止後の実行環境管理手段３０の設定情報を設定し、ステップＳ５において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０１７９】
次いで、実行環境スケジュール手段１３が、ステップＳ６において、実行環境情報５２１を更新し、ステップＳ７において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０１８０】
次いで、実行環境主管理同期手段１２が、ステップＳ８において、ＯＳ主連携手段１１に対して実行環境管理手段３０の設定の完了を通知する。【０１８１】
次いで、ＯＳ主連携手段１１が、ステップＳ９において、別ＣＰＵ上のＯＳ副連携手段２１に対してＣＰＵ起動及び前回のコンテキスト設定を要求する。【０１８２】
次いで、ＯＳ副連携手段２１が、ステップＳ１０において、上記ＣＰＵの起動及びコンテキスト設定を行う（これは、電源管理におけるＣＰＵレジューム処理に近い）。【０１８３】
上記コンテキスト設定処理付き別ＣＰＵ上のＯＳ起動処理（自動切換え機能無し）によるマルチプロセッサシステムの状態の遷移を説明する。【０１８４】
図４１は、複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、１つのＣＰＵによって構成される他の１つの実行環境において追加処理１２０を実行させるＯＳが停止した状態であって、上記ＯＳ起動処理前の状態を示し、図３５は、複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、１つのＣＰＵによって構成される他の１つの実行環境においてＯＳが追加処理１２０を実行させる状態であって、上記ＯＳ起動処理後の状態を示す。すなわち、図４１に示される状態が、上記ＯＳ起動処理によって、別ＣＰＵ上のＯＳ３が起動された図３５に示される状態に遷移する。【０１８５】
（実行環境副制御手段２０からの切替処理（自動切換え機能無し））
図５７は、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の実行環境副制御手段からの切替処理（自動切換え機能無し）を説明する図である。【０１８６】
図５７を参照すると、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の実行環境副制御手段２０からの切替処理（自動切換え機能無し）は、ＯＳ副連携手段２１が、ステップＳ１において、ＯＳ３から当該要求を受理し、ステップＳ２において、ＯＳ主連携手段１１に対して当該要求を通知する。【０１８７】
次いで、ＯＳ主連携手段１１が、ステップＳ３において、実行環境スケジュール手段１３に対して当該要求を通知する。【０１８８】
（別ＣＰＵ上の実行環境副制御手段停止処理（自動切換え機能無し））
図５８は、本実施の形態による実行環境主制御手段１０の別ＣＰＵ上の実行環境副制御手段停止処理（自動切換え機能無し）を説明する図である。【０１８９】
図５８を参照すると、本実施の形態による実行環境主制御手段１０の別ＣＰＵ上の実行環境副制御手段停止処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して別ＣＰＵ上実行環境の実行環境副制御手段停止要求を通知し、また、実行環境主管理同期手段１２に対して実行環境副制御手段停止後の実行環境管理手段３０の設定情報を通知する。【０１９０】
次いで、ＯＳ主連携手段１１が、ステップＳ４において、実行環境主管理同期手段１２に対して上記実行環境副制御手段停止後の実行環境管理手段３０の設定を要求する。【０１９１】
次いで、実行環境主管理同期手段１２が、ステップＳ５において、実行環境管理手段３０に対して上記実行環境副制御手段停止後の実行環境管理手段３０の設定情報を設定し、ステップＳ６において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０１９２】
次いで、実行環境スケジュール手段１３が、ステップＳ７において、実行環境情報５２１を更新し、ステップＳ８において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。
次いで、ステップＳ９において、実行環境主管理同期手段１２がＯＳ主連携手段１１に対して実行環境管理手段３０の設定の完了を通知し、ＯＳ主連携手段１１が当該ＣＰＵを停止する。【０１９３】
上記別ＣＰＵ上の実行環境副制御手段停止処理（自動切換え機能無し）によるマルチプロセッサシステムの状態の遷移を説明する。【０１９４】
図４１は、複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、残りの各ＣＰＵによって構成される各実行環境において実行環境副制御手段が設定された状態であって、上記実行環境副制御手段停止処理前の状態を示し、図４５は、複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、残りのＣＰＵの内１つのＣＰＵによって構成される１つの実行環境において設定されていた実行環境副制御手段が停止した状態であって、上記実行環境副制御手段停止処理後の状態を示す。すなわち、図４１に示される状態が、上記実行環境副制御手段停止処理によって、上記別ＣＰＵ上の実行環境副制御手段２０が停止した図４５に示される状態に遷移する。【０１９５】
さらに、同様にして、上記図４５に示される状態が、上記実行環境副制御手段停止処理によって、複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳ２が基本処理１１０を実行させ、残りの各ＣＰＵによって構成される各実行環境の全てにおいて実行環境副制御手段２０が停止した図４６に示される状態に遷移する。【０１９６】
（別ＣＰＵ上の実行環境副制御手段起動処理（自動切換え機能無し））
図５９は、本実施の形態による実行環境主制御手段１０の別ＣＰＵ上の実行環境副制御手段起動処理（自動切換え機能無し）を説明する図である。【０１９７】
図５９を参照すると、本実施の形態による実行環境主制御手段１０の別ＣＰＵ上の実行環境副制御手段起動処理（自動切換え機能無し）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して別ＣＰＵ上実行環境の実行環境副制御手段起動要求を通知し、また、実行環境主管理同期手段１２に対して実行環境副制御手段起動後の実行環境管理手段３０の設定情報を通知する。【０１９８】
次いで、ＯＳ主連携手段１１が、ステップＳ４において、実行環境主管理同期手段１２に対して上記実行環境副制御手段起動後の実行環境管理手段３０の設定を要求する。【０１９９】
次いで、実行環境主管理同期手段１２が、ステップＳ５において、実行環境管理手段３０に対して上記実行環境副制御手段起動後の実行環境管理手段３０の設定情報を設定し、ステップＳ６において、実行環境スケジュール手段１３に対して当該処理の完了を通知する。【０２００】
次いで、実行環境スケジュール手段１３が、ステップＳ７において、実行環境情報５２１を更新し、ステップＳ８において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０２０１】
次いで、ステップＳ９において、実行環境主管理同期手段１２がＯＳ主連携手段１１に対して実行環境管理手段３０の設定の完了を通知し、ＯＳ主連携手段１１が当該ＣＰＵ上の停止状態を解除する。【０２０２】
上記別ＣＰＵ上の実行環境副制御手段起動処理（自動切換え機能無し）によるマルチプロセッサシステムの状態の遷移を説明する。【０２０３】
図４５は、複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、残りのＣＰＵの内１つのＣＰＵ以外の各ＣＰＵによって構成される各実行環境において実行環境副制御手段が設定された状態であって、上記実行環境副制御手段起動処理前の状態を示し、図４１は、複数のＣＰＵによって構成される１つの実行環境においてＳＭＰ  ＯＳが基本処理１１０を実行させ、残りの各ＣＰＵによって構成される各実行環境において実行環境副制御手段が設定された状態であって、上記実行環境副制御手段起動処理後の状態を示す。すなわち、図４５に示される状態が、上記実行環境副制御手段起動処理によって、上記別ＣＰＵ上の実行環境副制御手段２０が起動した図４１に示される状態に遷移する。【０２０４】
（第１の実施の形態の効果）
本実施の形態によれば、マルチプロセッサシステム上で実行する処理毎に安定性やセキュリティレベルを変えた実行環境１００を構築することができる。【０２０５】
例えば、アプリケーション８の本来的な処理（基本処理１１０）と、基本処理１１０に伴って実行され、任意に追加又は削除される付随的な処理（追加処理１２０）を実行する場合、基本処理１１０を実行する実行環境１００−０と、追加処理１２０を実行する実行環境１００−ｎとを安定性やセキュリティレベルを考慮して（基本処理１１０の実行環境１００−０の安定性及びセキュリティレベルを高くして）マルチプロセッサシステムを構築することができる。【０２０６】
その理由は、複数のＣＰＵ４と、当該ＣＰＵ４上で実行される複数のＯＳ３を搭載し、当該ＣＰＵ４と当該ＯＳ３を組み合わせた少なくとも一つの実行環境１００を、マルチプロセッサシステム上で実行する処理に応じて形成するからである。【０２０７】
また、本実施の形態によれば、処理の高速化を図ることができる。【０２０８】
その理由は、実行環境主制御手段１０、実行環境副制御手段２０及び実行環境管理手段３０が連携して動作することにより仮想マシンを設ける必要がないため、アプリケーション８がＣＰＵ４上で直接動作するからである。【０２０９】
また、本実施の形態によれば、ＣＰＵの処理負荷を軽減することができる。【０２１０】
その理由は、マルチプロセッサシステム上で実行する処理に応じてＣＰＵ４とＯＳ３を組み合わせた実行環境を多様に形成できるからである。【０２１１】
また、本実施の形態によれば、ＳＭＰ  ＯＳ環境においても追加処理向け実行環境の生成が可能となるので、基本処理の安定性やセキュリティレベルが向上し、また、追加処理１２０向け実行環境１００がＣＰＵ４上で直接動作するので、基本処理１１０及び追加処理１２０を非常に高速で処理できる。【０２１２】
（第２の実施の形態）
（第２の実施の形態の構成）
本発明の第２の実施の形態による実行環境管理手段３０の構成を、（ａ）ＣＰＵベース、（ｂ）実行環境ベースによって詳細に説明する。本実施の形態による実行環境管理手段３０は、ＣＰＵ４又は実行環境１００を自動で切替える自動切替機能を有する点で第１の実施の形態と相違する。従って、第１の実施の形態との相違点を中心に説明する。【０２１３】
（（ａ）ＣＰＵベースの場合）
図６０〜図６４は、本実施の形態による実行環境管理手段３０の構成をＣＰＵベースで説明する図である。【０２１４】
図６０は、本実施の形態による実行環境管理手段３０の構成をＣＰＵベースで説明するブロック図である。図６０を参照すると、本実施の形態による実行環境管理手段３０は、周辺バス及びＣＰＵ管理データ記憶装置３２に接続する自動ＣＰＵ切替手段３３と、システムバス、ＣＰＵ管理データ記憶装置３２及び自動ＣＰＵ切替手段３３に接続する自動ＣＰＵ切替データ記憶装置３４とをさらに備える点で、第１の実施の形態における実行環境管理手段３０の構成と相違する。従って、第１の実施の形態との相違点を中心に説明する。【０２１５】
自動ＣＰＵ切替手段３３は、ＣＰＵフィルタ手段３１がシステムバスを介してあるＣＰＵ４からのアクセス要求を受けると、自動ＣＰＵ切替データ記憶装置３４から読み出した自動ＣＰＵ切替データ３４１（後述）に基づいて、当該アクセス要求が切替制御を要求する条件である切替トリガであるか否かを判定する機能と、自動ＣＰＵ切替データ３４１のトリガ条件に相当するエントリを更新する機能等を有する。【０２１６】
自動ＣＰＵ切替データ記憶装置３４は、自動ＣＰＵ切替データ３４１を格納し、自動ＣＰＵ切替データ３４１の更新要求を実行する機能を有する。【０２１７】
図６１は、本実施の形態による自動ＣＰＵ切替データの構成を説明する図である。図６１を参照すると、自動ＣＰＵ切替データ３４１は、ＣＰＵ４−０〜４−４毎に、トリガ条件と、切替後に割当てられるメモリ領域の始点・終点と、リード処理（Ｒ）及びライト処理（Ｗ）のうち切替後に許可される処理を示す許可ビットとが記載されたエントリによって構成されている。【０２１８】
次いで、本実施の形態のＣＰＵベースにおける実行環境管理手段３０の機能を説明する。【０２１９】
（データ更新機能）
図６２は、本実施の形態による実行環境管理手段３０のデータ更新機能を説明する図である。図６２を参照すると、実行環境管理手段３０のデータ更新機能は、ステップＳ１において、ＣＰＵ管理データ３２１を更新する。なお、基本的には、基本処理実行中のＣＰＵのみがＣＰＵ管理データ３２１に触ることができる。ただし、所定のエントリに関しては、追加処理実行中のＣＰＵがＣＰＵ管理データ３２１に触ってもよい。【０２２０】
（リード（Ｒ）アクセスでの自動切替機能）
図６３は、本実施の形態による実行環境管理手段３０のリード（Ｒ）アクセスでの自動切替機能を説明する図である。【０２２１】
図６３を参照すると、本実施の形態による実行環境管理手段３０のリードアクセスでの自動切替機能は、ＣＰＵフィルタ手段３１が、ステップＳ１において、任意のＣＰＵからのリードアクセスを受理し、ステップＳ２において、ＣＰＵ管理データ３２１を読み出す。また、ステップＳ２において、自動ＣＰＵ切替手段３３が自動ＣＰＵ切替データ３４１を読み出す。【０２２２】
次いで、ステップＳ３において、ＣＰＵフィルタ手段３１が、前記読み出したＣＰＵ管理データ３２１に基づいて、当該受理したリードアクセスの許否を判定し、当該受理したリードアクセスを許可し、また、自動ＣＰＵ切替手段３３が、当該受理したリードアクセスが切替トリガであることを認知する。【０２２３】
次いで、ステップＳ４において、ＣＰＵフィルタ手段３１が前記リードアクセスの応答を受理し、また、自動ＣＰＵ切替手段３３が前記リードアクセスの完了を認知する。
次いで、ステップＳ５において、ＣＰＵフィルタ手段３１が前記リードアクセスの応答をＣＰＵに返し、ステップＳ６において、自動ＣＰＵ切替手段３３がＣＰＵ管理データ３２１のトリガ条件に相当するエントリを更新する。【０２２４】
（ライト（Ｗ）アクセスでの自動切替機能）
図６４は、本実施の形態による実行環境管理手段３０のライト（Ｗ）アクセスでの自動切替機能を説明する図である。【０２２５】
図６４を参照すると、本実施の形態による実行環境管理手段３０のライトアクセスでの自動切替機能は、ＣＰＵフィルタ手段３１が、ステップＳ１において、任意のＣＰＵからのライトアクセスを受理し、ステップＳ２において、ＣＰＵ管理データ３２１を読み出す。また、ステップＳ２において、自動ＣＰＵ切替手段３３が自動ＣＰＵ切替データ３４１を読み出す。【０２２６】
次いで、ステップＳ３において、ＣＰＵフィルタ手段３１が、前記読み出したＣＰＵ管理データ記憶装置３２に基づいて、当該受理したライトアクセスの許否を判定し、当該受理したライトアクセスを許可し、また、自動ＣＰＵ切替手段３３が、当該受理したライトアクセスが切替トリガであることを認知する。
次いで、ステップＳ４において、自動ＣＰＵ切替手段３３が、ＣＰＵ管理データ３２１のトリガ条件に相当するエントリを更新する。
本実施の形態による切替え後のＣＰＵ管理データ記憶装置３２の構成を図６５に示す。【０２２７】
（（ｂ）実行環境ベースの場合）
図６６〜図７１は、本実施の形態による実行環境管理手段３０の構成を実行環境ベースで説明する図である。【０２２８】
図６６は、本実施の形態による実行環境管理手段３０の構成を実行環境ベースで説明するブロック図である。図６６を参照すると、本実施の形態による実行環境管理手段３０は、周辺バス及び実行環境管理データ記憶装置３６に接続する自動実行環境切替手段３７と、システムバス、実行環境管理データ記憶装置３６及び自動実行環境切替手段３７に接続する自動実行環境切替データ記憶装置３８とをさらに備える点で、第１の実施の形態における実行環境管理手段３０の構成と相違する。従って、第１の実施の形態との相違点を中心に説明する。【０２２９】
自動実行環境切替手段３７は、実行環境フィルタ手段３５がシステムバスを介してあるＣＰＵ４からのアクセス要求を受けると、自動実行環境切替データ記憶装置３８から読み出した自動実行環境切替データ３８１（後述）に基づいて、当該アクセス要求が切替制御を要求する条件である切替トリガであるか否かを判定する機能と、自動実行環境切替データ３８１のトリガ条件に相当するエントリを更新する機能等を有する。【０２３０】
自動実行環境切替データ記憶装置３８は、自動実行環境切替データ３８１を格納し、自動実行環境切替データ３８１の更新要求を実行する機能を有する。【０２３１】
図６７は、本実施の形態による自動実行環境切替データ３８１の構成を説明する図である。図６７を参照すると、本実施の形態による自動実行環境切替データ３８１は、ＣＰＵ４−０〜４−４毎に、トリガ条件と、実行環境番号によって示される実行環境とが対応付けて記載されたエントリによって構成されている。より詳細には、ＣＰＵ４−０〜４−２には実行環境１００−０が対応付けられ、ＣＰＵ４−３には実行環境が対応付けられておらず、ＣＰＵ４−４には実行環境１００−２が対応付けられている。【０２３２】
次いで、本実施の形態の実行環境ベースにおける実行環境管理手段３０の機能を説明する。【０２３３】
（データ更新機能）
図６８は、本実施の形態による実行環境管理手段３０のデータ更新機能を説明する図である。【０２３４】
図６８を参照すると、本実施の形態による実行環境管理手段３０のデータ更新機能は、ステップＳ１において、自動実行環境切替データ３８１を更新する。なお、基本的には、基本処理実行中のＣＰＵのみが自動実行環境切替データ３８１に触ることができる。ただし、所定のエントリに関しては、追加処理実行中のＣＰＵが自動実行環境切替データ３８１に触ってもよい。【０２３５】
（リード（Ｒ）アクセスでの自動切替機能）
図６９は、本実施の形態による実行環境管理手段３０のリード（Ｒ）アクセスでの自動切替機能を説明する図である。【０２３６】
図６９を参照すると、本実施の形態による実行環境管理手段３０のリードアクセスでの自動切替機能は、実行環境フィルタ手段３５が、ステップＳ１において、任意のＣＰＵからのリードアクセスを受理し、ステップＳ２において、実行環境管理データ３６１を読み出す。また、ステップＳ２において、自動実行環境切替手段３７が自動実行環境切替データ３８１を読み出す。【０２３７】
次いで、ステップＳ３において、実行環境フィルタ手段３５が、前記読み出した実行環境管理データ３６１に基づいて、当該受理したリードアクセスの許否を判定し、当該受理したリードアクセスを許可し、また、自動実行環境切替手段３７が、当該受理したリードアクセスが切替トリガであることを認知する。【０２３８】
次いで、ステップＳ４において、実行環境フィルタ手段３５が前記リードアクセスの応答を受理し、また、自動実行環境切替手段３７が前記リードアクセスの完了を認知する。【０２３９】
次いで、ステップＳ５において、実行環境フィルタ手段３５が前記リードアクセスの応答をＣＰＵに返し、ステップＳ６において、自動実行環境切替手段３７が実行環境管理データ３６１のトリガ条件に相当するエントリを更新する。【０２４０】
（ライト（Ｗ）アクセスでの自動切替機能）
図７０は、本実施の形態による実行環境管理手段３０のライト（Ｗ）アクセスでの自動切替機能を説明する図である。【０２４１】
図７０を参照すると、本実施の形態による実行環境管理手段３０のライトアクセスでの自動切替機能は、実行環境フィルタ手段３５が、ステップＳ１において、任意のＣＰＵからのライトアクセスを受理し、ステップＳ２において、実行環境管理データ３６１を読み出す。また、ステップＳ２において、自動実行環境切替手段３７が自動実行環境切替データ３８１を読み出す。【０２４２】
次いで、ステップＳ３において、実行環境フィルタ手段３５が、前記読み出した実行環境管理データ３６１に基づいて、当該受理したライトアクセスの許否を判定し、当該受理したライトアクセスを許可し、また、自動実行環境切替手段３７が、当該受理したライトアクセスが切替トリガであることを認知する。【０２４３】
次いで、ステップＳ４において、自動実行環境切替手段３７が、実行環境管理データ３６１のトリガ条件に相当するエントリを更新する。【０２４４】
図７１は、本実施の形態による実行環境切替え機能（自動切換え機能有り）を説明する図である。【０２４５】
図７１を参照すると、実行環境管理手段３０に自動切換え機能を有する本実施の形態において、実行環境主制御手段１０と実行環境副制御手段２０とは互いに同期をとることなく、実行環境主制御手段１０が処理を継続させ、実行環境副制御手段２０が実行環境を切替える。【０２４６】
（第２の実施の形態の動作）
本実施の形態による実行環境主制御手段１０が実行環境副制御手段２０と連携して行う動作を詳細に説明する。【０２４７】
（別ＣＰＵ上の実行環境切替処理（自動切換え機能有り））
図７２は、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の別ＣＰＵ上の実行環境切替処理（自動切換え機能有り）を説明する図である。【０２４８】
図７２を参照すると、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の別ＣＰＵ上の実行環境切替処理（自動切換え機能有り）は、実行環境スケジュール手段１３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ主連携手段１１に対して別ＣＰＵ上実行環境の実行環境切替要求及び切替先のコンテキスト９０を通知し、また、実行環境主管理同期手段１２に対してＣＰＵ停止後の実行環境管理手段３０の設定情報を通知する。【０２４９】
次いで、ＯＳ主連携手段１１が、ステップＳ４において、別ＣＰＵ上のＯＳ副連携手段２１に対して実行環境切替要求及び切替先のコンテキスト９０を通知する。【０２５０】
次いで、上記通知を受けたＯＳ副連携手段２１が、ステップＳ５において、ＯＳ３から、動作中のＯＳ３のコンテキスト９０を受理し、ステップＳ６において、ＯＳ主連携手段１１に対して上記ＯＳ３のコンテキスト９０を送付する。【０２５１】
次いで、ＯＳ主連携手段１１が、ステップＳ７において、実行環境スケジュール手段１３に対して上記ＯＳ３のコンテキスト９０を渡す。【０２５２】
次いで、実行環境スケジュール手段１３が、ステップＳ８において、実行環境情報５２１を更新し、ステップＳ９において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０２５３】
次いで、ＯＳ副連携手段２１が、ステップＳ１０において、先に受理した切替先のコンテキスト９０を設定する。【０２５４】
本実施の形態による切替え後のマルチプロセッサシステムの構成を図７３４に示す。【０２５５】
なお、本実施の形態における切替トリガは、システムバスを介して受信したあるＣＰＵ４からのアクセス要求がトリガ条件を満たすか否かによって判定されるが、これは、アクセス要求に限定されず、所定の時間の経過や所定の閾値以上のＣＰＵ負荷等によってトリガ条件が満たされ、対応する所定の切替制御を自動的に要求するものであってもよい。【０２５６】
（第２の実施の形態の効果）
本実施の形態によれば、実行環境管理手段３０は、ＣＰＵフィルタ手段３１がシステムバスを介してあるＣＰＵ４からのアクセス要求を受けると、自動ＣＰＵ切替データ記憶装置３４から読み出した自動ＣＰＵ切替データ３４１（後述）に基づいて、当該アクセス要求が切替制御を要求する条件である切替トリガであるか否かを判定し、切替トリガである場合には自動的に切替制御を要求する自動ＣＰＵ切替手段３３を備えるため、実行環境主制御手段１０の処理負担を軽減することができる。【０２５７】
また、本実施の形態によれば、アクセス要求に限定されず、所定の時間の経過や所定の閾値以上のＣＰＵ負荷等によってトリガ条件が満たされ、対応する所定の切替制御を自動的に要求するため、より多様な切替制御が可能となる。【０２５８】
（第３の実施の形態）
（第３の実施の形態の構成）
図７４は、本発明の第３の実施の形態による実行環境副制御手段２０の構成を示すブロック図である。図７４を参照すると、本実施の形態による実行環境副制御手段２０は、実行環境スケジュール手段１３と同様の機能（スケジュール機能）を有し、ＡＰ８／ＯＳ３、ＲＡＭ、ＯＳ副連携手段２１及び実行環境副管理同期手段２２に接続する同一実行環境スケジュール手段２３をさらに備える点で、第１の実施の形態における実行環境副制御手段２０の構成と相違する。従って、第１の実施の形態との相違点を中心に説明する。【０２５９】
（第３の実施の形態の動作）
（同一信頼度（セキュリティレベル）実行環境切替処理（自動切換え機能無し））
図７５は、本実施の形態による実行環境副制御手段２０の同一信頼度実行環境切替処理（自動切換え機能無し）を説明する図である。【０２６０】
図７５を参照すると、本実施の形態による実行環境副制御手段２０の同一信頼度実行環境切替処理（自動切換え機能無し）は、同一実行環境スケジュール手段２３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、ＯＳ副連携手段２１に対して当該実行環境内の実行環境切替要求及び切替先のコンテキスト９０を通知し、また、実行環境副管理同期手段２２に対して切替後の実行環境管理手段３０の設定情報を通知する。【０２６１】
次いで、ＯＳ副連携手段２１が、ステップＳ４において、ＯＳ３から、動作中のＯＳ３のコンテキスト９０を受理し、ステップＳ５において、同一実行環境スケジュール手段２３に対して上記ＯＳ３のコンテキスト９０を渡し、ステップＳ６において、実行環境副管理同期手段２２に対して上記コンテキスト９０保存の完了を通知する。【０２６２】
次いで、実行環境副管理同期手段２２が、ステップＳ７において、実行環境管理手段３０に対して切替後の実行環境管理手段３０の設定情報を設定し、ステップＳ８において、同一実行環境スケジュール手段２３に対して当該処理の完了を通知する。【０２６３】
次いで、同一実行環境スケジュール手段２３が、ステップＳ９において、実行環境情報５２１を更新し、ステップＳ１０において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０２６４】
次いで、ステップＳ１１において、実行環境副管理同期手段２２が、ＯＳ副連携手段２１に対して当該処理の完了を通知し、ステップＳ１２において、ＯＳ副連携手段２１が、先に受理した切替先のコンテキスト９０を設定する。【０２６５】
また、図７６は、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の同一実行環境スケジュール手段からの切替処理（自動切換え機能無し）を説明する図である。【０２６６】
図７６を参照すると、本実施の形態による実行環境主制御手段１０及び実行環境副制御手段２０の同一実行環境スケジュール手段２３からの切替処理（自動切換え機能無し）は、同一実行環境スケジュール手段２３が、ステップＳ１において、ＡＰ８／ＯＳ３から当該要求を受理し、ステップＳ２において、ＲＡＭ５２上の実行環境情報５２１を読み出し、ステップＳ３において、自身にてスケジューリングできないと判断し、該要求をＯＳ副連携手段２１に対して通知する。【０２６７】
次いで、ステップＳ４において、ＯＳ副連携手段２１がＯＳ主連携手段１１に対して当該要求を通知し、ステップＳ５において、ＯＳ主連携手段１１が実行環境スケジュール手段１３に対して当該要求を通知する。【０２６８】
次いで、実行環境副管理同期手段２２が、ステップＳ７において、実行環境管理手段３０に対して切替後の実行環境管理手段３０の設定情報を設定し、ステップＳ８において、同一実行環境スケジュール手段２３に対して当該処理の完了を通知する。【０２６９】
次いで、同一実行環境スケジュール手段２３が、ステップＳ９において、実行環境情報５２１を更新し、ステップＳ１０において、ＡＰ８／ＯＳ３に当該要求の完了を通知する。【０２７０】
次いで、ステップＳ１１において、実行環境副管理同期手段２２が、ＯＳ副連携手段２１に対して当該処理の完了を通知し、ステップＳ１２において、ＯＳ副連携手段２１が、先に受理した切替先のコンテキスト９０を設定する。【０２７１】
（第３の実施の形態の効果）
本実施の形態によれば、実行環境副制御手段２０が、実行環境スケジュール手段１３と同様の機能（スケジュール機能）を有する同一実行環境スケジュール手段２３を備えるので、実行環境スケジュール手段１３を備える実行環境主制御手段１０だけでなく、実行環境副制御手段２０においても、他の実行環境副制御手段２０に対する実行環境の切り替え制御命令を単独で生成できる。【０２７２】
また、本実施の形態によれば、実行環境副制御手段２０においても、他の実行環境副制御手段２０に対する実行環境の切り替え制御命令を単独で生成できるので、実行環境主制御手段１０の処理負担を軽減し、処理の高速化、さらには、実行環境主制御手段１０の安定性及びセキュリティレベルの向上を図ることができる。【０２７３】
（第４の実施の形態）
図７７は、本発明の第４の実施の形態によるマルチプロセッサシステムの構成を示すブロック図である。【０２７４】
図７７を参照すると、本実施の形態によるマルチプロセッサシステムの構成は、実行環境副制御手段２０がＣＰＵ４−１〜４−ｎだけでなくＣＰＵ４−０にも接続する点で、図２に示す第１の実施の形態によるマルチプロセッサシステムの構成と相違する。従って、本実施の形態によるマルチプロセッサシステムは、実行環境主制御手段１０が動作するＣＰＵ４を固定するのではなく、当該ＣＰＵを実行環境主制御手段１０によって追加されたＣＰＵ４のいずれのＣＰＵ４へも移動可能とする点で第１の実施の形態と相違する。【０２７５】
（第５の実施の形態）
図７８及び図７９は、本発明の第５の実施の形態のマルチプロセッサシステムにおける一部の構成を示すブロック図である。【０２７６】
図７８及び図７９を参照すると、本実施の形態のマルチプロセッサシステムは、ＣＰＵ４が、ユーザ・スーパバイザ４１モードと、ユーザ・スーパバイザより優先度の高いハイパーバイザ４２モードと、記憶装置管理ユニット４３を備える点で上記第１〜第４の実施の形態と相違する。【０２７７】
本実施の形態によれば、図７８に示すような、ＳＭＰ  ＯＳ２がＣＰＵ４上で実行環境主制御手段１０によって制御されて基本処理１１０を実行させる状態が、図７９に示すような、ＯＳ３がＣＰＵ４上で実行環境副制御手段２０によって制御されてそれぞれ追加処理１２０を実行させる状態に遷移可能である。【０２７８】
（第６の実施の形態）
図８０は、本発明の第６の実施の形態のマルチプロセッサシステムの構成を示すブロック図である。【０２７９】
図８０を参照すると、本実施の形態のマルチプロセッサシステムは、上記第１〜第５の何れかの実施の形態のマルチプロセッサシステム３００−１〜３００−ｎを並列して複数備えた構成に、実行環境管理手段３０、記憶装置５及びＩ／Ｏ装置６からなる構成を階層的に備える点で、上記第１〜第５の実施の形態と相違する。【０２８０】
本実施の形態によれば、上記第１〜第５の何れかの実施の形態のマルチプロセッサシステムを並列して複数備えた構成に、実行環境管理手段３０、記憶装置５及びＩ／Ｏ装置６からなる構成を階層的に備えるので、より多様な実行環境の分離、切り替え、拡大、縮退等が可能になるため、基本処理１１０や追加処理１２０のセキュリティレベルやＣＰＵ負荷並びにＯＳ３の種類等に応じてより詳細に実行環境を制御することができる。【０２８１】
（実施例１）
本発明の実施例１は、第１の実施の形態のマルチプロセッサシステムの具体的動作例である。本実施例を、上記図３４、図３７及び図８１を用いて説明する。図８１は、本実施例のマルチプロセッサシステムの具体的動作例を示すフローチャートである。【０２８２】
ステップＳ９０１において、基本処理用のＳＭＰ  ＯＳ２が、１つの実行環境を構成する５つのＣＰＵ上で動作している。【０２８３】
ステップＳ９０２において、ユーザがゲームを実行したいとのイベントを入力する。【０２８４】
ステップＳ９０３において、そのイベントに対応して、ゲーム実行環境の起動を実行環境主制御手段１０に対して通知する。【０２８５】
ステップＳ９０４において、実行環境主制御手段１０は、ゲーム実行環境が一度実行済みか否かを判定する。もしゲーム実行環境が一度実行済みの場合、ステップＳ９０９へ。【０２８６】
ステップＳ９０５において、実行環境主制御手段１０は、ゲーム実行環境が実行済みでない場合、５つのＣＰＵのうち、１つのＣＰＵをゲーム実行環境に割当てることを決定する。【０２８７】
ステップＳ９０６において、実行環境主制御手段１０は、主実行環境内ＣＰＵ停止処理により、そのＣＰＵを停止する。【０２８８】
ステップＳ９０７において、実行環境主制御手段１０は、別ＣＰＵ上の実行環境副制御手段起動処理により、実行環境副制御手段２０を起動する。【０２８９】
ステップＳ９０８において、実行環境主制御手段１０は、別ＣＰＵ上のＯＳ起動処理（初期状態）により、ゲーム実行環境を起動し、処理を終了する。【０２９０】
ステップＳ９０９において、実行環境主制御手段１０は、主実行環境内の切替処理により、ゲーム実行環境を起動し、処理を終了する。【０２９１】
図８２は、本発明の一実施例による実行順序検査付き実行環境管理手段５０の構成を示す図である。図８２を参照すると、実行環境管理手段３０と並列に、実行順序検査手段５１と、実行順序検査記憶手段５２とを備える。すなわち、実行順序検査付き実行環境管理手段５０は、図３等に示される実行環境管理手段３０へ置換可能であり、さらに、これにより、以下で述べる実行順序検査機能を利用することができるため、より高い安全性を実現可能である。【０２９２】
実行順序検査手段５１は、実行順序検査記憶手段５２の情報に基づいて、観測対象のＣＰＵが正しい順序で命令をフェッチしているか、すなわち、正しい実行順序を保持しているかどうかを検査する機能を有する。これにより、実行環境副制御手段を実行するＣＰＵの動作を、実行環境主制御手段を実行するＣＰＵから監視することが可能となる。また、この実行順序検査手段５１は、観測対象のＣＰＵが指定された範囲の命令をフェッチしている状態にあるかないかといった状態をも保持している。この状態は、実行環境主制御手段を実行するＣＰＵから読出し、ないし、状態リセットが可能である。【０２９３】
図８３は、本発明の一実施例による実行順序検査記憶装置５２の構成を示す図である。図８３を参照すると、実行順序検査記憶装置５２は、どのＣＰＵを観測対象とし、かつ、その観測範囲が記述される。ここで、Ｓｔａｒｔとは、観測対象のＣＰＵが最初の命令フェッチを許可する物理アドレスを意味し、そして、Ｅｎｄとは物理アドレスを表し、ＳｔａｒｔからＥｎｄまでの間の範囲での、最初の命令フェッチを許可しないことを意味している。すなわち、図では、観測対象のＣＰＵ＃３は、０ｘ０ｅ００００００と０ｘ０ｅ００１０００で挟まれた物理アドレスにおいて、０ｘ０ｅ００００００からのみ命令をフェッチすることが可能であることを意味している。それ以外のアドレスに関する命令フェッチにおいては、ＣＰＵに対して何の影響も及ぼさない。なお、この実行順序検査記憶装置５２は、実行環境主制御手段を実行するＣＰＵからのみ書き換えが可能である。【０２９４】
図８４は、図８２の実行順序検査付き実行環境管理手段５０の動作の一例を説明するための図である。図８４において、矢印脇のＳと数字からなる符合は、ステップ番号を表している。この例では、観測対象のＣＰＵが、一番最初に、実行順序検査記憶装置５２で許可された物理アドレスの先頭（以降では物理アドレスＡと呼ぶ）の命令をフェッチする場合について説明する。【０２９５】
ステップＳ１：  観測対象のＣＰＵが物理アドレスＡの命令をフェッチ要求をだし、実行順序検査手段５１と実行環境管理手段５０が受理する。【０２９６】
ステップＳ２：  実行順序検査手段５１は、実行順序検査記憶装置５２の情報を読出し、当該物理アドレスＡの命令フェッチが許可されていることを判断し、その結果、その動作を中断する。【０２９７】
図８５は、図８２の実行順序検査付き実行環境管理手段５０の動作の一例を説明するための図である。図８５において、矢印脇のＳと数字からなる符合は、ステップ番号を表している。この例では、図８４での命令フェッチの後、観測対象のＣＰＵが、引き続いて、実行順序検査記憶装置５２で記述された範囲の物理アドレス（以降では物理アドレスＢと呼ぶ）の命令をフェッチする場合について説明する。【０２９８】
ステップＳ１：  観測対象のＣＰＵが物理アドレスＢの命令をフェッチ要求をだし、実行順序検査手段５１と実行環境管理手段５０が受理する。【０２９９】
ステップＳ２：  実行順序検査手段５１は、実行順序検査記憶装置５２の情報を読出し、既に物理アドレスＡの命令フェッチが許可されていることから、当該物理アドレスＢの命令フェッチも許可されることを判断し、その結果、その動作を中断する。【０３００】
図８６は、図８２の実行順序検査付き実行環境管理手段５０の動作の一例を説明するための図である。図８６において、矢印脇のＳと数字からなる符合は、ステップ番号を表している。この例では、観測対象のＣＰＵが、一番最初に、実行順序検査記憶装置５２で記述された範囲の物理アドレス（以降では物理アドレスＢと呼ぶ）の命令をフェッチする場合について説明する。【０３０１】
ステップＳ１：  観測対象のＣＰＵが物理アドレスＢの命令をフェッチ要求をだし、実行順序検査手段５１と実行環境管理手段５０が受理する。【０３０２】
ステップＳ２：  実行順序検査手段５１は、実行順序検査記憶装置５２の情報を読出し、物理アドレスＡの命令フェッチが行われていないことから、当該物理アドレスＢの命令フェッチを許可しない。【０３０３】
ステップＳ３：  実行順序検査手段５１は、実行環境管理手段３０へ命令フェッチを許可しないことを通知する。【０３０４】
ステップＳ４：  実行環境管理手段３０はアクセス処理を中断し、当該ＣＰＵへエラーを返す。【０３０５】
図８７は、図８２の実行順序検査付き実行環境管理手段５０の動作の一例を説明するための図である。図８７において、矢印脇のＳと数字からなる符合は、ステップ番号を表している。この例では、実行環境主制御手段を実行するＣＰＵから実行順序検査記憶装置５２を書き換える場合について説明する。【０３０６】
ステップＳ１：  実行環境主制御手段を実行するＣＰＵが実行順序検査記憶装置５２を更新する。【０３０７】
図８８は、図８２の実行順序検査付き実行環境管理手段５０の動作の一例を説明するための図である。図８８において、矢印脇のＳと数字からなる符合は、ステップ番号を表している。この例では、実行環境主制御手段を実行するＣＰＵから実行順序検査手段５１の状態を読み出す場合について説明する。【０３０８】
ステップＳ１：  実行環境主制御手段を実行するＣＰＵは、実行順序検査手段５１の状態を読み出す。もし該当するエントリのＣＰＵが指定された範囲内の命令をフェッチしていれば、検査状態にあることを返し、逆に、フェッチしていなければ、検査状態にないことを返す。【０３０９】
これにより、観測対象のＣＰＵがどの範囲の命令を現在実行しているかを、実行環境主制御手段を実行するＣＰＵから把握することができるので、実行環境主制御手段と実行環境副制御手段との同期等のシステム状態の変更の際に、ウィルスの侵入などを防ぐため、信頼できないコードの排除を実現することが可能である。【０３１０】
図８９は、図８２の実行順序検査付き実行環境管理手段５０の動作の一例を説明するための図である。図８９において、矢印脇のＳと数字からなる符合は、ステップ番号を表している。この例では、実行環境主制御手段を実行するＣＰＵから実行順序検査手段５１の状態をクリアする場合について説明する。【０３１１】
ステップＳ１：  実行環境主制御手段を実行するＣＰＵは、実行順序検査手段５１の状態をクリアする。これ以降、観測対象のＣＰＵは指定された物理アドレスの先頭からのみしか再度アクセスが許可されなくなる。【０３１２】
これにより、実行環境主制御手段を実行するＣＰＵから、任意の時点で、観測対象のＣＰＵの動作を再び観測可能にできる。【０３１３】
図９０は、図８２の実行順序検査付き実行環境管理手段５０の動作の一例を説明するための図である。図９０において、矢印脇のＳと数字からなる符合は、ステップ番号を表している。この例では、実行順序検査手段５１と実行環境管理手段３０が協調した動作をする場合について説明する。【０３１４】
ステップＳ１：  観測対象のＣＰＵがある物理アドレスの命令をフェッチ要求をだし、実行順序検査手段５１と実行環境管理手段５０が受理する。【０３１５】
ステップＳ２：  実行順序検査手段５１は、実行順序検査記憶装置５２の情報を読出し、その物理アドレスの命令フェッチを許可する。【０３１６】
ステップＳ３：  実行環境管理手段３０は、ある物理アドレスへのデータアクセスを受理する。【０３１７】
実行順序検査手段５１は、実行環境管理手段３０へ命令フェッチを許可しないことを通知する。【０３１８】
ステップＳ４：  実行環境管理手段３０は、当該アクセスが当該ＣＰＵの検査状態によって許可・不許可が判断されるアクセスと判断し、その結果、実行順序検査手段５１から現在当該アクセスを発行したＣＰＵの検査状態について情報を取得する。【０３１９】
ステップＳ５：  実行環境管理手段３０は、当該アクセスが検査状態のＣＰＵからアクセスが許可されていない領域と判断し、その結果、当該ＣＰＵへエラーを返す。【０３２０】
ここで、当該ＣＰＵだけでなく、実行環境主制御手段を実行するＣＰＵへもエラー通知をすることで、エラーを起こした当該ＣＰＵのリセット等のリカバリーを行ってもよい。【０３２１】
以上、実行順序検査手段５１と実行環境管理手段３０との協調によって、データアクセスのみに依存していた安全性について、観測対象のＣＰＵのプログラムの実行状況に応じて、そのデータアクセスを柔軟に制限することができるので、さらなる高い安全性を実現できる。【０３２２】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態及び実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。【０３２３】
この出願は、２００６年１１月２日に出願された日本出願特願２００６−２９９０１９号と２００７年９月２５日に出願された日本出願特願２００７−２４７４９１号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2008062647.tif 000003
【図２】
2008062647.tif 000004
【図３】
2008062647.tif 000005
【図４】
2008062647.tif 000006
【図５】
2008062647.tif 000007
【図６】
2008062647.tif 000008
【図７】
2008062647.tif 000009
【図８】
2008062647.tif 000010
【図９】
2008062647.tif 000011
【図１０】
2008062647.tif 000012
【図１１】
2008062647.tif 000013
【図１２】
2008062647.tif 000014
【図１３】
2008062647.tif 000015
【図１４】
2008062647.tif 000016
【図１５】
2008062647.tif 000017
【図１６】
2008062647.tif 000018
【図１７】
2008062647.tif 000019
【図１８】
2008062647.tif 000020
【図１９】
2008062647.tif 000021
【図２０】
2008062647.tif 000022
【図２１】
2008062647.tif 000023
【図２２】
2008062647.tif 000024
【図２３】
2008062647.tif 000025
【図２４】
2008062647.tif 000026
【図２５】
2008062647.tif 000027
【図２６】
2008062647.tif 000028
【図２７】
2008062647.tif 000029
【図２８】
2008062647.tif 000030
【図２９】
2008062647.tif 000031
【図３０】
2008062647.tif 000032
【図３１】
2008062647.tif 000033
【図３２】
2008062647.tif 000034
【図３３】
2008062647.tif 000035
【図３４】
2008062647.tif 000036
【図３５】
2008062647.tif 000037
【図３６】
2008062647.tif 000038
【図３７】
2008062647.tif 000039
【図３８】
2008062647.tif 000040
【図３９】
2008062647.tif 000041
【図４０】
2008062647.tif 000042
【図４１】
2008062647.tif 000043
【図４２】
2008062647.tif 000044
【図４３】
2008062647.tif 000045
【図４４】
2008062647.tif 000046
【図４５】
2008062647.tif 000047
【図４６】
2008062647.tif 000048
【図４７】
2008062647.tif 000049
【図４８】
2008062647.tif 000050
【図４９】
2008062647.tif 000051
【図５０】
2008062647.tif 000052
【図５１】
2008062647.tif 000053
【図５２】
2008062647.tif 000054
【図５３】
2008062647.tif 000055
【図５４】
2008062647.tif 000056
【図５５】
2008062647.tif 000057
【図５６】
2008062647.tif 000058
【図５７】
2008062647.tif 000059
【図５８】
2008062647.tif 000060
【図５９】
2008062647.tif 000061
【図６０】
2008062647.tif 000062
【図６１】
2008062647.tif 000063
【図６２】
2008062647.tif 000064
【図６３】
2008062647.tif 000065
【図６４】
2008062647.tif 000066
【図６５】
2008062647.tif 000067
【図６６】
2008062647.tif 000068
【図６７】
2008062647.tif 000069
【図６８】
2008062647.tif 000070
【図６９】
2008062647.tif 000071
【図７０】
2008062647.tif 000072
【図７１】
2008062647.tif 000073
【図７２】
2008062647.tif 000074
【図７３】
2008062647.tif 000075
【図７４】
2008062647.tif 000076
【図７５】
2008062647.tif 000077
【図７６】
2008062647.tif 000078
【図７７】
2008062647.tif 000079
【図７８】
2008062647.tif 000080
【図７９】
2008062647.tif 000081
【図８０】
2008062647.tif 000082
【図８１】
2008062647.tif 000083
【図８２】
2008062647.tif 000084
【図８３】
2008062647.tif 000085
【図８４】
2008062647.tif 000086
【図８５】
2008062647.tif 000087
【図８６】
2008062647.tif 000088
【図８７】
2008062647.tif 000089
【図８８】
2008062647.tif 000090
【図８９】
2008062647.tif 000091
【図９０】
2008062647.tif 000092
【手続補正書】
【提出日】平成20年4月23日(2008.4.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のＣＰＵと、前記ＣＰＵ上で実行される複数のＯＳを搭載し、
前記複数ＣＰＵと前記複数のＯＳを組み合わせた実行環境のうち、システムに予め搭載されている基本処理を行うＯＳを実行するＣＰＵの割り当てと、システム上で任意に追加または削除される追加処理を行う他のＯＳを実行するＣＰＵの割り当てを、システム上で実行する処理に応じて変更することを特徴とするマルチプロセッサシステム。
【請求項２】
システム上で実行する処理に応じて当該実行環境の切り替え制御を行う制御手段を備えることを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項３】
前記複数のＯＳの少なくとも一つがマルチプロセッサＯＳであり、
システム上で実行する処理のうち、システムに予め搭載されている基本処理を前記マルチプロセッサＯＳ上で実行し、
システム上で実行する処理のうち、システム上で任意に追加又は削除される追加処理を他のＯＳ上で実行することを特徴とする請求項１又は請求項２に記載のマルチプロセッサシステム。
【請求項４】
前記制御手段は、
前記基本処理を実行する基本処理用実行環境を形成する前記ＣＰＵの割り当てを行い、
前記追加処理が存在する場合に前記追加処理を実行する追加処理用実行環境を形成する前記ＣＰＵの割り当てを行うことを特徴とする請求項３に記載のマルチプロセッサシステム。
【請求項５】
前記制御手段は、
前記マルチプロセッサＯＳ上で動作し、前記基本処理用実行環境と前記追加処理用実行環境における前記ＣＰＵの割り当てを行い、前記基本処理用実行環境における前記基本処理の実行を制御すると共に、前記実行環境間における処理の干渉を制御する主制御手段と、
前記他のＯＳ上で動作し、前記主制御手段からの通知により前記追加処理用実行環境における前記追加処理の実行を制御する副制御手段と
から構成されることを特徴とする請求項４に記載のマルチプロセッサシステム。
【請求項６】
前記主制御手段は、前記追加処理用実行環境下の前記副制御手段から前記追加処理の実行状況に関するコンテンツ情報を受信し、受信した前記副制御手段からのコンテンツ情報に基づいて前記実行環境間における処理の干渉を制御することを特徴とする請求項５に記載のマルチプロセッサシステム。
【請求項７】
前記基本処理用実行環境と前記追加処理用実行環境毎のメモリを含むシステムの共有資源に対する割り当て状態に基づいて、前記各実行環境による前記共有資源の利用を管理する実行環境管理手段を備える
ことを特徴とする請求項４から請求項６の何れか１項に記載のマルチプロセッサシステム。
【請求項８】
前記実行環境管理手段は、
前記基本動作用実行環境と前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリを含むシステムの共有資源に対する前記実行環境の割り当て情報を、管理情報として保持することを特徴とする請求項７に記載のマルチプロセッサシステム。
【請求項９】
前記管理情報が、各実行環境を構成する各ＣＰＵ毎に、前記共有資源としてのメモリの占有領域を設定した情報であり、
前記実行環境管理手段は、前記ＣＰＵからの前記メモリへのアクセス要求に対して前記管理情報を参照し、前記ＣＰＵに対して前記アクセス要求に対する可否を出力するフィルタ手段を備えることを特徴とする請求項８に記載のマルチプロセッサシステム。
【請求項１０】
前記実行環境管理手段は、
前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリの占有領域を切り替えるトリガ条件と、切り替え後のメモリの占有領域をＣＰＵ切替情報として有し、
前記ＣＰＵについて前記トリガ条件が成立した場合に、前記ＣＰＵ切替情報から当該ＣＰＵのメモリの占有領域を読み出し、前記管理情報の対応するＣＰＵのメモリの占有領域を更新する切替手段を備えることを特徴とする請求項９に記載のマルチプロセッサシステム。
【請求項１１】
前記実行環境管理手段は、
前記基本動作用実行環境と前記追加処理用実行環境毎に、割り当てられた前記ＣＰＵの対応情報と、共有資源に対する割り当て情報を、管理情報として保持することを特徴とする請求項７に記載のマルチプロセッサシステム。
【請求項１２】
前記管理情報が、各実行環境毎に、前記共有資源としてのメモリの占有領域を設定した情報であり、
前記実行環境管理手段は、前記各実行環境からの前記メモリへのアクセス要求に対して前記管理情報を参照し、前記実行環境に対して前記アクセス要求に対する可否を出力するフィルタ手段を備えることを特徴とする請求項８に記載のマルチプロセッサシステム。
【請求項１３】
前記フィルタ手段は、前記アクセス要求を拒否する場合に、前記アクセス要求のアクセスアドレスをシステムに存在しないアドレスに変換し、前記アクセス要求を出力することを特徴とする請求項９又は請求項１２に記載のマルチプロセッサシステム。
【請求項１４】
前記実行環境管理手段は、
前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、割り当てる実行環境を切り替えるトリガ条件と、切り替え後の実行環境を実行環境切替情報として有し、
前記ＣＰＵについて前記トリガ条件が成立した場合に、前記ＣＰＵ切替情報から当該ＣＰＵのメモリの占有領域を読み出し、前記管理情報の対応するＣＰＵのメモリの占有領域を更新する切替手段を備えることを特徴とする請求項１２に記載のマルチプロセッサシステム。
【請求項１５】
前記トリガ条件が、前記追加処理において前記ＣＰＵからアクセスされる最終アドレスであることを特徴とする請求項１０又は請求項１４に記載のマルチプロセッサシステム。
【請求項１６】
前記主制御手段が、
前記実行環境の切り替えに応じて、前記実行環境管理手段の前記管理情報を更新することを特徴とする請求項７から請求項１０の何れか１項に記載のマルチプロセッサシステム。
【請求項１７】
前記メモリが、前記基本動作用実行環境と前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリを含むシステムの共有資源に対する前記実行環境の割り当て情報をメモリ格納管理情報として保持し、
前記主制御手段が、
前記基本処理のアプリケーション若しくは前記ＯＳからの要求に基づいて参照した前記メモリ格納管理情報に従って命令を生成し、当該命令が実行された後に前記メモリ格納管理情報を更新する実行環境スケジュール手段と、
前記実行環境スケジュール手段から通知された当該命令を前記ＯＳに対して実行させるＯＳ主連携手段と、
前記命令が実行された後の前記実行環境管理手段の設定情報を前記実行環境管理手段に対して設定する実行環境主管理同期手段と
を備えることを特徴とする請求項８から請求項１６の何れか１項に記載のマルチプロセッサシステム。
【請求項１８】
前記実行環境スケジュール手段が生成する命令はＣＰＵ制御命令を含むことを特徴とする請求項１７に記載のマルチプロセッサシステム。
【請求項１９】
前記実行環境スケジュール手段が生成する命令はＣＰＵ制御命令及び前記コンテンツ情報の保存命令を含み、
前記ＯＳ主連携手段は、保存された前記コンテンツ情報を取得して前記実行環境スケジュール手段に渡し、
前記実行環境スケジュール手段は、前記コンテンツ情報に基づいて、当該命令が実行された後に前記メモリ格納管理情報を更新することを特徴とする請求項１７に記載のマルチプロセッサシステム。
【請求項２０】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、実行環境主管理同期手段に対して切り替え後の前記実行環境管理手段の設定情報を通知し、
前記ＯＳ主連携手段は、前記ＯＳから、動作中の当該ＯＳの前記コンテンツ情報を取得して前記実行環境スケジュール手段に渡し、前記命令が実行された後に、前記実行環境スケジュール手段から通知された切り替え先の前記コンテンツ情報を設定し、
前記実行環境主管理同期手段は、前記実行環境管理手段に対し、切り替え後の前記実行環境管理手段の設定情報を設定することを特徴とする請求項１７から請求項１９の何れか１項に記載のマルチプロセッサシステム。
【請求項２１】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対してＣＰＵ制御命令を通知し、前記実行環境主管理同期手段に対してＣＰＵ制御後の前記実行環境管理手段の設定情報を通知し、ＣＰＵ制御後に前記管理情報を更新し、
前記実行環境主管理同期手段は、前記実行環境管理手段に対し、ＣＰＵ制御後の前記実行環境管理手段の設定情報を設定し、
前記ＯＳ主連携手段は、前記設定情報が設定された後に、前記実行環境スケジュール手段からの当該ＣＰＵ制御命令を前記ＯＳに対して実行させることを特徴とする請求項１８又は請求項１９に記載のマルチプロセッサシステム。
【請求項２２】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対してＣＰＵ制御命令及び前回の前記コンテンツ情報の設定命令を通知し、実行環境主管理同期手段に対してＣＰＵ制御後の前記実行環境管理手段の設定情報を通知し、ＣＰＵ制御後に前記管理情報を更新し、
前記実行環境主管理同期手段は、前記実行環境管理手段に対し、ＣＰＵ制御後の前記実行環境管理手段の設定情報を設定し、
前記ＯＳ主連携手段は、前記設定情報が設定された後に、前記実行環境スケジュール手段からの当該ＣＰＵ制御命令及び前記前回のコンテンツ情報の設定命令を前記ＯＳに対して実行させることを特徴とする請求項１８又は請求項１９に記載のマルチプロセッサシステム。
【請求項２３】
前記副制御手段が、
前記ＯＳ主連携手段から前記実行環境スケジュール手段の当該命令を通知され、当該命令を前記他のＯＳに対して実行させるＯＳ副連携手段と、
当該命令が実行されたことを前記実行環境主管理同期手段に通知する実行環境副管理同期手段と
を備えることを特徴とする請求項１７から請求項２２の何れか１項に記載のマルチプロセッサシステム。
【請求項２４】
前記実行環境スケジュール手段が生成する命令は、前記他のＯＳの実行を制御するＯＳ制御命令を含むことを特徴とする請求項２３に記載のマルチプロセッサシステム。
【請求項２５】
前記実行環境スケジュール手段が生成する命令は前記他のＯＳを制御するＯＳ制御命令及び前記他のＯＳの前記コンテンツ情報の保存命令を含み、
前記ＯＳ副連携手段は、保存された前記他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携手段に渡し、
前記ＯＳ主連携手段は、当該コンテンツ情報を前記実行環境スケジュール手段に渡し、
前記実行環境スケジュール手段は、当該コンテンツ情報に基づいて、前記管理情報を更新することを特徴とする請求項２３に記載のマルチプロセッサシステム。
【請求項２６】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して他のＣＰＵ上の前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、実行環境主管理同期手段に対して切り替え後の前記実行環境管理手段の設定情報を通知し、前記命令が実行された後に、動作中の当該他のＯＳの前記コンテンツ情報に基づいて前記管理情報を更新し、
前記ＯＳ副連携手段は、前記ＯＳ主連携手段から通知された当該他の前記実行環境の切り替え制御命令及び当該切り替え先の前記コンテンツ情報に基づいて、当該他のＯＳから、動作中の当該他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携手段に渡し、前記実行環境管理手段で前記設定情報が設定された後に、切り替え先の前記コンテンツ情報を設定し、
前記ＯＳ主連携手段は、前記実行環境スケジュール手段に対して動作中の当該他のＯＳの前記コンテンツ情報を渡し、
前記実行環境主管理同期手段は、前記命令が実行された後に、前記実行環境管理手段に対して切り替え後の前記実行環境管理手段の設定情報を設定することを特徴とする請求項２３に記載のマルチプロセッサシステム。
【請求項２７】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して他のＣＰＵを制御するＣＰＵ制御命令を通知し、前記実行環境主管理同期手段に対して他のＣＰＵ制御後の前記実行環境管理手段の設定情報を通知し、前記実行環境管理手段で前記設定情報が設定された後に前記管理情報を更新し、
前記実行環境主管理同期手段は、前記実行環境管理手段に対し、他のＣＰＵ制御後の前記実行環境管理手段の設定情報を設定し、
前記ＯＳ主連携手段は、前記設定情報が設定された後に、前記ＯＳ副連携手段に対して他のＣＰＵを制御するＣＰＵ制御命令を通知することを特徴とする請求項２３に記載のマルチプロセッサシステム。
【請求項２８】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して他のＣＰＵ制御命令及び前回の前記コンテンツ情報設定命令を通知し、実行環境主管理同期手段に対して他のＣＰＵ制御後の前記実行環境管理手段の設定情報を通知し、前記実行環境管理手段で前記設定情報が設定された後に前記管理情報を更新し、
前記実行環境主管理同期手段は、前記実行環境管理手段に対し、他のＣＰＵ制御後の前記実行環境管理手段の設定情報を設定し、
前記ＯＳ主連携手段は、前記設定情報が設定された後に、前記ＯＳ副連携手段に対して他のＣＰＵを制御するＣＰＵ制御命令及び前回の前記コンテンツ情報を通知することを特徴とする請求項２３に記載のマルチプロセッサシステム。
【請求項２９】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して前記他のＣＰＵ上の前記実行環境の前記副制御手段制御命令を通知し、前記実行環境主管理同期手段に対して前記副制御手段制御後の前記実行環境管理手段の設定情報を通知し、前記実行環境主管理同期手段による当該設定情報の設定後に前記管理情報を更新し、
前記ＯＳ主連携手段は、前記管理情報の更新後に、前記副制御手段制御命令に基づいて前記他のＣＰＵを制御することを特徴とする請求項２３から請求項２８の何れか１項に記載のマルチプロセッサシステム。
【請求項３０】
前記実行環境スケジュール手段は、前記ＯＳ主連携手段に対して他のＣＰＵ上の前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、前記実行環境主管理同期手段に対して当該他のＣＰＵ制御後の前記実行環境管理手段の設定情報を通知し、前記ＯＳ主連携手段から渡された動作中の当該他のＯＳの前記コンテンツ情報に基づいて前記管理情報を更新し、
前記ＯＳ副連携手段は、前記ＯＳ主連携手段から通知された当該切り替え制御命令及び当該切り替え先の前記コンテンツ情報に基づいて、当該他のＯＳから、動作中の当該他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携手段に渡し、当該切り替え制御命令が実行された後に、切り替え先の前記コンテンツ情報を設定し、
前記ＯＳ主連携手段は、前記実行環境スケジュール手段に対して動作中の当該他のＯＳの前記コンテンツ情報を渡すことを特徴とする請求項２３から請求項２９の何れか１項に記載のマルチプロセッサシステム。
【請求項３１】
前記主制御手段が、前記実行環境の切り替えに際し、他のＣＰＵ上のＯＳ停止処理及び前記コンテンツ情報の保存処理を行い、当該他のＣＰＵ上の前記ＯＳ副連携手段を再起動させることを特徴とする請求項２３から請求項３０の何れか１項に記載のマルチプロセッサシステム。
【請求項３２】
前記ＯＳ副連携手段は、前記追加処理の前記他のＯＳからの要求を前記ＯＳ主連携手段に通知し、
前記ＯＳ主連携手段は、当該要求を前記実行環境スケジュール手段に対して通知することを特徴とする請求項２３から請求項２９の何れか１項に記載のマルチプロセッサシステム。
【請求項３３】
前記副制御手段が、
前記追加処理のアプリケーション若しくは前記他のＯＳからの要求を受理して参照した前記管理情報に基づいて、当該要求のスケジューリングの可否を判定し、スケジューリングできない場合に当該要求を前記ＯＳ副連携手段に通知する同一実行環境スケジュール手段を備えることを特徴とする請求項３２に記載のマルチプロセッサシステム。
【請求項３４】
前記副制御手段が、
前記追加処理のアプリケーション若しくは前記他のＯＳからの前記実行環境切り替え制御命令を受理して参照した前記管理情報に基づいて、当該命令のスケジューリングの可否を判定し、スケジューリングできる場合に、前記ＯＳ副連携手段に対して当該命令及び切り替え先の前記コンテンツ情報を通知し、前記ＯＳ副連携手段から通知された前記他のＯＳから受理した動作中の前記他のＯＳの前記コンテンツ情報に基づいて、切り替え後の前記実行環境管理手段の設定情報が前記実行環境管理手段で設定された後に、前記管理情報を更新する同一実行環境スケジュール手段を備え、
前記ＯＳ副連携手段は、当該通知後に前記他のＯＳから受理した動作中の前記他のＯＳの前記コンテンツ情報を前記同一実行環境スケジュール手段に渡し、前記設定情報が設定された後に、切り替え先の前記コンテンツ情報を設定し、
前記実行環境副管理同期手段は、前記実行環境管理手段に対し、切り替え後の前記実行環境管理手段の設定情報を設定することを特徴とする請求項２３から請求項２９の何れか１項に記載のマルチプロセッサシステム。
【請求項３５】
前記実行環境主管理同期手段は、前記実行環境の停止処理において、前記実行環境副管理同期手段が前記共有資源に記載した値が所定の値の場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとることを特徴とする請求項２２から請求項３２の何れか１項に記載のマルチプロセッサシステム。
【請求項３６】
前記実行環境主管理同期手段は、前記実行環境の停止処理において、前記実行環境副管理同期手段が送信した割り込み要求を受信した場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとることを特徴とする請求項２３から請求項２９の何れか１項に記載のマルチプロセッサシステム。
【請求項３７】
前記実行環境主管理同期手段は、前記実行環境の停止処理において、前記実行環境副管理同期手段との間でバリア同期が達成されている場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとることを特徴とする請求項２３から請求項２９の何れか１項に記載のマルチプロセッサシステム。
【請求項３８】
前記実行環境の切り替え制御において、
前記実行環境主管理同期手段は、前記実行環境副管理同期手段が前記共有資源に記載した値が第１の所定の値の場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとり、
前記実行環境副管理同期手段は、前記実行環境管理手段の設定後に、前記実行環境主管理同期手段が前記共有資源に記載した値が第２の所定の値の場合に前記実行環境を切り替えることによって前記実行環境主管理同期手段と同期をとることを特徴とする請求項２３から請求項３５の何れか１項に記載のマルチプロセッサシステム。
【請求項３９】
前記実行環境の切り替え制御において、
前記実行環境主管理同期手段は、前記実行環境副管理同期手段が送信した割り込み要求を受信した場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとり、
前記実行環境副管理同期手段は、前記実行環境管理手段の設定後に、前記実行環境主管理同期手段が送信した割り込み要求を受信した場合に前記実行環境を切り替えることによって前記実行環境主管理同期手段と同期をとることを特徴とする請求項２３から請求項３４及び請求項３６の何れか１項に記載のマルチプロセッサシステム。
【請求項４０】
前記実行環境の切り替え制御において、
前記実行環境主管理同期手段は、前記実行環境副管理同期手段との間でバリア同期が達成されている場合に前記実行環境管理手段を設定することによって前記実行環境副管理同期手段と同期をとり、
前記実行環境副管理同期手段は、前記実行環境管理手段の設定後に、前記実行環境主管理同期手段との間でバリア同期が達成されている場合に前記実行環境を切り替えることによって前記実行環境主管理同期手段と同期をとることを特徴とする請求項２３から請求項３４及び請求項３７の何れか１項に記載のマルチプロセッサシステム。
【請求項４１】
前記マルチプロセッサシステムが、対称型マルチプロセッサシステムであり、前記マルチプロセッサＯＳが、対照型マルチプロセッサＯＳであることを特徴とする請求項１から請求項４０に記載のマルチプロセッサシステム。
【請求項４２】
前記システム上で実行する処理のうち、信頼度が最も高い第１の処理を前記マルチプロセッサＯＳ上で実行し、前記システム上で実行する処理のうち、前記第１の処理とは相対的に信頼度の低い処理を他のＯＳ上で実行し、前記制御手段は、前記システム上で実行する処理の信頼度のレベルに応じて前記ＣＰＵの割り当てを行うことを特徴とする請求項４から請求項４１の何れか１項に記載のマルチプロセッサシステム。
【請求項４３】
前記フィルタ手段は、プログラムの実行状況に応じてアクセス可否を行うことを特徴とする請求項１２に記載のマルチプロセッサシステム。
【請求項４４】
複数のＣＰＵを搭載するマルチプロセッサシステムにおけるシステム構成方法において、
複数のＯＳを実行可能に搭載したシステム上で、前記複数のＣＰＵと前記複数のＯＳを任意に組み合わせて少なくとも一つの実行環境を形成するステップと、
前記システム上で実行する処理に応じて当該実行環境の切り替え制御を行う制御ステップを有することを特徴とするマルチプロセッサシステムにおけるシステム構成方法。
【請求項４５】
前記複数のＯＳの少なくとも一つがマルチプロセッサＯＳであり、
前記システム上で実行する処理のうち、前記システムに予め搭載されている基本処理を前記マルチプロセッサＯＳ上で実行するステップと、
前記システム上で実行する処理のうち、システム上で任意に追加又は削除される追加処理を他のＯＳ上で実行するステップを有し、
前記制御ステップにおいて、
前記基本処理を実行する基本処理用実行環境を形成する前記ＣＰＵの割り当てを行い、
前記追加処理が存在する場合に前記追加処理を実行する追加処理用実行環境を形成する前記ＣＰＵの割り当てを行うことを特徴とするマルチプロセッサシステムにおけるシステム構成方法。
【請求項４６】
（削除）
【請求項４７】
前記制御ステップにおいて、
前記マルチプロセッサＯＳ上で動作し、前記基本処理用実行環境と前記追加処理用実行環境における前記ＣＰＵの割り当てを行い、前記基本処理用実行環境における前記基本処理の実行を制御すると共に、前記実行環境間における処理の干渉を制御する主制御ステップと、
前記他のＯＳ上で動作し、前記主制御手段からの通知により前記追加処理用実行環境における前記追加処理の実行を制御する副制御ステップと
を有することを特徴とする請求項４５に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項４８】
前記主制御制御ステップにおいて、
前記追加処理用実行環境下の前記副制御手段から前記追加処理の実行状況に関するコンテンツ情報を受信し、受信した前記副制御手段からのコンテンツ情報に基づいて前記実行環境間における処理の干渉を制御することを特徴とする請求項４７に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項４９】
前記基本処理用実行環境と前記追加処理用実行環境毎のメモリを含むシステムの共有資源に対する割り当て状態に基づいて、前記各実行環境による前記共有資源の利用を管理する実行環境管理ステップを有する
ことを特徴とする請求項４５、請求項４７又は請求項４８の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５０】
前記実行環境管理ステップにおいて、
前記基本動作用実行環境と前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリを含むシステムの共有資源に対する前記実行環境の割り当て情報を、各実行環境を構成する各ＣＰＵ毎に、前記共有資源としてのメモリの占有領域を設定した管理情報として保持し、前記ＣＰＵからの前記メモリへのアクセス要求に対して前記管理情報を参照し、前記ＣＰＵに対して前記アクセス要求に対する可否を出力するフィルタステップを有することを特徴とする請求項４９に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５１】
前記フィルタステップは、前記アクセス要求を拒否する場合に、前記アクセス要求のアクセスアドレスをシステムに存在しないアドレスに変換し、前記アクセス要求を出力することを特徴とする請求項５０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５２】
前記実行環境管理ステップにおいて、
前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリの占有領域を切り替えるトリガ条件と、切り替え後のメモリの占有領域をＣＰＵ切替情報として有し、
前記ＣＰＵについて前記トリガ条件が成立した場合に、前記ＣＰＵ切替情報から当該ＣＰＵのメモリの占有領域を読み出し、前記管理情報の対応するＣＰＵのメモリの占有領域を更新する切替ステップを有することを特徴とする請求項５０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５３】
前記実行環境管理ステップにおいて、
前記基本動作用実行環境と前記追加処理用実行環境毎に、割り当てられた前記ＣＰＵの対応情報と、共有資源に対する割り当て情報を、管理情報として保持することを特徴とする請求項４９に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５４】
前記管理情報が、各実行環境毎に、前記共有資源としてのメモリの占有領域を設定した情報であり、
前記実行環境管理ステップにおいて、前記各実行環境からの前記メモリへのアクセス要求に対して前記管理情報を参照し、前記実行環境に対して前記アクセス要求に対する可否を出力するフィルタステップを有することを特徴とする請求項５０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５５】
前記実行環境管理ステップにおいて、
前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、割り当てる実行環境を切り替えるトリガ条件と、切り替え後の実行環境を実行環境切替情報として有し、
前記ＣＰＵについて前記トリガ条件が成立した場合に、前記ＣＰＵ切替情報から当該ＣＰＵのメモリの占有領域を読み出し、前記管理情報の対応するＣＰＵのメモリの占有領域を更新する切替ステップを有することを特徴とする請求項５４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５６】
前記追加処理において、前記トリガ条件に基づいて、前記ＣＰＵから最終アドレスにアクセスすることを特徴とする請求項５０又は請求項５５に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５７】
前記主制御ステップにおいて、
前記実行環境の切り替えに応じて、前記実行環境管理ステップで前記管理情報を更新することを特徴とする請求項４９から請求項５２の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５８】
前記メモリにおいて、
前記基本動作用実行環境と前記追加処理用実行環境に割り当てられた前記ＣＰＵ毎に、メモリを含むシステムの共有資源に対する前記実行環境の割り当て情報をメモリ格納管理情報として保持するステップを有し、
前記主制御ステップにおいて、
前記基本処理のアプリケーション若しくは前記ＯＳからの要求に基づいて参照した前記メモリ格納管理情報に従って命令を生成し、当該命令が実行された後に前記メモリ格納管理情報を更新する実行環境スケジュールステップと、
前記実行環境スケジュールステップによって通知された当該命令を前記ＯＳに対して実行させるＯＳ主連携ステップと、
前記命令が実行された後の設定情報を前記実行環境管理ステップにおいて設定させる実行環境主管理同期ステップと
を有することを特徴とする請求項５０から請求項５７の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項５９】
前記実行環境スケジュールステップにおいて生成する命令はＣＰＵ制御命令を含むことを特徴とする請求項５８に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６０】
前記実行環境スケジュールステップにおいて生成する命令はＣＰＵ制御命令及び前記コンテンツ情報の保存命令を含み、
前記ＯＳ主連携ステップにおいて、保存された前記コンテンツ情報を取得して前記実行環境スケジュールステップに渡し、
前記実行環境スケジュールステップにおいて、前記コンテンツ情報に基づいて、当該命令が実行された後に前記メモリ格納管理情報を更新することを特徴とする請求項５８に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６１】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、実行環境主管理同期ステップに対して切り替え後の設定情報を通知し、
前記ＯＳ主連携ステップにおいて、前記ＯＳから、動作中の当該ＯＳの前記コンテンツ情報を取得して前記実行環境スケジュールステップに渡し、前記命令が実行された後に、前記実行環境スケジュールステップによって通知された切り替え先の前記コンテンツ情報を設定し、
前記実行環境主管理同期ステップにおいて、前記実行環境管理ステップによって、切り替え後の設定情報を設定させることを特徴とする請求項５８から請求項６０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６２】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対してＣＰＵ制御命令を通知し、前記実行環境主管理同期ステップに対してＣＰＵ制御後の設定情報を通知し、ＣＰＵ制御後に前記管理情報を更新し、
前記実行環境主管理同期ステップにおいて、前記実行環境管理ステップによって、ＣＰＵ制御後の設定情報を設定させ、
前記ＯＳ主連携ステップにおいて、前記設定情報が設定された後に、前記実行環境スケジュールステップによる当該ＣＰＵ制御命令を前記ＯＳに対して実行させることを特徴とする請求項５９又は請求項６０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６３】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対してＣＰＵ制御命令及び前回の前記コンテンツ情報の設定命令を通知し、実行環境主管理同期ステップに対してＣＰＵ制御後の設定情報を通知し、ＣＰＵ制御後に前記メモリ格納管理情報を更新し、
前記実行環境主管理同期ステップにおいて、前記実行環境管理ステップによって、ＣＰＵ制御後の設定情報を設定させ、
前記ＯＳ主連携ステップにおいて、前記設定情報が設定された後に、前記実行環境スケジュールステップからの当該ＣＰＵ制御命令及び前記前回のコンテンツ情報の設定命令を前記ＯＳに対して実行させることを特徴とする請求項５９又は請求項６０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６４】
前記副制御ステップにおいて、
前記ＯＳ主連携ステップにより前記実行環境スケジュールステップによる当該命令を通知され、当該命令を前記他のＯＳに対して実行させるＯＳ副連携ステップと、
当該命令が実行されたことを前記実行環境主管理同期ステップに通知する実行環境副管理同期ステップと
を有することを特徴とする請求項５８から請求項６３の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６５】
前記実行環境スケジュールステップで生成する命令は、前記他のＯＳの実行を制御するＯＳ制御命令を含むことを特徴とする請求項６４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６６】
前記実行環境スケジュールステップで生成する命令は前記他のＯＳを制御するＯＳ制御命令及び前記他のＯＳの前記コンテンツ情報の保存命令を含み、
前記ＯＳ副連携ステップにおいて、保存された前記他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携手段に渡し、
前記ＯＳ主連携ステップにおいて、当該コンテンツ情報を前記実行環境スケジュールステップに渡し、
前記実行環境スケジュールステップにおいて、当該コンテンツ情報に基づいて、前記管理情報を更新することを特徴とする請求項６４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６７】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して他のＣＰＵ上の前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、実行環境主管理同期ステップに対して切り替え後の設定情報を通知し、前記命令が実行された後に、動作中の当該他のＯＳの前記コンテンツ情報に基づいて前記メモリ格納管理情報を更新し、
前記ＯＳ副連携ステップにおいて、前記ＯＳ主連携ステップによって通知された当該他の実行環境の切り替え制御命令及び当該切り替え先の前記コンテンツ情報に基づいて、当該他のＯＳから、動作中の当該他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携ステップに渡し、前記実行環境管理ステップで前記設定情報が設定された後に、切り替え先の前記コンテンツ情報を設定し、
前記ＯＳ主連携ステップにおいて、前記実行環境スケジュールステップに対して動作中の当該他のＯＳの前記コンテンツ情報を渡し、
前記実行環境主管理同期ステップにおいて、前記命令が実行された後に、前記実行環境管理ステップに対して切り替え後の設定情報を設定することを特徴とする請求項６４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６８】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して他のＣＰＵを制御させるＣＰＵ制御命令を通知し、前記実行環境主管理同期ステップに対して他のＣＰＵ制御後の設定情報を通知し、前記実行環境管理ステップで前記設定情報が設定された後に前記管理情報を更新し、
前記実行環境主管理同期ステップにおいて、前記実行環境管理ステップに対し、他のＣＰＵ制御後の設定情報を設定し、
前記ＯＳ主連携ステップにおいて、前記設定情報が設定された後に、前記ＯＳ副連携ステップに対して他のＣＰＵを制御するＣＰＵ制御命令を通知することを特徴とする請求項６４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項６９】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して他のＣＰＵ制御命令及び前回の前記コンテンツ情報設定命令を通知し、実行環境主管理同期ステップに対して他のＣＰＵ制御後の設定情報を通知し、前記実行環境管理ステップで前記設定情報が設定された後に前記管理情報を更新し、
前記実行環境主管理同期ステップにおいて、前記実行環境管理ステップに対し、他のＣＰＵ制御後の設定情報を設定し、
前記ＯＳ主連携ステップにおいて、前記設定情報が設定された後に、前記ＯＳ副連携ステップに対して他のＣＰＵを制御するＣＰＵ制御命令及び前回の前記コンテンツ情報を通知することを特徴とする請求項６４に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７０】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して前記他のＣＰＵ上の前記実行環境の前記副制御ステップ制御命令を通知し、前記実行環境主管理同期ステップに対して前記副制御ステップ制御後の設定情報を通知し、前記実行環境主管理同期ステップによる当該設定情報の設定後に前記管理情報を更新し、
前記ＯＳ主連携ステップにおいて、前記管理情報の更新後に、前記副制御ステップ制御命令に基づいて前記他のＣＰＵを制御することを特徴とする請求項６４から請求項６９の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７１】
前記実行環境スケジュールステップにおいて、前記ＯＳ主連携ステップに対して他のＣＰＵ上の前記実行環境の切り替え制御命令及び切り替え先の前記コンテンツ情報を通知し、前記実行環境主管理同期ステップに対して当該他のＣＰＵ制御後の設定情報を通知し、前記ＯＳ主連携ステップにより渡された動作中の当該他のＯＳの前記コンテンツ情報に基づいて前記管理情報を更新し、
前記ＯＳ副連携ステップにおいて、前記ＯＳ主連携ステップにより通知された当該切り替え制御命令及び当該切り替え先の前記コンテンツ情報に基づいて、当該他のＯＳから、動作中の当該他のＯＳの前記コンテンツ情報を取得して前記ＯＳ主連携ステップに渡し、当該切り替え制御命令が実行された後に、切り替え先の前記コンテンツ情報を設定し、
前記ＯＳ主連携ステップにおいて、前記実行環境スケジュールステップに対して動作中の当該他のＯＳの前記コンテンツ情報を渡すことを特徴とする請求項６４から請求項７０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７２】
前記主制御ステップにおいて、前記実行環境の切り替えに際し、他のＣＰＵ上のＯＳ停止処理及び前記コンテンツ情報の保存処理を行い、当該他のＣＰＵを再起動させることを特徴とする請求項６４から請求項７１の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７３】
前記ＯＳ副連携ステップにおいて、前記追加処理の前記他のＯＳからの要求を前記ＯＳ主連携ステップに通知し、
前記ＯＳ主連携ステップにおいて、当該要求を前記実行環境スケジュール手ステップに対して通知することを特徴とする請求項６４から請求項７０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７４】
前記副制御ステップにおいて、
前記追加処理のアプリケーション若しくは前記他のＯＳからの要求を受理して参照した前記管理情報に基づいて、当該要求のスケジューリングの可否を判定し、スケジューリングできない場合に当該要求を前記ＯＳ副連携ステップに通知する同一実行環境スケジュールステップを有することを特徴とする請求項７３に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７５】
前記副制御ステップにおいて、
前記追加処理のアプリケーション若しくは前記他のＯＳからの前記実行環境切り替え制御命令を受理して参照した前記管理情報に基づいて、当該命令のスケジューリングの可否を判定し、スケジューリングできる場合に、前記ＯＳ副連携ステップに対して当該命令及び切り替え先の前記コンテンツ情報を通知し、前記ＯＳ副連携ステップにより通知された前記他のＯＳから受理した動作中の前記他のＯＳの前記コンテンツ情報に基づいて、切り替え後の設定情報が前記実行環境管理ステップで設定された後に、前記メモリ格納管理情報を更新する同一実行環境スケジュール手段を備え、
前記ＯＳ副連携手段は、当該通知後に前記他のＯＳから受理した動作中の前記他のＯＳの前記コンテンツ情報を前記同一実行環境スケジュールステップに渡し、前記設定情報が設定された後に、切り替え先の前記コンテンツ情報を設定し、
前記実行環境副管理同期ステップにおいて、前記実行環境管理ステップに対し、切り替え後の設定情報を設定することを特徴とする請求項６４から請求項７０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７６】
前記実行環境主管理同期ステップにおいて、前記実行環境の停止処理において、前記実行環境副管理同期ステップにより前記共有資源に記載した値が所定の値の場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとることを特徴とする請求項７０から請求項７５の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７７】
前記実行環境主管理同期ステップにおいて、前記実行環境の停止処理において、前記実行環境副管理同期ステップにより送信した割り込み要求を受信した場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとることを特徴とする請求項６４から請求項７０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７８】
前記実行環境主管理同期ステップにおいて、前記実行環境の停止処理において、前記実行環境副管理同期ステップとの間でバリア同期が達成されている場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとることを特徴とする請求項６４から請求項７０の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項７９】
前記実行環境の切り替え制御において、
前記実行環境主管理同期ステップにおいて、前記実行環境副管理同期ステップにより前記共有資源に記載した値が第１の所定の値の場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとり、
前記実行環境副管理同期ステップにおいて、前記実行環境管理ステップの設定後に、前記実行環境主管理同期ステップにより前記共有資源に記載した値が第２の所定の値の場合に前記実行環境を切り替えることによって前記実行環境主管理同期ステップと同期をとることを特徴とする請求項６４から請求項７６の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項８０】
前記実行環境の切り替え制御において、
前記実行環境主管理同期ステップにおいて、前記実行環境副管理同期ステップにより送信した割り込み要求を受信した場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとり、
前記実行環境副管理同期ステップにおいて、前記実行環境管理ステップの設定後に、前記実行環境主管理同期ステップにより送信した割り込み要求を受信した場合に前記実行環境を切り替えることによって前記実行環境主管理同期ステップと同期をとることを特徴とする請求項６４から請求項７５及び請求項７７の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項８１】
前記実行環境の切り替え制御において、
前記実行環境主管理同期ステップにおいて、前記実行環境副管理同期ステップとの間でバリア同期が達成されている場合に前記実行環境管理ステップを設定することによって前記実行環境副管理同期ステップと同期をとり、
前記実行環境副管理同期ステップにおいて、前記実行環境管理ステップの設定後に、前記実行環境主管理同期ステップとの間でバリア同期が達成されている場合に前記実行環境を切り替えることによって前記実行環境主管理同期ステップと同期をとることを特徴とする請求項６４から請求項７５及び請求項７８の何れか１項に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項８２】
前記フィルタステップにおいて、プログラムの実行状況に応じてアクセス可否を行うことを特徴とする請求項５０に記載のマルチプロセッサシステムにおけるシステム構成方法。
【請求項８３】
複数のＣＰＵを搭載するマルチプロセッサシステムにおける実行環境を構成するためのプログラムであって、
前記ＣＰＵに、
複数のＯＳを実行可能に搭載したシステム上で、前記複数のＣＰＵと前記複数のＯＳを任意に組み合わせて少なくとも一つの実行環境を形成させる処理と、
前記システム上で実行する処理に応じて当該実行環境の切り替え制御を行う切り替え処理を実行させることを特徴とするプログラム。
【請求項８４】
前記複数のＯＳの少なくとも一つがマルチプロセッサＯＳであり、
前記ＣＰＵに、
前記システム上で実行する処理のうち、前記システムに予め搭載されている基本処理を前記マルチプロセッサＯＳ上で実行させ、
前記システム上で実行する処理のうち、前記システム上で任意に追加又は削除される追加処理を他のＯＳ上で実行させることを特徴とする請求項８３に記載のプログラム。
【請求項８５】
前記切り替え処理において、
前記基本処理を実行する基本処理用実行環境を形成する前記ＣＰＵの割り当てを行い、
前記追加処理が存在する場合に前記追加処理を実行する追加処理用実行環境を形成する前記ＣＰＵの割り当てを行うことを特徴とする請求項８４に記載のプログラム。
【国際調査報告】
2008062647.tif 000093
2008062647.tif 000094
2008062647.tif 000095
2008062647.tif 000096