大阪大学の齊藤です

Yasushi Shinjo wrote:

> 私はまだ CPU を交換してもらったことはないです。
CPUはよほど深刻なバグで、かつうまく世論が燃えないと、交換
してくれませんよね。

> OS の方は、毎
> 週のようにパッチを当てているわけです。
> この違いは、私は、何か
> 本質的な差はあると思います。齊藤さんは、この違いには本質的な
> 差はないという意見ですか。

そうですね。複雑度の差に目をつぶって本質的な差が有ると
決めつけるのはいかがなものかと思います。本質的な差は
おそらく有るとは思いますが、複雑度の差もかなり大きな
ファクターであろうというのが齊藤の直感です。

あと、CPUは交換コストが高すぎるので多少のことなら他の手段で
(たとえばOSのパッチで!!)対処するとか、放置するとかして
いますよね。

もしもPentium4がFPGAで出来ていて、気軽にパッチが当てられる
ものだったら、、、月に1回以上はパッチを当てていると思いますよ。


> Pentium の場合、23万行くらいは人間が書いているのでしょうか。
> 23万行で、あの品質が出きるなら、ソフトウェアも1つが 23 万行
> 以内になるように作るとよいとか、そういう目安が欲しいわけです。

もしも、8080の頃のようにトランジスタレベルで人間が回路図を書き、
マスクパターンを人間がカッターナイフで切っていたら、pentiumは
Windows以上にバグだらけでしょうねぇ。

アセンブラからコンパイラに抽象度レベルを上げたように、より大きな
「欠陥の無いことが確認された部品」を組み合わせるように変わって
いけばいいのかもしれませんが。

まずソフトウェアに関してやるべき事は、やるべきだと分かっている
ごく普通のことをちゃんとやるということじゃないですか。
仕様をちゃんと決めて動かさないとか、レビューをちゃんとするとか、
テストを十分にするとか、プログラマはちゃんと訓練してから実戦に
投入するとか。

        齊藤明紀 saitoh@ist.osaka-u.ac.jp