FreeBSD Daily Topics
2009年10月19日 FreeBSDステータスレポート200904-09 その4 - ZFSプロダクション品質へ,Grand Central DispatchをFreeBSDへ移植,libnetstat(3)で一貫性向上
2009年10月19日
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)もあると説明されています。
バックナンバー
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ライセンステキスト処理コマンド