We interviewed NetBSD programmers Christos Zoulas, Luke Mewburn, Ben Collver, Nathan J. Williams, Jaromir Dolecek, Chuck Silvers, Hubert Feyrer, Bret Lymn, Jan Schaumann, Roland Dowdeswell, and Niels Provos. Here's what they had to say about some of the new features in NetBSD:
我々(訳注:NewsForge記者)は、NetBSDのプログラマのChristos Zoulas, Luke Mewburn, Ben Collver, Nathan J. Williams, Jaromir Dolecek, Chuck Silvers, Hubert Feyrer, Bret Lymn, Jan Schaumann, Roland Dowdeswell, およびNiels Provosにインタビ
Christos Zoulas: With UFS2? We had compatibility issues with our boot blocks and UFS1 file systems, but we've ironed those out. If you mean general code portability there are 3 classes of problems:
Most of the problems we encounter are in pkgsrc, not in our own sources. But if you can get your code to work on i386 (little endian, 32 bits, no alignment constraints) and SPARC64 (big endian, 64 bits, and alignment constraints), you've probably got most of the portability bugs figured out.
Finally, there is operating system feature portability, but that has become easier because most OSes are POSIX compliant these days.
翻訳のツリー (スコア:4, 参考になる)
我々(訳注:NewsForge記者)は、NetBSDのプログラマのChristos Zoulas, Luke Mewburn, Ben Collver, Nathan J. Williams, Jaromir Dolecek, Chuck Silvers, Hubert Feyrer, Bret Lymn, Jan Schaumann, Roland Dowdeswell, およびNiels Provosにインタビ
Q17 and A17 (スコア:1)
Christos Zoulas: With UFS2? We had compatibility issues with our boot blocks and UFS1 file systems, but we've ironed those out. If you mean general code portability there are 3 classes of problems:
* Endianness assumptions
* Alignment constraint violation
* Type size assumptions
Most of the problems we encounter are in pkgsrc, not in our own sources. But if you can get your code to work on i386 (little endian, 32 bits, no alignment constraints) and SPARC64 (big endian, 64 bits, and alignment constraints), you've probably got most of the portability bugs figured out.
Finally, there is operating system feature portability, but that has become easier because most OSes are POSIX compliant these days.
Christos Zoulas: UFS2に関して?ブートブロックとUFS1で互換性に関する問題があったが解決した。一般的なコードの移植可能性に関する話なら、次の3つの分類の問題がある。
* エンディアンに関する仮定
* アラインメント制約の違反
* 変数型のサイズの仮定
pkgsrcでは、これらの多くの問題はでくわしたが、我々のコード中ではなかった。しかし、コードをi386(リトルエンディアン、32ビット、アラインメント制約なし)とSPARC64(ビッグエンディアン、64ビット、アラインメント制約あり)で動作させたならば、おそらくほとんどの移植可能性に関するバグを理解できるだろう。
最後にOSの機能の移植可能性がある。しかし、最近はほとんどのOSがPOSIX準拠になっているので比較的簡単な問題になっている。