メモリおよびプロセッサを備えるコンピュータ上で実行するオペレーティングシステムの挙動を修正し、前記オペレーティングシステムにより前記コンピュータの前記プロセッサ、メモリ、およびその他のリソースを制御する、方法であって、複数のポリシーを読み取り、該複数のポリシーの各々により、前記オペレーティングシステムを現在の環境に適合させるために取るべき1つまたは2つ以上の条件および1つまたは2つ以上のアクションを指定することと、前記コンピュータの前記現在の物理的な環境の観測を備える観測値を受信することと、前記観測値に対する前記ポリシーを評価して観測値が予め定めた条件を満たすことを決定し、およびそれに応答して、前記複数のポリシーにおいて特定された前記オペレーティングシステムの機能を修正することを備えることを特徴とする方法。前記観測値を、前記コンピュータに取り付けられ、前記コンピュータの外側の物理的な環境を感知するセンサの読み取り値から導出することを特徴とする請求項1に記載の方法。前記観測値を監視し、および前記特定された条件の何れかが前記観測値によって満たされるかを繰り返し決定することとをさらに備えることを特徴とする請求項2に記載の方法。前記オペレーティングシステムはカーネルモジュールを備えるカーネルを備え、および前記オペレーティングシステムの機能を修正することは、前記カーネルモジュールの一つによって実装される設定またはアルゴリズムを修正することを備えることを特徴とする請求項1に記載の方法。前記修正されたカーネルモジュールは、割り込み処理モジュール、スレッドスケジューリングモジュール、プログラム実行モジュール、メモリ管理モジュール、デバイスドライバ管理モジュール、セキュリティオブジェクト、ネットワーキングモジュール、または不揮発性ストレージシステム、のいずれかを備え、および前記修正することは、前記修正されたカーネルモジュールによりどのように前記コンピュータのリソースを制御するかを改変することを備えることを特徴とする請求項4に記載の方法。前記観測は、前記環境の気温の測定、前記コンピュータの速度または加速度の測定、地理的位置の測定、高度の測定、気圧の測定、または周囲の電磁力の測定、大気中の含有量の測定、地震活動の測定、または電力の測定のいずれかを備えることを特徴とする請求項5に記載の方法。プロセッサおよびハードウェアコンポーネントを備えるコンピューティング装置により処理を実行することを可能とする情報を格納する、1つまたは2つ以上のコンピュータ可読ストレージ媒体であって、前記処理は、前記コンピューティング装置の現在の物理的な環境についての環境データを受信することと、前記物理的な環境の物理的な環境の条件を特定する一連のルールを評価して、前記物理的な環境がルールによって特定された条件を現在有することを前記環境データから決定することと、前記物理的な環境が前記特定された条件を有することを決定したことに応答して、前記オペレーティングシステムのリソース制御の挙動を修正し、それにより前記オペレーティングシステムの前記リソース制御の挙動を前記物理的な環境に従って修正することを特徴とする1つまたは2つ以上のコンピュータ可読ストレージ媒体。前記環境データを前記受信することは、前記物理的な環境の様相を感知する物理的なセンサを読み取ることを備え、および前記物理的なセンサを感知することは、気温、速度、湿度、気圧、加速度、振動、または磁力強度のいずれかを示す信号を生成することを備えることを特徴とする請求項7に記載の1つまたは2つ以上のコンピュータ可読ストレージ媒体。前記リソース制御の挙動は、前記オペレーティングシステムがどのように前記ハードウェアコンポーネントまたはプロセッサに対するアクセスの優先順位付けを実行するかを備えることを特徴とする請求項7に記載の1つまたは2つ以上のコンピュータ可読ストレージ媒体。前記リソース制御の挙動は、前記オペレーティングシステムのメモリ管理、前記オペレーティングシステムの電源の管理、前記オペレーティングシステムのプロセスもしくはスレッドのスケジューリング、またはオペレーティングシステムの入力/出力管理のいずれかを備えることを特徴とする請求項7に記載の1つまたは2つ以上のコンピュータ可読ストレージ媒体。以下に述べる実施形態はオペレーティングシステムのホストコンピュータの物理的な環境を認識しおよび適合するオペレーティングシステムに関連する。物理的な環境を考慮するオペレーティングシステムのための設計概念の概要から説明を開始する。当該設計を実装するための特定の実施形態を次いで説明する。ポリシーおよび施行モデルを使用する実施形態を次に説明する。ポリシーをどのように定め、および用いるかについての詳細を包含し、次いで、オペレーティングシステムの中核となる機能が直接の環境認識ならびに環境条件の変化に対する自己適合を有するオペレーティングシステムについて述べる。図1は環境的に認識するオペレーティングシステム設計を示す。コンピュータ100は物理的な環境102にある。コンピュータ100はプロセッサ、プロセッサと共に用いられるメモリのようなストレージ、入出力機能、等々を持つ何れの種類のコンピューティング装置であってもよい。コンピュータ100は何れの形式または目的を有することができ、および組み込み装置、モバイルハンドヘルド装置、ラップトップ、車輌またはモバイル機器に一体化されたモニターレス装置、動いている状態のもしくは動的な環境条件に晒されるパーソナルコンピュータまたはその他いかなる種類のコンピュータであってもよい。物理的な環境102は屋外または移動により変化する必要はない。物理的な環境102は本明細書においてコンピュータ100のすぐ近くであると考える。コンピュータ100は1つまたは2つ以上の物理的なセンサ104を備える。各々の物理的なセンサ104により物理的な環境102の測定可能な様相を感知する。物理的なセンサ104はいかなる種類であってもよく、例えば、気温センサ、動きセンサ、地理的位置センサ例えば、GPS装置、回転または慣性センサ例えば、ジャイロスコープ、圧電センサ、空気圧センサ、加速度計、湿度センサ、光センサ、磁界センサ、亜原子粒子探知器、放射線センサ、消費電力センサ、地震センサ、大気量センサ、電圧入力センサ、等々とすることができる。コンピュータ100は、カーネル106をも有するが、当該カーネルはコンピュータを制御するオペレーティングシステムの一部である。カーネル106は公知のカーネルの何れのタイプ、例えば、モノリシックカーネル、マイクロカーネル、これら双方の混成体、組み込みカーネル、リアルタイムカーネル、またはその他に基づくことができる。さらに、カーネル106はハイパーバイザまたは次にバーチャルマシンをホストするハイパーバイザの実行を管理するマネジメントオペレーティングシステムとすることができる。以下に述べるように、カーネル106は何れのカーネルによって典型的に実行される種々の機能を有するが、従来のカーネルとは異なり、それらの機能はコンピュータ100の物理的な環境に適合される。図2は、カーネル106をそのホストコンピュータ100の物理的な環境102に適合させるための処理を示す。概念的に、物理的な環境102によりカーネル106の挙動を通知する。すなわち、物理的な環境102における変化が感知されおよび特定されると、カーネル106の機能性は適合する。具体的には、ステップ130において、以下に説明される種々の手段によって、物理的なセンサ104からの読み取り値、すなわちデータを受信する。読み取り値をノイズに対してフィルターし、解釈し、およびことによってはローカルプロトコルを介してポリシーエンジンに渡す必要があるかもしれない。ステップ132において、観測値を予め定義されたまたはユーザ指定の条件と比較し、カーネルまたはオペレーティングシステムの機能性の何れの修正が求められるかどうかの決定をする。ステップ134において、観測値から特定の環境条件が存在すると決定された時、オペレーティングシステム、および特に、カーネル106の挙動または機能性を修正する。カーネル106の修正は、コンピュータ100の管理プログラムおよびコンピュータ100のハードウェアとコンピュータ100上で実行するアプリケーション108との間のメディエータとしての、その中核となる機能の一つに作用することができる。このように、カーネル106の挙動自体が物理的な環境102に敏感である。これは、環境的に通知される、カーネルが処理するアプリケーションの単なる活動例えば、スケジューリング、メモリ割り当て、等から識別されることになる。さらにまた、修正の性質は変化し得る。カーネル106が使用するアルゴリズムを改変し、取り替える、等をすることができる。このようなアルゴリズムに作用するカーネル状態を物理的な環境の条件に応答して修正すことができる。要するに、カーネル106を修正して、リソースのエグゼクティブおよびコントローラとしてその役割をどのように実行するかに作用するようにする。理解のため、いくつかの適合例を述べる。条件およびアクションの仕様等の詳細、および施行の機構を以下に説明する。気温値がある特定の閾値を超えると感知した時、オペレーティングシステムもしくはカーネル106の挙動が調整され、それによって、多分、幾つかのメンテナンス家庭を間引きまたは処理優先順位を下げ、あるいはCPUに供給される電圧を下げるSpeedStep登録商標のような省電力機能を使用することによって、CPUがより少ない動作を実行しまたは遅いレートで動作ようにする。突然の速度の変化が検知された時、いかなるディスクフラッシュを防止し、およびファイルに対する新しい書き込みを順番に待機させることによって、カーネル106によりハードディスクに対するいかなる書き込みも阻止することができる。あるレベルの放射線が検知されたとき、カーネル106はそのメモリ管理ルーチンを改変して、エラー訂正符号を用いて放射線によって誘発されるビット反転を低減させることができる。気温が予め定められた閾値を超えるか下回る時コンピュータが屋外にあることを示唆している、カーネル106のセキュリティパラメータを調整して、セキュリティを高めることができる。環境条件の組合せが検知されたとき、カーネル106は特定の指定された処理または装置のためのI/O動作の再優先順位付けを行うことができる。コンピューティング装置が、遠心分離機内または回転する車輌内で発生するように現在、一定の加速/力を受けていることを決定するのに応答して、スレッドまたはタスクスケジューリングアルゴリズムに変化があり、したがってオペレーティングシステムが実行ユニットをスケジュールする方法が変化する。オペレーティングシステムの機能を調整するための条件は、オペレーティングシステムの条件を含むこともできる。オペレーティングシステムの機能は、オペレーティングシステム条件と組合せた環境条件に基づいて調整することができる。オペレーティングシステムから利用可能なこのような情報は、CPUアイドル時間、合計メモリ使用、ユーザ入力からの時間、動作中のスレッドまたはコンテキストの数、オープンファイルの数、動作中のネットワークコネクション、保留中の割り込みがあるか、等々とすることができる。一般的に、あるオペレーティングシステム条件が存在するときのみ、環境条件は意味を与えるようにしてもよい。例えば、気温>80およびCPU使用<50のような条件は1増分だけのCPU速度を減少させるのようなアクションのためのトリガとして用いることができる。または、使用メモリ<50MBおよび速度>30であれば、ディスクキャッシュのサイズをXだけ増加させるとする。別な例として、メモリページフォールト>10/秒および湿度>80であれば、プロセッサ割り当て=モード2とする。感知された物理的な環境値およびシステム値の組合せを用いるいかなるブール演算式も、特定され、および当該ブール演算式が満たされた時にとられる何らかのアクションに関連付けられることができる。図3は詳細な実施形態を示す。カーネル106は公知の中核となる種々の機能のいかなるものも実行することができる。カーネル106は、メモリマネージャ150、I/O制御モジュール152、プロセスの生成を処理するためのマルチタスキングモジュール154およびCPUをそれらが共有することを含むことができる。電源マネージャ156は例えば、スリープ状態、シャットダウン状態、またはアイドル状態のような種々の電源状態に入ることに関連した、種々の電源管理機能を実行することができる。種々のその他の機能またはモジュール158により、オブジェクト管理、ファイルシステム管理、ストリームプロセッシング、およびその他公知の機能のようなその他の公知のカーネル機能を提供することができる。種々のカーネル106の機能によりコンピュータ100の種々のハードウェアコンポーネントへのおよびそれらコンポーネントからのアクセスを制御することができる。このような公知のハードウェアコンポーネントは、一実施形態においては、グラフィックカードまたはディスプレイアダプタ等の周辺装置160、電源162、入力装置164、揮発性ストレージ例えば、メモリおよび/または不揮発性ストレージ例えば、ディスクドライブ等のストレージ装置166を含むことができる。言うまでもなく、コンピュータ100は、カーネル106を実行し、およびカーネル106によって制御される別のハードウェアリソースでもあるプロセッサ図示せずを有することができる。カーネル106およびハードウェアコンポーネントに加えて、コンピュータ100は物理的な環境102の感知された様相を検知し、および応答するためのシステムを有する。前述したように、種々のセンサ104A、104B、104C、104D、104Eをコンピュータ100の一部とすることができる。センサ104A-104Eにより気温、位置、動きの種類、気圧、磁界、荷電粒子または素粒子、大気ガス、重力、等を感知することができる。1つの種類のセンサのみが必要であることに留意されたい。さらに、センサ104Cおよび104E等の幾つかのセンサはコンピュータ100の外側に存在することができ、またはセンサ104A、104B、および104D等の幾つかのセンサはコンピュータ100の内側もしくはコンピュータ100に一体化させることができる。センサはコンピュータ100のハードウェアの一部である必要はないが、コンピュータ100はコンピュータ100と同じ局所的な物理的な環境102におけるセンサによって通信された読み取り値を受信することができる。環境適合システムは、種々のソフトウェアコンポーネントをも含む。計装レイヤ168はコンピュータ100上で実行する。計装レイヤ168はセンサ104A-104Eからのデータを抽出するレイヤである。すなわち、計装レイヤ168は、多分、各センサ104A-104Eのデバイスドライバと交信することによって、各種のセンサ104A-104Eと交信するためのロジックを有することができる。計装レイヤ168は、オペレーティングシステムがもともと備えている計測レイヤ168を通して、またはプラグアンドプレイインターフェースを通して受信した環境の読み取り値を用いることもできる。計装レイヤ168は、コンフィギュレーション設定を通して、どのセンサが接続されているかおよびそれらがどのように交信するかについての情報を有することができる。この情報により、計装レイヤ168によりセンサ読み取り値をポリシーエンジン172との交信のための共通のフォーマットに変換しおよびカプセル化することができる。ポリシーエンジン172は、カーネル空間において比較的高い優先順位で例えば、高い優先順位の割り込みで実行して、迅速な介在を可能にする。カプセル化された物理的な観測値174をポリシーエンジン172に渡す。物理的な観測値174は、名前-値の対のような形式を有することができ、ここで、名前または識別子によって観測源例えば、センサ104Cを特定する番号または名前を特定し、および対応するセンサからの物理的な読み取り値に対応する値を含む。カプセル化された物理的な観測値174は、含まれた観測値のデータの種類を示すフラグを有することもできる。ポリシーエンジン172により、物理的な観測値174に基づいたカーネル106の挙動を管理するルールを実装することができる。このようなルールの例は上記に一覧された。ポリシーエンジン172によって評価されたルールは、ローカルバスまたはデータネットワークを介して別のコンピュータから受信されるコマンドまたは設定等のその他のデータ174を考慮することができる。ポリシーエンジン172は、メモリの状態についてのデータ、ディスクの活動についてのデータ、CPU使用についてのデータ、等のようなシステムデータ176を受信することもできる。例えば、センサが観測値を送信する頻度が、ポリシーエンジン172がセンサの観測値を用いるルールを評価する頻度と異なる時ポリシーエンジン172は、受信された物理的な観測値174をキャッシュすることもでき、それにより、観測値を環境における傾向に合成することおよび対応するセンサと同期させることの双方を可能とする。ポリシーエンジン172は、1つまたは2つ以上のライブラリ図示せずを実行することもできる。ライブラリは、ルールによって呼び出されることができ、ユーザがプログラムした高レベルの機能を実装してもよい。例えば、機能は物理的な観測値174において提供されたような地理的位置を現在のコンピュータ100の位置での予想された天候条件等のその他のデータに対して、マッピングしてもよい。他の機能は、最近の位置または速度の読み取り値のキャッシュされたシーケンスを読み取り、次いでコンピュータ106の現在の物理的な加速を計算するようにしてもよい。他の機能は、磁気観測および速度観測から誘発された電気エネルギーを計算するようにしてもよい。一般的に、ポリシーエンジン172は物理的な観測を解釈するいかなるコードを実行することとしてもよい。ポリシーエンジン172によりルールを評価するが、ここでルールは環境条件ある物理的な条件および取るべき何らかのアクションの双方を指定し、ここでアクションは一般的にカーネル106またはそれを取り囲むオペレーティングシステの中核となる挙動に対して作用しまたは改変する。ルールをストレージ装置166に格納されたポリシーファイルまたはポリシーステートメント178において指定することができる。ポリシーエンジン172が実行を開始した時、ポリシーエンジン172によって、ポリシーステートメント178が読み取られ、構文解析され、および繰り返し評価される。ポリシーエンジン172はブール演算式を含む形式言語を実装することができる。ルールは、幾つかの複雑なまたは複合のブール演算式例えば、AANDを有することができ、ここで、変数は物理的な観測値174のデータ、オペレーティングシステムデータ176、またはその他のデータ174を格納する。ルールは施行アクションを伴い、その施行アクションは、カーネル106を修正するために何れのステップまたは複数ステップが取られるかを示す。アクションは施行モジュール180によって実装され、その施行モジュール180により、カーネル空間カーネル特権のメモリ空間において実行するか、またはカーネル106に対するコールを発行する。ここで、カーネルモードにおける動作は性能を改善することができるが、いずれも許容可能である。施行モジュール180を、ポリシーエンジン172によって呼び出し可能な高レベルの施行アクション機能を提供するAPIとすることができる。例えば、施行モジュール180は、カーネル106に対して種々のコールを発行し、およびカーネル106がどのように動作するかを調節するフラグまたはコンフィギュレーションの設定を変化させることにより、コンピュータ100の種々の活動をS秒間一時停止する一時停止すると呼ばれる機能を有してもよい。施行アクションのその他のタイプも可能である。ユーザモードスレッドを凍結し、または優先順位付けを解除してもよい。それ以上のいかなるディスクアクセスをロックしてもよい。休止状態またはシャットダウンを開始してもよい。外部の周辺装置への電源を遮断してもよい。逆に、プロセッサが組み込み装置上で低電力状態にある場合、プロセッサに上向きに給電し、一方で低い優先順位のスレッドを押し下げることにより、装置がすぐに作動刺激に応答することができるようにする。上述したように、カーネル106の挙動をコンピュータ100の物理的な環境102に基づいて制御する。図4はポリシーファイル200を示す。ポリシーファイルは、ポリシーエンジン172および施行モジュール180を構成する情報を有することができる。ポリシーファイル200は、幾つかのマークアップ言語コードまたは別の形式言語におけるコードを包含することができる。読み取り値を提供している異なるセンサを宣言するセンサセクション202を含むことができる。センサ宣言によりセンサの名前およびデータタイプを指定してもよい。ポーリング頻度も含めて、どれくらいの頻度でセンサが新しい読み取り値を提供するかを示すこと、またはどれくらいの頻度でキャッシュされたセンサの大部分の観測がポリシーエンジン172によって読み取られおよび更新されるかを指定してもよい。施行セクションにより幾つかのグローバルルールを指定してもよいし、または高レベルのアクションもしくは施行機能例えば、上述のSuspend機能を定義してもよく、それを何れかのルールのアクションによって呼び出すことができる。ポリシーセクション206はポリシー178等の種々のポリシーを包含してもよい。図4は、例のみを示している。マークアップ言語、名前-値の対のような形式等を使用する要求はなく、一般的にポリシーを記述するのに数多くの公知の方法がある。ポリシーは1つまたは2つ以上のルール207を有することができる。ルール207により条件208およびアクション210を定義することができる。条件208は、前述の通り、現在または最近の環境の観測値およびおそらく付属されるデータに従って、ポリシーエンジン172によって評価される。ルール207の条件208により真と評価する時、対応する施行アクション210は施行モジュール180によって呼び出されおよび実行される。図5はポリシーファイル230の例を示す。種々のセンサの種類が物理的なセンサ104に対応して、定義される。ポリシーエンジン172または計装レイヤ168はセンサの定義を使用して、どの物理的なセンサ104と交信するか、どのようにそれらと交信するか、およびどのようにそれらの観測を解釈するかを特定する。図5におけるセンサおよびポリシー定義は図示のために提供された例にすぎない。環境適合システムを用いると、ユーザは柔軟におよび簡単に新たなセンサを追加し、ポリシーを追加または修正し、新しいルールまたはアクションを指定し、新しいオペレーティングシステムコンポーネントカーネルコンポーネントを含む等を、カーネル106を構築し直す必要なしに、動的にロードすることができることに注意されたい。それでもなお、一実施形態において、施行アクションにより、オペレーティングシステムが再起動されることによっては新しいコンポーネントまたはライブラリがカーネル106とリンクされることを可能とすることを要求するカーネル106の再構成を惹起してもよい。図6は図3に対応する処理を示す。ステップ250において、環境の観測、例えば、のような名前-値の対が受信されまたは読み取られる。ステップ250は関連したセンサのために指定されたポーリング頻度に従って実行されることができる。あるいはまた、ステップ250は何れのセンサから新しい観測値が受信されるたびに実行することができる。ステップ252において、プロセスは受信された読み取り値または観測値を参照する何れかのポリシーを特定する。例えば、ポリシー178が、屋外の気温についての条件を特定するルールを有する場合、当該ポリシーまたはルールが特定される。ステップ254において、何れかの特定したルールを評価する。すなわち、ルールの条件は、ステップ250において受信された適切な観測値または読み取り値に従って評価される。ルールが満たされない条件が真ではない場合、プロセスはステップ250に戻る。ステップ256において、真と評価された各々の条件に対して、対応するアクションを施行モジュール180によって実行する。その結果は、ステップ258においてカーネル106の状態または機能性が修正されるということである。以前に述べた通り、多分、レジストリもしくはコンフィギュレーションファイルにおいてカーネル106のコンフィギュレーションパラメータを修正することにより、あるいは幾つかの実行可能なコードまたはカーネル106によって管理されるカーネル特権のメモリ空間における変数を変化させることによって、カーネル106を種々の方法で修正することができる。その効果は、カーネル106が環境的に認識するようになることである。すなわち、カーネル106によりコンピュータ100を制御する方法を、コンピュータ100の種々の指定された環境の物理的な条件に修正し、または適合する。図7は環境的に認識するカーネルまたはオペレーティングシステムを示す。本実施形態は、組み込みシステム、または小さくおよび効率的であるように設計されたマイクロカーネルのようなカーネルに適しているかもしれない。本実施形態において、カーネルと物理的なセンサ読み取り値との間の中間のレイヤを使用するよりも、環境のデータをカーネル280内に渡し、およびそのレジスタまたはメモリに格納する。言い換えると、カーネル280によって、カーネルのホストコンピュータが常駐する現在のまたは最近の物理的な環境についての環境データ282を格納する。環境データ282を、ホストコンピュータのバス上に実装してもよいデータ交換プロトコル284を介して、受信することができる。本実施形態において、中核となる機能286またはカーネル280のサービス/コンポーネントによって、環境282が更新された時に生成された割り込みに応答し、定期的に、環境データを監視しまたは環境データ282を読み取る。一実施形態において、共有された環境のセンサはネットワークまたはデータリンクを通してデータをリモートで交信することができる。コアとなる機能286を適切に構成して、それらの通常のシステム機能に加えて、それら機能が、環境データ282に基づいてどのようにそれら機能がそのような機能を実行するかを変化させるロジックを有もする。包括的に、以下の何れにおけるオペレーティングシステムの機能性を修正することができる。すなわち、割り込み処理、スレッドスケジューリング、プログラム実行、メモリ管理、デバイスドライバ、セキュリティオブジェクト、ネットワーキング、および不揮発性ストレージシステムを修正することができる。例えば、バーチャルメモリ管理プログラムVMMは現在の気温を包含しているレジスタをチェックし、それに応答し、VMMによりメモリ空間を変化させ、新しいキャッシュアルゴリズムにスワップし、またはディスクに格納したバーチャルメモリに対してマッピングするメモリ空間への書き込みを一時的にブロックする、等々を実行するループを有することもできる。カーネルは、コアとなる機能286の小さなマップおよびそれら機能がそれぞれアクセスする環境データ282、およびおそらく関連付けられた環境データ282が変化するときに実行されるそれぞれのコアとなる機能286におけるコード部分例えば、スレッドのアドレスをも維持するコンポーネントを有することができる。図8は図7に対応する処理を示す。ステップ300において、カーネルモジュールまたはコアとなる機能286は、メモリを管理し、どのプロセスが現在実行されるかを含んでいるコンテキストおよびプロセスを実行することを管理し、電力を調整し、ファイルシステム活動を処理する、等々のようなカーネル280におけるその通常の機能を繰り返して実行している。ステップ302において、カーネルモジュール軽い監視モジュールまたはコアとなる機能286のいずれかにより環境データ282を監視し、およびその変化を検知する。ステップ304において、変化した環境データ282に対して敏感な、コアとなる機能286によって挙動の適合が要求されるかを決定する。テストされた環境の条件が存在する場合、カーネルパラメータを変化させ、1つまたは2つ以上のカーネルコールを呼び出す、等々のように適切なアクションが取られる。図8のアプローチにより、コンピュータのハードウェアに最も近いカーネル280は、コンピュータのハードウェアを脅かす環境の条件に対してすぐに反応することができる。放射線による損傷または磁気誘導、急な加速または減速、等のような突然の変化により、全ての活動を完全に一時停止し、ハードウェアコンポーネントの給電を完全に遮断し、脆弱なデータを保護し、データセキュリティを高める、等々のような目安によりすぐに応答させることができる。種々の実装を上述してきたが、実施例は図示および議論のために提供される。環境的に認識するカーネルの概念は異なる形態において実現することができる。さらに、本明細書において説明される技術は、いかなる種類のオペレーティングシステムまたはカーネルにも用いることができる。例えば、当該技術を、厳格なタイムウインドにおいてイベントに応答しなければならないハードバージョンおよび一定の遅延が許可されるソフトバージョンを含む、リアルタイムオペレーティングシステムここで、オペレーティングシステムは特定のイベントに特定の時間内で反応しなければならないで用いることができる。カーネルに関して、いかなる種類のカーネル設計、例えば、マイクロカーネル、モノリシックカーネル、およびハイブリッドを用いることができる。結論以上に説明した実施形態および機能は、コンピュータまたは装置が読み取り可能な揮発性もしくは不揮発性媒体に格納された情報の形態で実現することができる。当該媒体は、光学のストレージ例えば、CD-ROM、磁気媒体、フラッシュ読み取り専用メモリROM、あるいはデジタル情報を格納する現在または将来の何れかの手段等の媒体を少なくとも含むものとする。当該格納された情報は、上記で検討した種々の実施形態を実行するコンピューティング装置を可能にし、または構成するために用いることができる機械が実行可能な命令例えば、コンパイルされた実行可能なバイナリコード、ソースコード、バイトコード、もしくはその他何れかの情報の形態とすることができる。当該媒体は、少なくとも実施形態を実行するプログラムの実行中にCPU命令等の情報を格納するRAMおよび/またはバーチャルメモリ等の揮発性メモリ、並びにプログラムまたは実行可能ファイルをロードしそして実行することを可能とする情報を格納する不揮発性媒体を含むものとする。実施形態および機能は、携帯装置、ワークステーション、サーバ、モバイル無線装置、等々を含むいずれかの種類のコンピューティング装置上で実行することができる。