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