[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 2109] Re: cpuinfo



  こんにちは、川合です。


MITSUNARI shigeo さんは 2001/09/12 00:26:37 の「[OSASK 2103] cpu
info」で書きました:

>introa03を読みながらごくごく簡単なプログラムを組んでみました。

  ありがとうございます。

>ありがちなCPU情報を表示するものなのですが、表示した後windowを
>動かすとOSが止まってしまいます。stackを壊してしまっているのでしょうか。

  原因は、推定ですが、10文字しか用意していないテキストボックスに
対して"   Ext. 3D Now!"という15文字を表示しているせいではないか
と思われます。修正して再ビルドしてチェックしたわけではないので、
見当違いかもしれません。

  このアプリケーションには少々分からない事があります。なぜ10x1の
テキストボックスを13個も用意したのでしょうか?10x13のテキストボ
ックス一つで十分に目的は達せられるのではないかと思われます。その
方が扱いやすいですし、高速ですし、メモリの消費も減ります。

---

  しかし残念ながら、これらの問題を克服したとしても、このアプリケ
ーションに川合秀実推奨を与えることはできません。それは、このアプ
リケーションがCPUを特定するという、OSASKのアプリケーションとして
ふさわしくないことを目的にしているからです。

  OSASKとしては、いかにしてアプリケーションに対してハードウェア
を抽象化するかということに腐心しているのです。CPUID命令やRDTSC命
令は、この傾向に反するのでアプリケーションが使ってはいけない命令
です。今は禁止されていませんが、禁止することが可能ならば将来のバ
ージョンでは利用できなくなるでしょう(利用しているアプリは強制終
了させられるか、さもなくばシステムが望むデーターを受け取ったかの
ようにエミュレーションされる)。SLDT命令やSTR命令も使用禁止です
。

  アプリケーションとしては、SSEや3D Now!を使いたいということがあ
りえます。その際には、もちろんそれらの利用が可能なのかをチェック
する必要があるでしょう。しかしそれはCPUに対して直接聞くのではな
く、システムに対して質問するべきです。システムは、SSEがなくてもS
SEがあるとあえて報告し、SSE命令のエミュレーションを試みることだ
ってあるかもしれません。またいかなる時点でタスクがセーブされて状
況が異なるマシンで実行が再開されるとも限りません。

  しかし一方、現状ではCPUの情報を獲得するためのAPIがないことは事
実であります。また、この方針を明確に説明したことはあまりありませ
んでした。ですから、今回の光成さんのcpu.binを非難するつもりはあ
りません。

  またこの手のアプリケーションの存在を否定したいとは思っていない
ことも強調しておきます。それらは立派なOSASKアプリの一つです。単
に僕からの推奨が付かないだけのことです。反川合秀実推奨のOSASKが
生まれてもいいです。僕は間違っているかもしれません。そのときは、
僕の推奨したOSASKが滅ぶのはしょうがないです。しかし、そのときに
OSASKの全てが滅びてほしくはないのです。自由と競争こそがOSASKの理
念です。

  CPUの情報をアプリに知らせるAPIについては、強い需要があるなら検
討いたします。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/