2ntブログ

Windows10は割り込みや分散処理が糞である

32ビット版Windows7から64ビット版Windows10にして一番思ったのが、これ。

とにかくアプリの起動が遅いし、Bluestacksとブラウザを同時起動していると、Bluestacks側で音が飛んだり音声が途切れ途切れになって、ノイズの入ったようなBGMになるなど、メモリ不足では片づけられない問題が多い。

なぜか?

Windowsとは会社の社長か上司のようなものである。
何もアプリケーションを起動していなくても、様々なサービスやプロセスという「社員」が働いている。
ちなみに社長も社員と同じ、ひとりの「人間」であるように、Windowsも「カーネル」というひとつのプログラムが本体である。

ではこの「カーネル」というWindows本体のプログラムは何をやっているのかと言えば、社員の管理だ。
Windows社長は、非常に面倒見の良い人で、社員ひとりひとりの仕事っぷりを定期的に見て回っている。
Windowsのアプリには、プライオリティとか優先度とか言われる設定項目がある。
これは通常は見えないが、アプリによっては設定画面やメニューに出てくる。
優先度は特に指定しない限りはノーマルとか通常とか呼ばれるモードになっており、これは例えば社長はその社員1人につき1分だけ定期的に面倒を見に来るというものだ。
その他に優先度が高いとかって設定もあり、この場合だと社長は他の社員より長く頻繁にその人の面倒を見に来てくれることになる。

またこれとは別に「割り込み」という機能がある。
これはWindowsの仕様というより、CPUと繋がってる様々な周辺機器が持っている特権みたいなもの。
プログラムだけのアプリケーションには無い。
音を出すチップやビデオカードやLANチップ、HDDを制御しているSATAチップ、USB機能を提供しているUSBコントローラなど、多岐にわたる。
これらには「割り込み」という、緊急回線みたいなものが用意されている。
この「割り込み」という仕様が無いと、たとえばWindowsみたいなOSは、定期的にマウスの入力を自ら調べに行かなくてはならない。
マウスの入力の有無を調べる処理をしている以外の時に動かされたマウスのデータは、破棄されてしまうのだ。
よって「割り込み」を使わずにマウスを動かした場合、カーソルはまったく動かないか、ものすごく反応の悪い動きをする事となる。
それでは困るので、マウスには「割り込み」という回線が用意されている。
Windowsが「マウス動かしたかなー?」て処理をしなくても、マウス側から「あ、いま動きました」って教えてくれるのがこの「割り込み」だ。
これが発生した場合、Windowsなどのプログラムは直ちにいま実行中のプログラムを中断して、マウスがどんな風に動かされたのかをチェックして、それに基づいてカーソルを動かす処理をするのだ。
だからWindowsのマウスカーソルというには、マウスの動きにぴったり連動して動いてくれるのだ。

さてこの「優先度」と「割り込み」という2つの、プログラムは外部周辺機器をスムーズに動かすための機能の処理が、Windows10はとても「下手糞」だと思うってのが、今回の話だ。

Windows7の時は、メモリ不足が大量に発生し、仮想メモリとのやり取りが頻繁に起こる状況でもない限り、アプリの動作が長時間止まったり、音が細切れになるなどの障害は出なかった。
しかしWindows10は、メモリにまだ余裕があっても、これが起きる事が多い。

確かにWindows7に比べて、Windows10はOS自身の機能も増えた。
そのため、Windows7時代のカーネル社長に比べて、Windows10のカーネル社長は何倍もの社員の面倒を見なければならなくなったので大変というのはある。
だがそれは、マイクロソフトが勝手にそうしただけだ。
10人だった社員が100人に増えたのに、今までと同じやり方で全員の面倒なんて見れるわきゃない。
だからよくフリーズするのだ。
HDDの稼働率100%が続いて、操作を一切受け付けなくなるという有名なWindows10の「不具合」も、実はカーネル社長の見回りの非効率さや下手糞さが原因でもある。
また「割り込み」処理という、緊急回線での強制イベントも、きちんとこなせてない印象を受ける。
USBの省電力管理の設定を、デバイスマネージャでOFFにすると、動作の弊害が治るという糞みたいな不具合回避、パフォーマンス改善方法を、マイクロソフトの技術者自身が提供した事もあるぐらいにw

昔のパソコンは、せいぜいキーボードと音声と画面の「割り込み」だけ処理してりゃ良かったのに比べて、今は様々な機能が増えたので大変になったというのはあるが、プログラマのレベルが著しく低くなっているとも感じる。
天下のマイクロソフトでさえそうなんだから、ゲーム企業なんかに優秀なプログラマがなんて来るわけがない。

それにWindows7時代とWindows10時代では、ハードウェアの仕様にそんなに差は無い。
アナログブラウン管テレビが、デジタル液晶テレビになったみたいな大きな差は、Windows95からXPになるまでの間に終わってしまっており、それ以降は4K放送が8K放送になったぐらいの差しか無い。
マイクロソフト自身が、勝手にWindowsカーネル社長の仕事を増やし、勝手に自滅してるようなもんだw
せっかく95からXPの間に、カーネル社長の業務スケジュールを何度も見直して、カーネル社長がぶっ倒れて「ブルースクリーン」が出たりフリーズしたりってならないようにして、完成させたのに。
なぜWindows10にその優秀なカーネル社長の業務スケジュールが、またおかしくなるような、あるいはそれでは対応できないような事をするのか?
Windows10は登場時よりは安定したと言われるが、Windows7に比べたら遥かに不安定非効率の糞OSだ。
カーネル社長がぶっ倒れないのは当たり前であり、さらにいかにほかの社員を待たせず、あるいは待っていると感じさせずにみんなの面倒を見てやれるかが、OSの優秀さなのだ。
今のWindows10は、カーネル社長がぶっ倒れたりフリーズする頻度が減ったに過ぎない。
それで登場時より良くなったから、みなWindows10使ってねなんて、よく言えるもんだ。
てめーらがこっそり集めてるユーザーの情報は何に使ってんだよ?w

ぶっちゃけ、Windows10にアップグレードする時に消してしまったデュアル起動で使ってた64ビット版のLinuxの方が、はるかに快適に動いてたぞ?

マイクロソフトはWindows10の「割り込み処理」と「優先度の仕様処理」を徹底的にもう一度洗いなおせ。
それがWindows10が7やそれ以前の一番完成していたOSと言われて評価の高かったXPと同等以上になる唯一の道だ。

コメントの投稿

非公開コメント

カウンタ
プロフィール

ウホッ!いい男

Author:ウホッ!いい男
異世界転生を待ち続ける中高年のおっさん

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR