TL;DR

コンピュータのメモリ空間のうち、OS のカーネルを直接操作できない領域。通常のアプリケーションが実行される場所である。カーネル空間と対になる。

仕組み

Wikipedia によると、ユーザ空間はユーザプロセスが動作するアドレス空間で、プロセスごとに割り当てられる。実行時には、プロセスのコードとデータがここにロードされる。一般的な実装では、1 つの連続した仮想アドレス空間を特定のアドレスで区切り、ユーザ空間とカーネル空間に分ける。分け方は OS や CPU のアーキテクチャによって異なる。ユーザプロセスがカーネル空間の範囲にアクセスすると、例外が発生する。

例

Windows 系や Unix 系の OS は、ユーザ空間とカーネル空間を分けている。一方、DOS や NetWare 3 はユーザ空間を持たない。

関連

出典