2009年5月8日と9日、カナダのオタワ大学にて*BSD国際会議BSDCan2009が開催されました。2004年から毎年開催され、2009年で6回目となります。前日の6日と7日には有料のセッションであるチュートリアルの開催や、*BSDデベロッパごとのサミットが開催されました。本稿ではBSDCan2009で発表があったWIPs(Work In Progress Sessions)やLLVM clangに関する話題を速報として簡単に紹介します。
rc.d concurrency - Collin Pervical
サービスの起動停止などの管理を担当しているrc.d処理の並列処理を実現に取り組んでいるという発表がCollin Pervical氏からありました。rc.dの並列処理を実現するには検討すべき課題が多いのですが、これが実現されるとシステムの起動時間やサービスの起動時間が短縮できるようになる可能性があります。
bsdinstaller for FreeBSD - Scott Ullrich
主に開発者の作業時間の欠如から開発が停滞しているFreeBSD GUIインストーラfinstall (ここではbsdinstallと表記されていました)に関する発表がScott Ullrich氏から行われました。PC-BSDやsysinstall(8)で実現されているもののbsdintallでは実現されていない機能をまとめ、またそれ以外にも要望がある機能などが示されました。
kernel fault injection - Zach Loafman
Zach Loafman氏からはカーネル内部で故意に、たとえば0.1%の確率でsysctlで指定した値が関数の返り値として返るようにして、フォールト状態を発生させるための取り組みが紹介されました。問題のある状態を簡単作り出すことが可能になる機能で、カーネル開発における堅固性確保に活用できそうです。
PAT - John Baldwin
John Baldwin氏からは、最近開発を行ったmmapの拡張機能に関する話題が紹介されました。最近のGPUはユーザランドとカーネルランドの双方においてより複雑なメモリマッピング機能を要求します。これら要求に答える機能をmmapの機能として実装したというもので、この機能によってamd64版においてもNVIDIAドライバが動作するようになりそうです。
jbuild - John Birrell
次世代BSDMakeに関する発表がJohn Birrell氏からありました。発表ではmake++といった表記が見られました。依存関係の自動処理や構造の見直しなどで、現在よりも細かい単位での並列ビルドを可能にする取り組みです。また、ビルド処理の高速化を実現するための機能も紹介されました。BSDMakeレベルでこうした機能が実現できると、システムの構築などでマルチコアの活用が現在よりも引き上げられ、システム構築時間の短縮につながります。
FreeBSD on Xen - Doug Rabson
HEADブランチにはすでにマージされていますが、DomUとして動作するFreeBSD/Xenに関する発表がDoug Rabson氏から行われました。XENHVMカーネルコンフィグを使うことでXen DomUとして動作させることができます。
Booting from ZFS - Doug Rabson
ブートパーティションもZFSで使う方法が同じくDoug Rabson氏から紹介されました。今のところsysinstall(8)がZFSのインストールに対応していないため、ブートパーティションをZFSにするにはいくらかの手法が必要になります。その方法が簡単に紹介されたほか、今後の作業としてsysinstall(8)にZFSブート対応機能を追加するといった話が紹介されました。
FreeBSD/MIPS - Warner Losh
MIPSに対するFreeBSDの移植状況がWarner Losh氏より発表されました。FreeBSDはとくにこの1、2年で組み込みアーキテクチャへの移植が一気に表立って進みました。Warner Losh氏からは現在移植して動作するボードやプロセッサの紹介などがおこなわれました。
FreeBSD Moving to LLVM clang?
BSDCan WIPsでもFreeBSD Developer Summit、BoFでも話題にあがりましたが、FreeBSDプロジェクトでも幾人かがシステムビルドをGCCではなくLLVM clangに置き換える作業に取り組んでいます。すでに報告されているとおり、システムビルドの99%が成功し、i386/amd64はカーネルの起動が確認されています。
LLVM clangはFreeBSDプロジェクトの関係が良好であったり(FreeBSDをビルドするためのパッチの取り込みが迅速)、BSDライセンスという採用のしやすさ、エコシステムがうまく働いているため今後も改善が期待できるといった利点があり、注目を集めています。FreeBSD 9では実験的に取り込みたいという話がでていました。
ここで取り上げたWIPSのこれ以外のものや、LLVM clangに関するより詳しい紹介は『Software Design』2009年7月号(6/18発売)に掲載予定です。ぜひそちらも合わせてご覧ください。