FreeBSD Daily Topics
2009年10月19日 FreeBSDステータスレポート200904-09 その4 - ZFSプロダクション品質へ,Grand Central DispatchをFreeBSDへ移植,libnetstat(3)で一貫性向上
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を使うとどの程度の効果が見込めるのかの調査,などが挙げられています。
- 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)もあると説明されています。
FreeBSD Daily Topics
- 2009年10月30日 高信頼性レプリケーションプロジェクトHAST,組み込みデバイス対応を広げるFDT - 2つのプロジェクトがファウンデーションの支援を取り付け
- 2009年10月28日 AsiaBSDCon 2010,BSDCan 2010-2013,3年ぶりにg4u最新版登場,NetBSD ZFS移植
- 2009年10月27日 FreeBSDステータスレポート200904-09 その8 - FreeBSDファウンデーション,新しいシステムコンソールの開発,Valgrind 3.5登場,VirtualBox最新版
- 2009年10月24日 FreeBSDステータスレポート200904-09 その7 - NFSv4 ACLs for ZFS/UFS,UFS/ZFS透過暗号化ファイルシステムPefs,8.0リリースエンジニアリング,FreeBSDフォーラム
- 2009年10月23日 FreeBSDステータスレポート200904-09 その6 - 新しいロケールシステム,BSDライセンスデバッガ
- 2009年10月22日 FreeBSDステータスレポート200904-09 その5 - libprocstat(3)プロジェクト,TCPおよびSCTP向けCUBIC帯域量制御アルゴリズムモジュール,ネットワークスタックの仮想化
- 2009年10月21日 FreeBSDステータスレポート200904-09 その3 - Ports Collection現状とメンテナ募集他,FreeBSD TDM開発,FreeBSD/sparc64開発
- 2009年10月19日 FreeBSDステータスレポート200904-09 その4 - ZFSプロダクション品質へ,Grand Central DispatchをFreeBSDへ移植,libnetstat(3)で一貫性向上
- 2009年10月15日 FreeBSDステータスレポート200904-09 その2 - LLVM Clangへの置き換え,RFC3465 - TCP Congestion Control with Appropriate Byte Counting対応,BSDライセンスext2fs,FreeBSD Geckoプロジェクト
- 2009年10月14日 FreeBSDステータスレポート200904-09 その1 - SoC成功17,Mono移植プロジェクト,BSDライセンスiconv,BSDライセンステキスト処理コマンド


