12/09/03 18:40:55.82 6ot/Cndr
>>599
そこじゃない。
>非効率な動きはしないように作られていると思う
ここだよ。
例えば…ウェイト処理を100ms欲しいとしたとき、
for分を使って実現すると、
パイプラインが5つあるようなCPUでも、
そのパイプラインをすべて使ってまで、100msを待つようにしてしまいます。
その間は、もちろん他のタスクは止まってしまいます。
これは非効率的ですね。
効率的なプログラムでは、カウンタ+割り込みを使います。
こうすることで、割り込みが掛からなければ、他のタスクは
動くことができます。
ただし、物凄く効率的に作られたOSを開発すると事情が変わります。
パイプライン数を考慮してタスク配分をすることで、CPUを効率的に動作させることが可能です。
しかしこれでは、CPUの互換性を殺してしまうので、CPU専用OSが必要になりますね。