名前空間

ちょっと間が開いてしまった.

Plan9の特徴,強力な機能の一つが名前空間である.名前空間とは簡単に言うと名前とファイルを対応付ける仕組みである*1.何度も書いているが,Plan9はすべての資源をファイルに抽象化し,(ローカルであるかリモートであるかに関係なく)階層的な名前空間を提供しているが,これと同じくらい重要なのが,ユーザ,プロセスごとに固有の名前空間を持てることである.つまり,レンタルサーバなどで使われているchrootやjailのような特別な(後付け的な)仕組みは必要ない.名前空間は,bind(2)とmount(2)を使ってカスタマイズできる.この辺りの仮想化関連技術は最近のホットな話題だ.また,Linuxでもプロセスごとの名前空間を導入しようという動きはあるようだが,なかなかすんなり行きそうにはない.
今度は名前空間周りのコードを追っかけて行きたい(といっても週末になるけど...).

*1:実際は名前→チャネル→ファイルという流れになるようである.このチャネルがかなり重要そうで,コードを理解できるかのキーになりそうだ