以前から言われていたことだが、Google Chromeの登場の際にも、前衛的な人や理想主義者の言に、「これからは、Webが主流になり、ほとんどのアプリケーションはWebアプリになるので、WindowsだとかMacだとかLinuxだとかのOSの違いは、どうでもよくなる。」というものがある。考え方としては面白いが、どうもまだしばらくは、そんな時代はやって来そうに無い。
Windows にしても Linux にしても,タイムシェアリングの根本的なところで,ハードウェアタイマである Programmable Interval Timer (PIT) に依存している*1.PIT はひとつしかないため,こいつの割り込み間隔を変えるとスレッドスケジューラの動作がまるで変わってしまい,結果的に全プロセスが影響を受ける.timeBeginPeriod(1); が行っていることは,つまりはそういうことだ.消費電力的にこれはどうよ? という声は根強い.
NyaRuRuの日記 (追記2) Chromium (Chrome) のタイマ精度 (2)
HPETは私の使っているマザーボードにもついているのだが、実は何と、BIOS設定のデフォルトでは、無効になっていた。有効にすると、QueryPerformanceCounterの精度が飛躍的に上がったのは、以前の話だ。しかし、恩恵を受けられるのは、Vista以降である。
いまだOSにこういう問題がある以上、OSの差異などどうでもよく、すべてがWebに取って代わられる、などということは、近い将来にはなさそうだ。まだハードの上で向上すべきところが多数あり、OSもハードの進化に合わせて更新されなければならないからだ。
No comments:
Post a Comment