Dec 062005
AlphaやSPARC、MIPSマシンなどを使っているせいか、
「でもLinuxだったらブートしちゃえば同じですよね」
と言われたことがあります。
私も最初の頃はそう思ってました。せいぜいディスクパーティションやブートローダが違うぐらいで、ブートしちゃえば同じだろうと。
そんなことありません。
私にとっては初の64bitマシンだったAlphaを使いはじめてまず驚いたのは、unaligned accessesやunaligned trapというメッセージがいっぱい出てきたこと。データ項目の境界あわせに起因する問題なのですがx86使ってる限り、普通の人はまず見ないメッセージでしょう(ググればいっぱい見れます)。
カーネルが処理してくれるので実害はないものの(パフォーマンスは落ちます)、素人が最初に見るとかなりびびります。
NetBSDだとメッセージ出力を抑止できるのですが、Linuxではどうやるんでしょう。
境界合せの問題ですから、厳密にはソースを直す(paddingする)かコンパイラが対応してくれるのが一番らしいのですが。
今流行のXenやSE Linuxなんか使えませんし、デスクトップではウェブブラウザのプラグインがことごとく動きません(バイナリ提供多すぎ)。
それからLinuxではなくNetBSDの話になりますが、NetBSD/cobaltを使いはじめたときMySQL serverがthreadライブラリの関係でインストールできず、悲しい思いをしたことがあります。NetBSD 2.0からはnative threadが実装されたので大丈夫です。
Sorry, the comment form is closed at this time.