heads-up
- FreeBSD/
ZFS これまで実験的機能としての提供と位置づけられていたZFSですが、
プロダクションレベルに到達したとして出力されるメッセージが変更されました。FreeBSD/ ZFSはすでにエンタープライズクラスのシーンでさまざまな採用事例を持っており、 すでに活用できるレベルと判断されたとみられます。現在のところ継続してZFSの改善が続けられているほか、 最新版となるZFS v. 19を移植する作業が続けられています。 - Grand Central Dispatch - FreeBSD port
Appleの提供しているGrand Central Dispatchのライブラリlibdispatchが移植されました。作業した内容として次の項目が説明されています。
- Grand Central Dispatchを実現するにあたり必要になるkqueue(2)プリミティブを2つ(EVFILT_
USER、 EV_ TRIGGER)追加 - libdispatchを使うためにautoconfおよびautomakeビルドフレームワークの作成
- MachセマフォではなくPOSIXセマフォを使うようにlibdispatchを変更
- POSIXタイムルーチンを使うようにlibdispatchを変更
libdispatchはすでにPorts Collectionにdevel/
libdispatchとして取り込まれています。FreeBSD 8. 0-RELEASEがリリースされたあとでkqueue(2) EVFILT_ USERおよびEV_ TRIGGERがMFCされる見通しになっているため、 FreeBSD 8. 1-RELEASEはデフォルトのカーネルでlibdispatchが使えるようになります。 なおJordan Hubbard氏がブロック記述をLLVM Clangで処理できるようにしたFreeBSD版を用意したことも説明されています。LLVM Clangでビルドする場合は関数ベースのコールバックと同じようにブロックベースの記述も使えると言及されています。 今後の作業としてlibdispatchテストスィートを完全に移植すること、
FreeBSD向けのpthreadワークキュー実装の調査、 Mac OS Xバージョンで実施されているOS依存およびマシン依存の最適化がほかのFreeBSDでどの程度影響がでるのかの評価、 FreeBSDのベースツールでlibdispatchを使うとどの程度の効果が見込めるのかの調査、 などが挙げられています。 - Grand Central Dispatchを実現するにあたり必要になるkqueue(2)プリミティブを2つ(EVFILT_
- The libnetstat(3) project
The libnetstat(3) projectがプロジェクトの目的やサポートしている抽象化対象を紹介しています。libnetstat(3)はネットワーキング機能をモニタリングするためのユーザランドライブラリで、
特の利点があると説明されています。 - モニタリングアプリケーションをカーネルやユーザABI変更から分離するための機能を提供する
- 64ビットカーネルにおいて32ビットモニタリングツールの実行をサポートする
- 情報を取得している段階でのkvm(3)およびsysctl(3)の双方における一貫性の向上
サポートしている抽象化レイヤは次のとおりです。
- アクティブソケットおよびソケットバッファ
- ネットワークインターフェースおよびマルチキャストインターフェース
- mbuf(9)統計情報
- bpf(4)統計情報
- ルーティング統計情報
- ルーティングテーブル
- マルチキャストルーティング
- プロトコル依存統計情報
libnetstat(3)を使ったサンプルアプリケーションとしてネットワークバッファアロケーションやアクティブコネクションのモニタリングを実施するtop(1)ライクインターフェースのコマンドnettop(8)を作成してあるという説明もあります。また、
可能な限りlibnetstat(3)を使うように書き換えたnetstat(1)もあると説明されています。