忍者ブログ
気ままな一人暮らしの、ささやかな日常
美術鑑賞からプログラムのコードまで、思いつくままに思いついた事を書いています。
[4908]  [4907]  [4906]  [4905]  [4903]  [4902]  [4901]  [4900]  [4899]  [4898
ざっくざく > 勉強記録 > 読書感想:Windowsはなぜ動くのか
Windowsはなぜ動くのか
こんにちは、和美です。
今回は、先輩から勧められて読み始めた本 「 Windowsはなぜ動くのか 」 の読書感想文と、知らなかった用語メモです。
事情により途中までな上に和美の知識の都合上、とても長いです。

【 目次 】

  1. きっかけ
  2. システムコール
  3. 64ビットCPUのレジスタサイズ
  4. OSとソフトの互換性
  5. MS-DOS
  6. Windows CE
  7. DLLとDTMマガジンの謎
  8. 閑話休題
  9. GUIとゴミ箱
  10. IEEE1394
  11. クリップボード
  12. マルチスレッドと排他処理
  13. ネットワーク
  14. 最後に

1. きっかけ

長期出張の途中に職場の改装の話は聞いていたのですが、「 Windowsはなぜ動くのか 」 シリーズ(「 コンピューターはなぜ動くのか 」と 「 プログラムははなぜ動くのか 」)が捨てられているとは思いませんでした ……。

知ったきっかけは、入社直後に先輩から 「 こういう理屈をこねくり回した本を一度読んでおいてほしい 」 とお勧めされたのです。
2002年に発行された本なので実例はWindowsXPまでと古いものの、本質的な内容はあまり変わらないだろうから、と全作読むつもりでとりあえずこの「 Windowsは ~」だけ借りたので無事なのですが。
そんなきっかけで、COVID-19初年のテレワーク時に借りて自宅に置いていた「 Windowsはなぜ動くのか 」 の再読を始めました。
累計でおそらく三周目です。
なのになぜかまだ読んだ記憶のない文章が出てきます。解せぬ。

2.システムコール

参考リンク:システムコールとは【用語集詳細】SOMPO CYBER SECURITY
ふわっと 「 ソフトが呼び出すWindowsのシステム 」 程度の理解だったので検索してみました。
ウイルスはシステムコールを改竄するので、システムコールの発信元や経路を追跡するといいそう。
数年前の前回に通読した時の曖昧な記憶によると、あんまりウイルス関係の話が載っていなかったように思います。
最新の第二版には追記されているのでしょうか。

3.64ビットCPUのレジスタサイズ

16ビットCPUなら一度に扱えるのは2の16乗である65,536との事だったので、現行パソコンのCPU:64ビットを計算してみました。
専門の計算サイトによると、2の64乗は18,446,744,073,709,552,000らしいですが、兆なのか京なのかそれ以上なのか分かりません!
大きな数字を紹介するサイトでも、基本的に10の64乗とかいう書き方をしていて大変に困りました。知りたいのは0の数です。
参考リンク:数字の単位一覧(少数も)|億・兆・京・垓から無量大数より大きい数字まで:年収ガイド
1,844京6,744兆( 以下略 )だそう。32ビットが約42億らしいので、かなり桁が違いました。
一京の年収とは。大富豪の生涯年収かな、羨ましいですね。宝くじで当てても数年で使い切ってしまいそうです。
検索したら2022年末時点の世界長者番付の第一位資産額で26兆、さすがに桁が違いました。
Microsoftの創業年からの総資産額とかでしょうか。個人で稼げる額ではありませんでした。
…… ウォルマート創業者の娘とか、生まれた環境で生涯資産額が決まるの本当に羨ましい限りです。

64ビットCPUは、CPUが処理を行う最小単位:レジスタのサイズが64ビットという意味だそう。
そしてレジスタは高速な短期記憶のようです。( レジストリとは無関係 )
参考リンク:レジスタ:わわわIT用語辞典

4.OSとソフトの互換性

本文中ではアプリケーションと表現されていますが、和美がパソコンはソフト( ソフトウェア )で呼び慣れているので、この記事では 「 ソフト 」 で統一します。
16ビット32ビット64ビット各OSに基本的に互換性はないらしいのですが、手持ちのComicStudio 4.0が32ビット版だったような気がするのはなぜ。
32ビット版には内部に16ビット版を動かすエミュレーターが入っていたらしいので、同じように64ビット版にもエミュレーターがあるのでしょうか。
参考リンク:Yahoo!知恵袋
本には32ビット版は16ビット版の完全上位互換だから動くと書いてあるので矛盾していますがどちらが正しいの。と思ったらCPUの話でした。
CPUは上位互換ですが、ソフトは上記知恵袋の回答通り、互換機能のあるエミュレーターで動かしているそうです。
Windows95かWindows98向けに作られた中古のデータCD-ROMに入っているスクリーンセーバーがWindows10で動かないのですがどうしたらいいですか。( 目当てはその中にあるらしい限定の設定資料 )
アニメの設定資料集なんか普通に売ってくれれば買ったのに。

今は64ビットが主流ですが、十年くらい経ったら128ビット版パソコンが普及してコミスタが死ぬんでしょうか ……。
その前に自分のパソコンがクラッシュするかOSが非対応になる方が早いでしょうが。
泣きたい。その頃までにはAdobeのCS6を、非合法でいいからアクティベートリセットできるようになっていてほしいです。
( 2023年1月末にサポート終了、再インストール不可になりました )
月に一度も起動しない可能性が高いのでデータのサブスクリプション大嫌いですし、Creative Cloudなんか絶対買いません。
Windowsのアクティベーションは突破されているらしいので、どこかのハッカーに期待しています。

5.MS-DOS

表題はMS-DOSにしてみましたが、複数回出てきたので実際に本と読み比べると順番が前後しています。
そんな事をする方はいないと思いますが念の為。

16ビットと32ビットのOSの話が出てきましたが、64ビットがいつから出てきたのかは分かりません。Windows7にあったっけなかったっけ。
そしてWindows3.0の前は1.0と書かれていて、欠番の2.Xが気になりましたが。あんまり一般的ではなかったため歴史から削られただけで、Windows2.0も存在していたようです。

そして国内ではWindows3.1から普及したと書かれていて、和美が初めて使ったパソコンもWindows3.1だったのに、名付けの法則が変わった理由は何でしょう。
Windows Vistaを代表に、Windowsは「 前のバージョンが評判悪かった時は名付けの法則を変える 」 のだと思い込んでいました。
思い返すとWindows98とMEとかそうでもないですね。WindowsMEも安定しなくてよく再起動していましたが。
今、Vistaの開発コードネーム:Longhornを思い出しました。懐かしい。
当時親が買っていたパソコン雑誌に載っていたのを覚えただけで、Meや7など他のWindowsの開発コードネームは知りません。
そのパソコン雑誌もとうの昔に休刊になりましたしね ……。さすがに最終号は自分で買いましたが。

16ビット版のMS-DOSを廃止したのがWindowsXPだそうで、Windowsを起動した時、こんにちはの前に黒い画面が出なくなった理由がこれかなとぼんやり思いました。
Windows95 / 98は使っていないためいつからなくなったのかは曖昧ですが、WindowsMeの起動時にはまだ出てきていた覚えがありますし。

カーネルという言葉が何の説明もなく出てきて驚きましたが、章末の用語解説に載っていました。
OSの中核部分で、OSはカーネル部分とドライバ部分に大別されるそう。

MS-DOSにはcom形式とexe形式があるそうで、exe形式ってインストール形式のソフトの拡張子? と思ったら合っていました。
com形式は.comとは当然無関係で、Wikipediaの概要に「 MS-DOSのCOMファイルはコンピュータウイルスCascadeに感染する 」 と悲しい事が書いてありました
ちなみにシステムの日付が1988年10月~12月になると発病するが、英語版でしか正常に動作せず、日本語版では暴走する。との事でどっちも酷いですね。
……「 システム日付が 」 という事はもう手動で時刻設定を変更しない限りは無害なのでしょうか。いや暴走する日本語版が心配ですが。
Cascadeはウイルス対策ソフトのカスペルスキーが創業したきっかけだそうです。( 創業者の苗字だったのか、カスペル )
参考リンク:COMファイル:IT用語辞典BINARY

上記リンク先の説明によると、Windowsのシステムファイルに互換性があるため、拡張子が.comでも実際にはexe形式のファイルの場合もあるそう。
検索してもWindows10ではほぼ使われないと書いてあるページしか出てこないんのですが、なぜ消えたのかの説明が見当たりませんでした。最大ファイルサイズが小さすぎるせいでしょうか。

「 存在( present )フラグ 」 と呼ばれる機能、と共通認識のように書かれているのですが、検索しても全く出てこなかったので独自用語かと思いました。
参考リンク:フラグレジスタとは:IT用語辞典BINARY
上記参考リンクの中にPフラグは挙がっていませんが、CPUが特定の命令を実行した後に自動的に付与されるというフラグレジスタの一種なのだと思います。
なおフラグレジスタと呼ぶのは16ビットIntel製のみで、一般名称はステータスレジスタだそうですが。

6. Windows CE

Windowsの歴史の中に個人向けでもビジネス向けでもない 「 ハンドヘルドコンピュータ向け 」 という項目があり、32ビット版1997年のWindowsCE 1.0から突然歴史が始まるので調べました。
導入部分の 「 現在使われている主なWindows 」 の項目に概要が書かれていたのを読み逃したようです。
参考リンク:Windows CE:IT用語辞典 e-Words
組み込み機器の制御用コンピュータ向けだそうで、炊飯器やカーナビなどに入っているマイコンの部類に当たるようですね。
Windows CEは4.0まで出た後Windows Embedded( エンベデッド:埋め込み )という名前に代わり、Windows10発売と同時にWindows10 IoTとなって今に至るようです。
WikipediaによるとCEは略語ではなく、"Compact"," Connectable," Compatible," "Companion," and "Efficient."( 小さく、繋ぎやすく、互換性のある、付き合える、効率的なもの )の意味だそう。
…… 4.0以降はウィスキーからコードネームを付けられたそうで、6.0が山崎( サントリー発売 )だったのに笑いました。

ちなみにハンドヘルドは持ち運びしやすい小型の端末で、Windows CEを搭載した携帯端末の総称でもあるよう。
参考リンク:ハンドヘルド:IT用語辞典BINARY
SHARPから発売されていた電子手帳のザウルスにも搭載されていたそうで。…… 欲しかったなぁ、と思い出しました。
キングジム発売のキーボード型テキストエディタ:ポメラは新作が出ていますし、タブレット型の電子メモは各社から発売されているので、ネットから切断された小型の電子機器、というジャンルはある程度の需要が今もあると思います。
調べたら同じSHARPから手書きの電子ノートが出ているようです。
参考リンク:電子ノート:SHARP
富士通から発売されている電子ペーパー 「 QUADERNO 」 に興味を持って、四万円という高額に断念したのを思い出しました ……。
参考リンク:QUADERNO公式サイト:富士通

7. DLLとDTMマガジンの謎

DLLの説明で、「 ロード時動的リンクではなく実行時動的リンクにしておけば、市販ソフトの試用版のように印刷だけができない、ファイル保存だけができない、などの機能制限が簡単に実現できる 」 と書かれていました。
そこで思い出したのが、休刊した雑誌 「 DTMマガジン 」 創刊号に付属した、VOCALOID2 初音ミクの体験版です。
こちら、機能制限に間違いがあったらしく …… 試用期限( 一ヶ月とか?)が設定されているのに、システム日付の変更で何日でも使い続けられるのです。
( これが原因で中古価格が高騰していました )
試用期限が一ヶ月なら、例えば3/6にインストールした場合、4/5に使用不可能になります。ですが、4/10にシステム日付を手動で3/7に変更すれば使用可能という。
ファイル保存はできないそうなのでDLLの関係ではないと思いますが、どうしてこんな有名な不具合が出たのだろうと思いました。
…… 手元にはV3かな? のIAしか体験版はありませんので考えようもありませんが。

8. 閑話休題

Windowsの名前の由来がマルチウィンドウと書かれていて少し驚いたので、Macintoshの名前の由来を調べました。
参考リンク:PCとかの 「 マッキントッシュ 」 の意味は? リンゴと関係あるの?やさしい英語辞典
りんごの品種名だそう。あれ、Appleの社名って万有引力が由来だと思っていました。
現在はネスレから発売されているキットカットは元々マッキントッシュという会社から出ていたそうですね。
調べたらロントリー社が発売元でマッキントッシュと合併、ネスレに吸収合併されたそう。日本では不二家から発売時に「 マッキントッシュのキットカット 」 と謳われていたらしいのでそれが原因でしょう。

マルチウィンドウの説明に、画面の中で描画を書き換える部分を制限することって意味で 「 クリッピング 」 という言葉が出てきました。
( 二つ重なったウィンドウの、重なった下側は描画できない。この動作により書き換えが高速になるらしい )
PhotoShopのクリッピングマスクで慣れているから意味は分かるのですけども。
パソコンが重い時に、重なった下の部分や最小化していたウィンドウを大きくすると、ウィンドウが黒くなっている時がありますね。
アクティブウィンドウを設定しているつもりでもアクティブになっていなくて、左上に変換前の文字が並んでしまう時は、入力した文字もどこかに保存されていたりするのでしょうか。

9. GUIとゴミ箱

Windowsのゴミ箱アイコンが分かりにくいと書いてあって、Windows7の時にMacintosh丸パクリの金網ゴミ箱になったなぁと思い出しました。
Appleから抗議でもされたのかWindows8で戻ってしまいましたが。
操作性で言うなら、AppleのUSB取り外し時の操作 「 ゴミ箱にドラッグアンドドロップ 」 は本当におかしいというか不思議というか、よく思いついたなと感心します。
Windowsのインジケーター右クリックも使いにくいですが。

プリンタのアイコンがレーザープリンタになっているがインクジェットプリンタの方が良いのでは、と書かれていて両方の画像を検索しましたが、和美は区別がつきませんでした。
「 作業の混乱を防ぐには全てのソフトで基本的な操作方法を統一するのが有効 」 で、Ctrl+Zで元に戻すやF1のヘルプが共通のショートカットとして設定されているのが当てはまるのでしょうね。
でもCtrl+Yでやり直しはとても押しづらいので変更してほしい所存。Ctrl+X辺りが妥当では。
近年ではCtrl+Enterで送信も多いですね。TeamsなどのチャットアプリやMastodonなどのマイクロブログが対応していたはずです。
飛行機は型式で操作方法が異なり、誤操作による事故を防ぐため、免許は型式毎の取得(+既定の実技時間?)と聞いたのを思い出します。
いや、ほぼボーイング社が製造しているんだから同じ操作方法にしておけばいいのでは? と首を傾げたのは内緒です。

10.IEEE1394

ドライバの説明で「 USBやIEEE1394など、電源を入れたまま取り付けられる機器も増えています 」とあり、IEEEシリーズが区別つかないので検索しました。
プラグアンドプレイですね。「 活線挿抜 」 の日本語訳を初めて知りました。
IEEEの読みは「 アイ・トリプルイー 」です。「 アイ・イー・イー・イー 」 ではありません。

Wikipediaに、IEEE1394の開発には数社の特許技術が使われていて、対応機種を発売する時は全メーカーから別々に特許の使用許可を取る必要があると書いてあって笑いました。
ひでえ。それでよく国際規格を自称したな。
IEEE1394発表当初から問題視されていて後年には一括申請できるようになったらしいですが、一デバイス(= 商品一種類?)一ライセンスかつ有料で、USBは一企業一ライセンスで使用料無料なので、酷い仕様なのは変わらなかった模様。
Wikipediaの対応機種一覧に、CD-ROMドライブなどに混じってPlayStation 2がありました ……。途中で削除されたようですが、和美が持っている限定色版( オーシャン・ブルー )にはあるらしいです。
直後に出たSAKURA色が綺麗だった思い出。

ハードウェアをパソコンに組み込む時に必要な設定項目を見ていて、先日までやっていた仕事の中で、USBのポート番号は累計127台まで? しか設定できないと聞いた記憶が蘇りました。
参考リンク:USBの限界に挑む! 規格上の接続数127台は可能か?ASCII
こちらの記事によると実際の同時接続は100台程度が限界のようですが。理論値と実測値の差ですね。漫画 「 理系の人々 」 を思い出します。
ベストエフォートのネット回線とか、本当に理論値通りの数字が出るのかよと疑いますが。
同時処理が最大四台までだったので同時接続数は多くないのですが、全てに違う番号が振られるので途中でフリーソフトを使ってリセットしました。

パソコンの周辺機器を拡張する時の拡張スロットの規格の一種という「 PCIバス」 を検索したら、既にPCI Expressという正統後継が出た古い規格のようで、2000年代に使われていたマザーボードの32ビット用らしいです。
メインメモリ以外の増設を寡聞にして知りませんが、グラフィックボードも追加できるんでしたっけ? テラタワーが憧れでした。今でもキワモノケースは楽しそうだなと思います。
昔( プログラマになる前 )は親の自作パソコンの話をたまに聞かされていました。自分ではノートパソコンしか持っていません。
USBなど新しく差し込み・切断を行うと、自動的に割り込みが発生して「 新しいハードウェアの検索 」 が動くようになっているそうで。
そういえばペンタブレットを繋ぎ始めた頃はよく動かなくなって同じドライバを何度もインストールし直した記憶があります。これが原因でしょうか。
原因不明のままいつの間にか発生しなくなりましたが、その頃の癖でデスクトップにドライバソフトを置いたままです。

DMAチャンネルも分からなかったので調べました。
参考リンク:DMA:IT用語辞典 e-Words
最初のDMAは周辺機器やメインメモリなどの間でCPUを介さずに直接データを転送する方式との事。
DMAチャンネルはこの方式の時、転送を制御する専用のICチップ( コントローラー )に転送を要求するために使う通信経路だそうです。

11. クリップボード

クリップボードの説明で「 音楽ソフトで作曲した曲を図形作成ソフトに貼り付けられないのは誰が見ても明らか 」 という文章が出てくるのですが。
Singer Song WriterにMusic Maker2と五線譜表記のDAWしか使わない身からすると、音楽ソフトで作曲した曲は無理でも、五線譜表示の楽譜はPhotoShopなどの図形作成ソフトに画像として貼り付けられてもいいのでは、と思ってしまいました。( 需要は謎 )
クリップボードに登録される時にデータ形式が付加されるそうで、代表的なデータ形式の一覧が載っていました。
中に 「 Software Arts社のソフトで使われるデータ交換形式 」 があってSoftware Arts社を検索したのですが、個人パソコン用に表計算ソフト( Excelみたいな )を初めて発売した会社、以上の事は分かりませんでした。
参考リンク:業界に痕跡を残して消えたメーカー 表計算ソフト「 VisiCalc 」 で世界を震撼させたVisiCorp:ASCII.jp
他にも 「 プライベートな形式 」 という理解できない表現があったのですが、検索しても説明が出なかったので諦めました。
png形式をコピーしてもクリップボードにはjpg形式で保存されるというのが割と意外でした。
参考リンク:誰もやらなかったWindowsクリップボード徹底解説:窓の杜

クリップボードとは違って文字のみ、データ保存時に行き先が決まっているDDE( 動的データ交換:ダイナミック・データ・エクスチェンジ )というのが載っていました。後継のOLEやCOMになり、今は.NET Frameworkが使われているそう。たまに 「.NET Framework3.0以上必須 」 と書かれたフリーソフトがありますね。
初期のコンピューター用語は、Wikipediaでも 「 書きかけの項目 」タグもなく中途半端なまま放置されている記事が多いです。
参考リンク:DDE:IT用語辞典 e-Words

12. マルチスレッドと排他処理

排他処理がされないタスク切り替えをマルチスレッドと称されると少し違和感を抱きます。
いやプログラマだからかもしれませんが、JavaScriptでは 「 こっちを先に処理してくれると思っていた 」というバグがよく起きていたのです。
onPageEntering()お前だよ。
プログラマは 「 コードは思った通りに動かない。書いた通りに動く 」 と言われますが、思った通りに動けと感じてしまいます。

13. ネットワーク

早くも最終章です。イーサネット辺りはまだ辛うじて読めば分かるのですが、IPアドレスの説明がさっぱりで目が滑ります。
でもいい加減受験したいITパスポートに関わってくるので頑張ります。

参考リンク:イーサネット:IT用語辞典 e-Words
こちらによるとイーサネットは 『 有線 』 ケーブルの規格だそうですが、無線の規格は? と思いました。
Wi-Fiとか4G5G辺りでしょうか。短距離だと赤外線にBluetoothもありますね。
5Gを普及させられていないのは事業所が完全に悪いのに、対応機種というだけで勝手に課金するなと思います。
電波も悪いのでそろそろ乗り換えでしょうか。6Gに期待はしていません。色んな意味で。

参考リンク:OSI基本参照モデル:ITパスポート試験ドットコム
こちらの用語集によると、イーサネットはITパスポートの試験対象外のようでちょっと安心しました。この後にTCP/IPが待っていますが。
調べたところ、上位資格の基本情報技術者試験に軽く出題されるようです。
目指せいつか受験( 先にITパスポート合格 )

OSI7層モデルのトランスポート層にTCPと並んでしれっとUDPなるものが書かれていたので調べました。
( 読み進めた先にちゃんと説明が出てきましたが )
参考リンク:初心者でもよくわかる「UDP」とは?:Twilioブログ
こちらの説明によると、データ欠けが起きるものの高速に送れるため、動画配信や通話システムで使われるそうです。
本によると、第四層でデータを変換する方法を決定するらしいので、動画・音声・ファイルの分岐点に当たるよう。

HTTPはTCP80番を使うとHTTPの規定書であるRFC2068に書かれているらしいのですが、HTTPSはどうなんだろうと思いました。
ちなみにRFC2068はHTML/1.1の仕様書で、HTTP/2はRFC7540だそう。
InternetExplorerからは/1.1と/2を使用するか選択項目がありましたが、他の開き方を知りませんでした。
コントロールパネルからインターネットオプションを選択すれば開けるようです。いやなんでedgeから開けないんだよ。不思議です。

14. 最後に

最終章の途中まで読んでITパスポートの勉強を再開。
新規用語に四苦八苦七転八倒している間に始まった仕事が忙しくて、検索しながらでないと読み進められないため止まっています……。
そんな理由で三ヶ月放置した記事を投稿してしまいます。
四周目記事とか出たら笑ってください。二周目の感想文は自宅のパソコン内に眠っている気がしますが。
ちなみに、同じシリーズの「 プログラムはなぜ動くのか 」 も読書途中に自腹で買って、一ページも開かないまま積み上がっています。
PR
【 この記事へコメント 】
名前
コメントタイトル
URL
本文
削除用パスワード
累計アクセス数
アクセスカウンター
レコメンド
プロフィール
書いている人:七海 和美
紹介:
更新少な目なサイトの1コンテンツだったはずが、独立コンテンツに。
PV数より共感が欲しい。
忍者ブログ [PR]