- 2010-11-05 18:00-20:00
- 資料: http://journal.mycom.co.jp/news/2010/10/07/035/index.html
プロフィール
- iPadアプリもつくろうかなとおもっているが、
- 売れてない... → アップルうったえてやる! (笑)
- ※後藤さんまじめなプロフィールは資料に書いてあるので参照してください。
*BSD国際会議の意義
- フルタイムの開発者ではない人がおおいので、意思疎通や信頼感が重要。
- 実際に会って酒を飲みながら議論 → どこの国でも一緒。
- 会議ではメーリングリストとちがってコンセンサスをえられやすい。
- VIMAGEの例:
- メールだけではちょっと.. NO THANK YOU...
- 週末の貴重な時間を(わけのわからないパッチの解読に)つかいたくない....
- いろいろなカンファレンス(EuroBSDCon,BSDCan,AsiaBSDCon)で発表した。おなじ内容の発表でもいろいろなところで発表することで多くの関係者に聞いてもらえる。
- 理解者が増えることでメーリングリストで援護してもらえるようになる!
FreeBSD Developer Summit
- 参加はcommiterと招待者のみ。
- 論文発表の場ではなく問題を議論する場所。
- 内容は公にできないようなものも多い。
- これに参加すれば*BSDconに出なくてもいいくらい濃い。
- みんなシャイなので、議論をひっぱるタレントがある人が居ることが重要。
- 会場は大学の教室で、会場に辿り着くのも張り紙をたどりながらといった感じ。
- カンファレンス後の食事会も重要 (どこの国でもいっしょだけど)
- スポンサー
- TYPO3(CMS)
- FreeBSD Foundation
- 合計10社
EuroBSDCon 2010
- 今年はドイツ。ドイツは日本とちがって大都市が分散している。
- 物価は高いので初日にスーパーで買いだめ。でもソーセージは安い。ビールは1缶 30セント(40-60円)くらい。
- 飲みきれなかったので持って帰ってきたら、空港に着いたら破裂してた... 袋にいれるべし!
- 物価は高いので初日にスーパーで買いだめ。でもソーセージは安い。ビールは1缶 30セント(40-60円)くらい。
- 参加者はアメリカ・ヨーロッパからがほとんどでアジアからは少ない。
- 中国・台湾からの参加者もいるがオフィスがアメリカだったりする。
- 聞き取りは母国語が英語ではないひとがほとんどなので難しい。しかも(シャイなので)もごもごしゃべるし。
- 日本からは後藤さん・佐藤先生のみ。
- *BSD国際会議は他にはこんなのがある:
- BSDCan(キャン)
- カナダで開催。*BSDのなかでは最大規模。
- ヨーロッパに比べると日本からも行きやすい。
- EuroBSDConはFreeBSDが多いがBSDCanはBSD全般。
- BSDCanの日本からの参加者最大数は4,5人だった。(今は後藤さん・佐藤先生)
- AsiaBSDcon
- 今年もやります。みんな参加しよう! スポンサーもよろしく。
- ニューヨークやイスタンブールでも定期的に会議が開かれているらしい。
- ロシアも活発。
- BSDCan(キャン)
- GPLを嫌うところ(組み込み・ネットワーク)からの参加が多い。
- NetBSDの発表は少なめだった。
- ZFSのセッションは人気。
- shell scriptをオブジェクト指向で書くというのもあった。論文は2000年くらいに出ているもの。
Virtual Private System (VPS)
- LinuxのOpenVZをみてFreeBSDにも追加されないかなぁと待ってたが出てこないのでLinuxに移行しようとおもったけどVIMAGEをみて自分でもできそうだとおもってやっちゃったらしい。
- 最初は「なにこいついってんの?」といった感じだったが、
- postgresqlのライブマイグレーションをデモしたところで「!!!」。
- 開発者でも知らない人も多かった。
- 今回の発表で一番おもしろかったものの1つ。
- VIMAGEは4年くらいマージに時間がかかったが、VPSはマージしやすいようにコードを分けてあるので比較的早くマージされるのではないか。
- VIMAGEにはパフォーマンス問題はないがラッパーをかます必要があるので各開発者に理解してもらわなければいけない。(他人のコードを勝手に書き換えるのは禁じ手となっているので)
- コードは vps/ にまとめてあり、joint pointはsyscallのところだけなのでマージしやすいらしい。
- Jailとの違い: Jailだとpidテーブルはカーネルで1つだがVPSでは分かれているので同じpidのプロセスが存在できる。(マイグレーションするときに重要)
- permissionはちゃんと実装されていない。マイグレーション先で実行できるかどうかのチェックなどを行わなければいけない。
- これが実装されるとOpenSolarisでできることがほぼ全てFreeBSDでもできるようになるので、OpenSolarisの開発者を引き込めると期待されている。
Google SoC (FreeBSD Developer Summit)
- sysctlでカーネルの機能一覧をだす。現状だと調べる方法がない。
- packet captureが高負荷時でも使えるようにリング構造に。
- などなど
DSS
- 印刷機械をつくっている会社。
- メインフレームからBSDに段階的に移行したケースの発表。
- 何万行ものCOBOLコードからの移行。
state of toolchain
- 組み込みでは1行でもGPLははいってほしくなかったりする。
- FreeBSDのコミュニティがClang(クラング)を知ったのは3年くらい前のこと。
- appleはOpenGLのコンパイルにつかっているらしい。
- adobeはJavaのコンパイルにつかっているらしい。
- LLVMはBSDコミュニティの要求をよく聞いてくれ反応がいい!
- appleが公開してもいいよってことでlibc++が移植されつつある。
NanoBSD
- ただちっちゃくしただけではない。
- システム・パーティションが2つあるのが特徴で安全にアップグレードできる。組み込みでは標準的な手法で、Chrome OSでもおなじことをやっている。
- MBR boot0
- slice1 active /
- slice2 inactive /
- slice3 /cfg
- ブートできたらactiveパーティションをきりかえる。down timeを短かくできる。
- /cfgはFreeSBIEに似ている仕掛で/cfgを元に/etc作りなおす。
- エンタープライズでもつかっているところがあるらしい。
- FreeNAS/pfSense/BSD route projectもNanoBSDをベースにしている。
- 改良:
- コンパクトフラッシュ依存だった部分の一般化をする。
- パーティションの切り替えをきれいにしたい。
- packageではなくportsをつかうようにする。packageをつくる手間がへるとかconfigをいじれるとかの利点がある。
- pfSenseの開発者にきいたところIPv6をつかいたいという人はいなさそう。(ヨーロッパではIPv6の利用はまだまだといったかんじ)
FreeNAS
- FreeNASの記事を書くアクセスがいい!
- 0.7開発者は昼Linuxで開発、夜はFreeBSDだったので、Linuxにしたいと言いだした。
- 利点:Linuxだと使えるデバイスがふえる。欠点:BSDだとZFSがつかえる。
m0m0wall-based モノウォール
- 一枚岩のphpでいじりにくいかった。
- 1つのXMLファイルだったのでいじりやすいと思われていたが、実際には逆だった。
- /etc/rc.dをつかうように変更。
- phpからpython Djangoに変更.
- sqlite3に設定を入れるように変更。これを元に/etcを設定する?
- PBIに変更。アプリケーションとOSのバージョンを合わせる必要がなくなるメリットがある。ディスクの使用量は増えるが問題ない。
Cooperation with the PC-BSD Project
- 参加者はカーネル寄りの人が多い。Mac使えばいいじゃん!
- デスクトップユーザは常に最新の機能をつかいたがる → すぐにバグレポートをよこす!
- pc-sysinstlal: シェルスクリプトベースのインストーラ
- ベースシステムにGUIライブラリをいれるのはたいへん。
- backendとfrontendに分ける。backendはフルスペックを実装して、frontendはGUIとかコンソールとか環境に応じて使い分ける。
- backendはシェルスクリプトで組んである。Cとかで書くよりもシェルスクリプトの方が便利でメンテナンスもしやすい。
- GUIで設定した内容はファイルとして残るので、同じようにインストールするときにはファイルを喰わせるだけでok。WindwosのPower Shellににたような感じ。
New Event Timer
- これも面白かった話題の1つ。
- 無駄な割り込みを減らす。割り込みが頻繁に入るとdeep sleepできない。
- レスポンスが悪くならない程度に割り込みを減らすと、16000/sくらいだったのが92/sくらいまで減る。
- マシンの温度が下がる。
- full load: 85℃
- idle: 55℃
- idle+PM: 32℃
Journaled Soft-updates (SUJ)
- サジュ
- FFSには小さいファイルをたくさん扱うとメタデータの更新で遅くなる問題がある。
- soft-updateではできるだけメモリ上で処理するので、コンパイル時など作ってすぐ消すような場合には効果がある。
- fsckはsoft-updateがあるとチェックする量が減るので半分くらいの時間ですむ。不整合がはっせいしないが2種類だけはチェックしないといけない。
- 1TBのディスクでmake buildworld中に電源を切ると:
- soft-updateだけのfsckでは20〜40分なのが、
- journalありだと数秒ですむ。
- 16MBのジャーナルがあればPBクラスに対応できるらしい。
- ZFSのZILのようにジャーナル領域をSSDにするともっと速くなるか? → 16MBと小さいことからわかるようにたぶん速くならない。
- ATAのwrite cacheは有効にしていてもだいじょうぶか? → だいじょうぶ問題ない (ただしディスクが命令順序を入れ換えない場合に限る)
FreeBSD8新機能
- SUJ
- flattened device tree
- おなじチップだけどバスがちがうなど、組み込み向けの機能。
FreeBSD9新機能
- ZFSv28
- Capsicum
- DACとMACの中間
- アプリケーションの中から呼び出せるsyscallを制限する。
- クロームみたいにプロセスをたくさん生成する場合に有効で、プログラミングテクニックなしに実現できる。
- DAHDI PBXでよくつかわれるデバイスドライバ。
質疑応答
- Q: FreeBSDユーザはヨーロッパではおおいのか?
- A: よくわからない。ベンダーはいるらしい。Linuxと違っていいたがらないのでわからない。アメリカのほうが多いかも。競合他者に知られたくないというのもある。EUからの参加者はドイツからのほかは偏りはなさそう。基本的に先進国からの参加が多い。北欧・東欧からの参加もある。
- Q: FreeBSDの本はでないの? まとまった内容のものはそれなりの需要はあるとはおもうが。
- A: なかなか技術書全般がきびしい状況なので...