差分
ユーザーランド
,'''ユーザーランド'''(英語:user land)とは、[[OS]]を構成する要素のうち、[[カーネル]]よりも上層の部分を指す。
== 概要 ==
ユーザーランドとは大雑把に言えば[[OS]]に標準搭載されている各種[[コマンド]]や[[ユーザーインターフェイス]]、一般[[プログラマー]]が利用できるOS標準の[[API]]などの[[ソフトウェア]]群の総称である。
OSは基本的にカーネルとユーザーランドの二層構造になっていることが多い。
{| class="wikitable"
|+
! colspan="2" | 階層
|-
| colspan="2" | アプリケーション
|-
| rowspan="2" | OS
| ユーザーランド(ハードウェアを包み隠し、低速だが簡単で安全)
|-
| カーネル(ハードウェアに近く、高速)
|-
| colspan="2" | ハードウェア
|}
処理速度は[[ハードウェア]]に近いカーネルの方が高速であるが、安定性はユーザーランドの方が高いという特徴がある。
旧来の[[OS]]では[[カーネル]]の一部として実装されていた[[ファイルシステム]]や[[デバイスドライバー]]も、近年では近年では[[ハードウェア]]の高性能化にともない、処理速度は犠牲になるものの、安全性を考慮してユーザーランドにて実装するという技法も増えつつある。
ユーザーランドで動く[[ファイルシステム]]の例としては[[Unix]]や[[Linux]]の[[FUSE]]や[[Windows]]の[[Dokan]]などが有名である。
また、[[ゲーム]]などで使われる[[リアルタイム]]性の高い[[コンピューターグラフィックス]]の世界では処理速度が最優先であり、[[グラフィックボード]]の[[デバイスドライバー]]や[[DirectX]]などの[[API]]の大部分は[[カーネル]]にて動くものが多かったが、こちらも[[ハードウェア]]の高速化に伴いユーザーランドで動くようになりつつある。[[Windows]]であれば[[Windows Vista]]からこのようになっており、そのおかげで[[グラフィックボード]]の[[デバイスドライバー]]が[[バグ]]などにより[[クラッシュ]]しても[[パソコン]]本体や[[OS]]を[[再起動]]せずに復帰できたり、[[ゲーム]]や[[CAD]]を同時に複数起動できたりなど、様々なことができるようになった。
ちなみに[[ゲーム]]ではなく[[CAD]]などが主戦場であった[[OpenGL]]は古くからユーザーランドで動作するように設計されていた。このため[[OpenGL]]対応の高価な[[グラフィックボード]]を導入しても[[DirectX]]対応の安物にボロ負けするという現象が多発していた。
また、[[グラフィックボード]]周りの扱いが徐々に[[ハードウェア]]から遠ざかっていく時代の流れに疑問を感じた[[AMD]]は[[Mantle]]なるAPI群を発表している。
== 関連項目 ==
* [[カーネル]]
== 参考文献 ==
{{reflist}}
{{stub}}
== 概要 ==
ユーザーランドとは大雑把に言えば[[OS]]に標準搭載されている各種[[コマンド]]や[[ユーザーインターフェイス]]、一般[[プログラマー]]が利用できるOS標準の[[API]]などの[[ソフトウェア]]群の総称である。
OSは基本的にカーネルとユーザーランドの二層構造になっていることが多い。
{| class="wikitable"
|+
! colspan="2" | 階層
|-
| colspan="2" | アプリケーション
|-
| rowspan="2" | OS
| ユーザーランド(ハードウェアを包み隠し、低速だが簡単で安全)
|-
| カーネル(ハードウェアに近く、高速)
|-
| colspan="2" | ハードウェア
|}
処理速度は[[ハードウェア]]に近いカーネルの方が高速であるが、安定性はユーザーランドの方が高いという特徴がある。
旧来の[[OS]]では[[カーネル]]の一部として実装されていた[[ファイルシステム]]や[[デバイスドライバー]]も、近年では近年では[[ハードウェア]]の高性能化にともない、処理速度は犠牲になるものの、安全性を考慮してユーザーランドにて実装するという技法も増えつつある。
ユーザーランドで動く[[ファイルシステム]]の例としては[[Unix]]や[[Linux]]の[[FUSE]]や[[Windows]]の[[Dokan]]などが有名である。
また、[[ゲーム]]などで使われる[[リアルタイム]]性の高い[[コンピューターグラフィックス]]の世界では処理速度が最優先であり、[[グラフィックボード]]の[[デバイスドライバー]]や[[DirectX]]などの[[API]]の大部分は[[カーネル]]にて動くものが多かったが、こちらも[[ハードウェア]]の高速化に伴いユーザーランドで動くようになりつつある。[[Windows]]であれば[[Windows Vista]]からこのようになっており、そのおかげで[[グラフィックボード]]の[[デバイスドライバー]]が[[バグ]]などにより[[クラッシュ]]しても[[パソコン]]本体や[[OS]]を[[再起動]]せずに復帰できたり、[[ゲーム]]や[[CAD]]を同時に複数起動できたりなど、様々なことができるようになった。
ちなみに[[ゲーム]]ではなく[[CAD]]などが主戦場であった[[OpenGL]]は古くからユーザーランドで動作するように設計されていた。このため[[OpenGL]]対応の高価な[[グラフィックボード]]を導入しても[[DirectX]]対応の安物にボロ負けするという現象が多発していた。
また、[[グラフィックボード]]周りの扱いが徐々に[[ハードウェア]]から遠ざかっていく時代の流れに疑問を感じた[[AMD]]は[[Mantle]]なるAPI群を発表している。
== 関連項目 ==
* [[カーネル]]
== 参考文献 ==
{{reflist}}
{{stub}}