質問: 砂時計はタイムシェアリング出来ていない意味でしょうか? 私はいちユーザーなので技術者のみなさんの会話にはついていけないのですが、しろうと向けの「パソコン用語辞典」などを見ながら時々はてな、と思うことがあります。 os/2やwindows95以降のプリエンプティブマルチタスクosだと、常時cpuの能力を何メガヘルツという勢いでタイムシェアリングして「素人的感覚でいうところの、休む間も無く働く」からプリエンプティブが成立する、と勉強しました。 cdrを焼きながら、ネットサーフィンで焼き上がるまでひまつぶしで楽しむことが出来たり、マウスの砂時計付き矢印が出た時などは、なるほど、これがプリエンプティブのすごいところなんだな、と実感出来ます。 ところが、ほんとに砂時計だけになって、windows3.1時代とおなじく何も出来ない時というのが少しだけまだ残っていますので、これが一体どういうことなのか知りたいと思いました。 最近はギガヘルツ級があたりまえになりましたが、それでもタイムシェアリングが間に合わないということになるんでしょうか。 マックファンの方はよくwindowsを馬鹿にしますが、こういった「プリエンプティブのはずなのに何も他のタスクが出来ない時間帯がある」というのはwindowsというosの構造的な弱点になるんでしょうか。 (他のosでは発生しない、発生しにくいosもあるんでしょうか?) パソコン初心者から、ちょっと脱却してみたいと思いました。 どうぞよろしくおねがいします。
回答: >常時cpuの能力を何メガヘルツという勢いでタイムシェアリング 私のpc(今時p3 700mhzでwindows xp)では1秒に3000回~5000回くらいのコンテクスト(プロセス)スイッチが発生しています。 パフォーマンスモニタをヘルプを見ながら使うだけでも結構おもしろいですよ。 また、一口にマルチタスクといっても、専門の方に言わせると、さまざまな方式があるようなので、プリエンプティブでぜんぶくくるのは抵抗があるかもしれません。 で、windowsの場合ですが。 ほんとに砂時計だけの時でも、ほかのウィンドウにカーソルを移すとただの矢印になったりしますね。 そういう時は、そのウィンドウ(プロセス)だけマウスの入力を受け付けない状態になっているだけで、uiおよびosとしてはマルチタスクの状態を維持しています。 どのウィンドウを表示しても砂時計だけだったり、スタートボタンやタスクバーが効かないときもありますが、そのときはシェルがマウスの入力を受け付けない状態になっているだけで、バックグラウンドで他のプロセスが稼動している場合が多いです。uiだけが応答を停止していて、osとしてはマルチタスクを維持している状態ですね。 ctrl+alt+deleteも聞かないような状態だと、微妙ですね。os自体が正常に動作していない可能性もあります。 私自身は、uiの挙動やosの機能の優劣を比較すること自体はあまり意味のない行為だと思います。 もちろん研究対象としてみる場合は別です。商売で比較される人もおられるでしょう。でもファン同士の論争では、えてして宗教論争になりがちですよね。 普通のユーザとしては、何を、どれだけ効率的に、高品質に、生産できるのかということのほうが、大切だと思います。 一方、特定のアーキテクチャに縛られて、狭い世界に生きるのもつまらないでしょうから、そういう比較を通じてほかの世界を見るといった意義はあるかもしれませんね。 比較することによって理解しやすくなる、というケースは多いですから。 参考url:http://www.atmarkit.co.jp/fwin2k/special/win9xorwin2k/win2kprocess_1.html