【レポート】

BSDCon 2006 Canada/FreeBSD developer summit - 新malloc(3)実装 jemalloc/NanoBSDアプライアンス/Distributed VCS

2 組込用FreeBSD/Distributed VCS

    後藤大地  [2006/05/15]

    Building a FreeBSD Appliance With NanoBSD

    FreeBSDデベロッパPoul-Henning Kamp氏からは、FreeBSDを使って組み込みシステムを開発するという内容で発表がおこなわれた。NanoBSDである。

    FreeBSDデベロッパ, Poul-Henning Kamp氏

    組み込み機器にはサーバ機器にはないいくつもの特徴がある。たとえばコンパクトフラッシュをベースとしたディスクシステムには書き込みに寿命があり、サーバシステムと同じモデルを適用したのではすぐに壊れてしまう。同様に、多くの点で組み込み機器特有の性質がある。FreeBSDで組み込み機器を開発する場合、この点を考慮しなければならない。

    そこでNanoBSDである。NanoBSDはFreeBSDベースの組み込み向けのシステムだ。FreeSBIEと同じく、完全にFreeBSDをベースにして構築されている。つまりFreeBSDからディスクイメージを生成するタイプのシステムである。FreeBSDからLiveCDを作るシステムがFreeSBIEであり、組み込み向けディストリビューションを作るシステムがNanoBSDということだ。

    NanoBSD ディスクレイアウト

    NanoBSDは完全にFreeBSDであるから、FreeBSD portsからインストールするアプリケーションはそのまま動作する。仕組みは組み込みシステムの特性に合わせたものにチューニングされている。

    NanoBSDはFreeSBIEとは違いportsではなくベースシステムに統合されている。/usr/src/tools/tools/nanobsd/に実態が用意されているから、興味があるユーザは調べてみるといいだろう。

    NanoBSD を搭載した機器たち

    Poul-Henning Kamp氏からは、実際にNanoBSDで構築されたデバイスを壁につるしあげた写真が紹介された。多種多少な機器でFreeBSDが動作していることがわかる。

    BSD系のOSとしては、組み込み用途といえばNetBSDだ。組み込み機器を対象にして世界中でインストールされているNetBSDデバイスはかなりの数に登るとみられている。その点FreeBSDはそうでもないとおもわれるかもしれないが、FreeBSDもかなりの機器に組み込まれて使われている。

    Distributed VCS

    FreeBSDデベロッパであるOllivier Robert氏からは、Distributed VCSに関する発表がおこなわれた。FreeBSDはソースコードのバージョン管理システムとしてCVSを採用している。CVSはバージョン管理システムとしては代表的なものだが、仕組みがUNIXの機能に依存していることや名前の変更が提供されていないなどいくつもの問題点も指摘されており、次期バージョン管理システムの必要性が叫ばれてひさしい。

    Distributed VCS

    CVSと同列にくる次期バージョン管理システムとしてはSubversionをあげることもできる。CVSにおける問題点の多くが解決されているが、それでもCVSと同様のモデルを真似たところがあり、あまり適切ではないと同氏は意見をのべた。

    同氏はほかにいくつものバージョン管理システムを取り上げ、その特徴や問題点などを列挙した。FreeBSDデベロッパに注目されているバージョン管理にはほかにはPerforceなどがある。Perforceは商用のバージョン管理システムだが、その優れた性能で注目されており、しかもFOSS開発においては無償で使うことができるとされている。

    同氏は多くのバージョン管理システムについて紹介したあとで、The FreeBSD Projectにおいて次期バージョン管理システムに要求される項目を示した。

    • アトミックなcommitのサポート
    • 名前の変更操作のサポート
    • トリガに対応したリファレンスリポジトリのサポート
    • /usr/ports/のような巨大なツリーのサポート
    • マージに関する機能
    • CVSによくにた操作性
    • ディスクスペースの消費量が少なくてすむ
    • オフラインにおける作業のサポート

    いくつもある中から同氏が選択した候補としてはMercurialがあげられていた。Mercurialはそれらの多くの項目において満足する性能を提供しているが、バイナリの扱いがあまりよくなかったり、やはりいくつかの項目で不満が残るとしている。これら問題は次期リリースであるMercurial 1.0以降において改善されるのではないかとしていた。

    同氏は最終的に、要求される機能に対して提供されている機能は十分ではないけれども、Mercurialは次期バージョン管理システムとしてかなり有力な候補であると意見をまとめた。The FreeBSD Projectが最終的にMercurialを採用するしないの如何にかかわらず、デベロッパはMercurialを使うことができる。多くの調査の結果同氏がいきついたバージョン管理システムがMercurialである。バージョン管理システムの必要性に迫られているデベロッパやユーザはMercurialを評価してみるといいだろう。

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン