2009年3月12日から15日までの4日間、東京において「AsiaBSDCon 2009」が開催された。本誌では、同カンファレンスの中から特に興味深いセッションをピックアップしてお伝えする。

mips、powerpc、armアーキテクチャで組み込み

扱えるメモリサイズの限界からi386の後継としてamd64への取り組みが進められている。これは事実上FreeBSD/i386の後継アーキテクチャということになるだろう。それ以外では次の3つのアーキテクチャ版の開発が進められている。

  • FreeBSD/powerpc
  • FreeBSD/mips
  • FreeBSD/arm

組込み系アーキテクチャへの移植が進められている背景には、ネットワーク機能に対応したデバイスの開発においてFreeBSDをOSとして採用したいという背景がある。これまでも*BSDのネットワークスタックだけを抜き出して組み込みデバイスで利用するという用途はあった。今後はOSごと移植という流れだ。

こうした移植の背景には、組込みデバイス自体の性能が向上したことでOSそのものの移植が実用的になってきたことや、組込みデバイスそのものもマルチコア化が進んでいるため、特定のサブシステムだけを取り出して移植するよりもOSそのもののを移植した方が今後の開発において得策だという判断もある。

1999年には移植されていたMIPS、9年の時を経てメインブランチへ

M. Warner Losh氏 - An Overview of FreeBSD/mips

FreeBSD/powerpcについてはM. Warner Losh氏から発表が行われた。M. Warner Losh氏は現在のFreeBSD/powerpc開発を実施している主要開発者。BSDにおけるMIPS対応は4.2BSDごろにはじまる。FreeBSD/mipsは公にならなかっただけで存在自体は古い。1999年にはJuniper Systemsが自社プロダクトに採用する目的でFreeBSD 3系をベースにMIPSへの移植を実施したとされている。同時期にコミュニティでもMIPSへの移植の試みが行われるが成功を納めるものはなく、その後も複数のプロジェクトやJuniper Systemsからのアプローチがあるがメインストリームへのマージには至らない。

FreeBSD/mipsに転機が訪れるのは2007年11月にCisco SystemsがWarner Losh氏を雇用してからだという。Warner Losh氏を含む数名のFreeBSD開発者がフルタイムでFreeBSDのMIPSへの移植を手がけることになり、これまでのコミュニティの成果物とJuniper Systemsの成果物を活用しながら移植が行われることになり、2008年4月に成果物がFreeBSD-currentへコミットされた。

FreeBSD/mipsでサポートされているのは最近のMIPS32とMIPS64 ISAsなど世代のMIPSプロセッサ。古いプロセッサでも動作するが主要ターゲットではないという。コアのサポート以外にもチップとしてIDT RC32432、Infineon ADM5120、Broadcom bcm5365がサポートされ、Atheros AR71xx/AR91xxファミリー、Alchemy/RMI Au1550、MIPS64 Cavium Octeonファミリー対応が進められている。

FreeBSD/mipsの当面の取り組みは、より多くの機器に対応することにあるようだ。FreeBSD/mipsでサポートしているチップはシングルコアが多いため、マルチコアへの対応は主要な目的ではないという。ただし、ハイエンドはすでにマルチコアへの移行をはじめており、Cavium Octeonファミリを対象としてマルチコアへの対応を進めると説明があった。