[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[OSASK 00053] Re: 簡易質問


  こんばんは、川合です。


FORM-Akkie さんは 2006/10/19 00:42:07 の「[OSASK 00052] Re: 簡易
質問」で書きました:

>> ソフトウェアを複数の関数で記述することができるわ
>> けですが、そのいくつかの関数について、「もし動作環境が○○CPUだ
>> ったら、khabaで書かれた汎用コードを変換したものを使わずに、この
>> 最適化コードを使え」ということを記述可能なのです。
>
>私が最適化をすることに意味があると言ったのは、OS側の話です。
>分かりにくかったでしょうか。

  いえいえ、それはよく分かっておりますよ。僕があえて上記で「ソフ
トウェア」と書いたのは、アプリだけではないからです(アプリだけな
らアプリと書きます)。OS(と書いたときは、カーネルやシェルやドラ
イバなどすべてが対象)も当然ながら複数の関数で記述されますが(ま
さかOSを1関数だけで書くなどというすごいことは僕もやりません・・・
笑)、それらの関数の中で性能に大きく影響しそうなものについては386
コードやARMコードも準備するでしょう。

>以前、「ソフトウェアが、SSEやMMXがある、なしで使うコード(マシン語)
>を変えるのはおかしく、エミュレーションによって対応されるべきだ」
>との意見を述べられていたように思ったのですが、記憶違いでしょうか。
>ハード側の環境を教えるべきではない、ということでした。

  これはOSASKにとっては重要な仮想化の考え方です。大筋ではそのと
おりですが、細かい点では正しくありません。

  おそらく1015名無しさんは http://osask.jp/boyaki.html の
2003/08/20号のことを言われているんだと思います。
「・徹底したネイティブAPIの仮想化」のところをもう一度よく読んで
ください。

  どこが正しくないのか分かりにくいかもしれないので、列挙しておき
ます。

  仮想化されるべきはアプリケーションであって、ソフトウェア全体で
はない(今はOSASKをkhabaで書こうとするなど、OSにも仮想化の概念を
取り入れつつあるともいえるが、しかし僕はOSがハードウェアの状況を
知ってはいけないとはみじんも思っていない)。

  エミュレーションのみによって対応されるべきだとは言っていない。
しかしエミュレーションは仮想化を実現するための一つの方法ではある
。

  以上のことは http://osask.jp/boyaki.html をきちんと読んでもら
えれば確認できるでしょう。

>前述の態度は多少変わったのでしょうか。
>○○CPUとは386やARMという意味で、CPUそのものではなく、
>以前と態度は変わっていないのでしょうか。

  [OSASK:00051]における「○○CPU」というのは、386やARMという意味
のときもありますし、MMXの有無やSSEの有無の場合もありえます。・・
・しかしそれでも、僕は上記で示したように前からコードの混在を許す
べきだと思っていますので、態度の変更はないと思っています。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! osask.jp
Homepage http://osask.jp/

一覧(今月):     投稿順     スレッド順