FreeBSD jail
FreeBSD jailには主に次の3つの利点がある。
仮想化: 各jailはホストマシン上で動く仮想機械であり、独自のファイルシステムやプロセス空間、ユーザーアカウントを持つ。jailの中のプロセスからは実際のシステムなのかjailの中なのかはほぼ区別できない。
安全性: 各jailは他のjailにアクセスできないようになっており、安全性が高まっている。
権限委譲の簡素化: 管理者権限のスコープがjail内に制限されているため、システムの管理者は本来管理者権限が必要な仕事を、計算機全体を操作する権限を渡すことなく行わせることが出来る。
jailのやり方は従来のUnixでプロセスのスコープを制限するのに使われるchroot jailに似ている。FreeBSD jailはこれを強化したもので、各プロセスは他のjailで動いているプロセスに干渉したり、raw socketやdivert socket、routing socketを操作したりできないよう、特別なカーネル構造体を用いて管理してある。
jail(8)ユーザーランドコマンドとjail(2)システムコールはFreeBSD 4.0で登場した。jailの取り扱いを簡単にする新しいユーザーランドコマンド (たとえば、jailの一覧を出すjls(8))やシステムコール (たとえば、jailに新しいプロセスを追加するjail_attach(2))はFreeBSD 5.1から追加された。