February 20, 2010

Windowsはなぜ動くのか

Windowsはなぜ動くのか
Windowsはなぜ動くのか

キーワード:
 天野司、Windows、OS論、教科書、アーキテクチャ
日系BP社から出版されているなぜシリーズのWindows解説書。以下のような目次となっている。
  1. 第1章 Windowsが使われるワケ
  2. 第2章 オペレーティング・システムとは
  3. 第3章 Windowsとは
  4. 第4章 マルチタスクのふしぎ
  5. 第5章 マルチウィンドウのふしぎ
  6. 第6章 ハードウェア・サポートのふしぎ
  7. 第7章 プログラム連携のふしぎ
  8. 第8章 ネットワークのふしぎ
(目次から抜粋)
この本は、Windowsが内部でどのように動作しているかをイメージしやすいように解説されている。DOSから始まったMicrosoftのOSがWindowsへとどのように進化してきたのかがよく分かる内容となっている。

1章、2章は読み物的な内容だが、4章あたりからメモリ内部の動作などが解説されており、入門書的な位置づけとはいえ、かなり難しめの内容だと思う。タイムシェアリングシステムとか、割り込み処理とかDDLなどが解説されている。まったくOSの基礎知識がない人がこれを読むと、4章で挫折する可能性が高い。自分もちょっと怪しかった(笑)

以下、教科書の用語解説的に自分の気になったものを列挙しておく。
  • システム・コール・・・OSの上で動作するアプリケーション・ソフトや、あるいはOS自体、その内部から呼び出し可能になっているOSの機能のこと
  • ライブラリ・・・アプリケーションの中に組み込まれて、アプリケーション自身がそれを実行するもの
  • リロケート・・・プログラムやデータが置かれるアドレスが変化すること
  • ディスパッチ・・・OSが各アプリケーションの処理を振り分けつつ少しずつ実行させるような機能のこと
  • ウィンドウ・システム・・・ウインドウ表示だけを専用で行うプログラムのこと
  • Windowsオペレーティング・システム・・・OSのシステム・コールの一部としてウィンドウ・システム関連の機能を取り込んだものの一括した総称
  • イベントドリブン(イベント駆動型)なプログラム・・・ユーザーがキーボードを操作するとか、マウスを操作するといった操作(イベント)の後に続く形で動作するプログラムのこと
  • マルチスレッド・・・一つのプロセスの中に複数の実行単位を配置する方式で、一つのプロセスの複数箇所が並列に実行されるもの
この本は、Windowsアーキテクチャの解説が主な内容だが、他のOS、例えばUnix系のOSの解説にも当てはまるようなことが結構ある。逆にWindows特有の解説がされているのは、4章のDDLの解説、6章のプラグ&プレイ、7章のクリップボードの仕組みなどが該当する。

8章のネットワークは、別にWindowsに限った話ではなく、ネットワーク通信の基礎的な内容となっている。

特に勉強になったのは、16ビットWindowsと32ビットWindowsの違いの解説について。以下その部分を抜粋。
 16ビットCPUや32ビットCPUはCPUの性能を表す言葉としてよく使われていますが、この言葉が意味するのは、CPUが処理を行う最小単位である「レジスタ」のサイズが16ビットであるか、32ビットであるかのところからきています。たとえば、16ビットCPUであれば、一度に扱える数は2の16乗である65536までであり、32ビットCPUであれば2の32乗、すなわち約42億までの数値を一度に扱うことができます。
 ただ16ビットCPUと32ビットCPUの違いは、この「扱えるビット数」の違いに留まりません。というのは、扱えるデータサイズや量が増えれば、それに見合うだけ機能も高度化してきますし、一度に大量のデータを処理できるようになることから、処理速度も高速化されます。つまり16ビットCPUと32ビットCPUとでは、扱えるデータ量の違いはもちろんのこと、処理速度も段違いですし、また利用できる機能も高度化されているのです。
(pp.51)
16ビットCPUのWindowsは、Windows1.0から3.1までらしい。32ビットはXPまでと示されている。

この本は2002年初版発行なので、XP以降のVista、7についてはまったく示されていない。よって、64ビットOSなどについての解説もないが、16ビットと32ビット対応OSの比較の説明と同じになる。

Windows 7が発売されて、32ビットOS、64ビットOSの両方のバージョンがあり、何が違うんだろうか?と思っていたけど、この本を読んでその違いが何によるものかよく分かった。間違っても64ビットOSのほうが32ビットOSより2倍の性能があるということではない(最初見たときは、へー処理速度が2倍なんだなぁ〜とか思っていた(笑))。一度に扱える数値が2の32乗か2の64乗かの違いで、1,844京6,744兆737億955万 1,615 ÷ 43億 倍あるということになる。

350ページ近くあるので、結構簡単に読み進められない。一応OSの基礎知識はあったけど、1日1章というペースで読み込むのもちょっときつかった。まだまだ技術本に読みなれていないからだろうけど・・・。

Windows7が発売されている昨今だから、DOSからのOSの仕組みを理解してみるのもよいかと思う。自分の場合は、Windows系技術のエキスパートになるために、今回読んでみた。結構知らない部分が多いということが分かった。

また、この日系BP社のなぜシリーズで、過去に取り上げたのは以下になる。まだなぜシリーズをすべて読んでいないので、徐々に読んでいきたい。



編集後記っぽいもの

たまには編集後記を。最近はTOEIC対策付けだったので、更新が滞りがちだった。今年に入って1月31日、2月13日と受験した。結果はまだ明らかになっていない。次回受験は3月14日になる。

また、4月18日に応用情報技術者試験を受ける。そのため、技術本が多めに更新されると思う。あれ、去年も受験していなかったっけ?と思った方、そんなあなたはこの読書ブログのコア読者(笑)。まぁ、去年の春に受けてみたら、午前問題が3点足りなくて足きりをくらって落ちた・・・。

どうも合格最低点の6割狙いでいくと、凡ミスで合格点に届かないということが分かったので、今度は最低8割狙いでいく(`・ω・´) シャキーン



Windowsはなぜ動くのか
Windowsはなぜ動くのか
著者:天野 司
販売元:日経BP社
発売日:2002-10-28
おすすめ度:4.5

読むべき人:
  • Windowsアーキテクチャに関心がある人
  • Microsoft系技術のエキスパートになりたい人
  • 64ビットOSって何?と思う人
Amazon.co.jpで『なぜシリーズ』の他の本を見る

bana1 Windows OSクリック☆  にほんブログ村 本ブログへ



トラックバックURL

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星