概要
本記事では「30日でできる!OS自作入門」を進めていくうちに気になった箇所、試していて躓いた箇所等をまとめる記事になります。
ちなみにわからないところはがんがんChat-GPT様に質問する気なので、間違っている点があればマサカリを投げていただけますととても喜びます。
書籍の詳細は省略いたしますので、気になられた方はぜひ書籍を購入してご自身でトライしてみてください!
今回は、Chapter0の内容についてです。
書籍との出会い
書籍自体は学生時代の授業で購入しました。
ですが、授業では確か半分程度のところで終わっていた気がします。
どちらにせよ、内容自体をあまり覚えていないので「時間があるしやってみるか」という軽い気持ちで始めています。
このように感じたのは書籍が「表現が固くない日本語で統一されていたな~」というおぼろげな記憶があったからでしょう。
気軽に始めても問題ないような表現でまとめられている書籍のため、ぜひ皆さんも気になれば始めてみましょう。
学び
IBM PC/AT互換機
まず、この言い方に聞きなじみがないです。いわゆるWindows PCのことらしい...
まずは何の略称なのかを調べてみました。「AT=Advanced Technology」という意味らしいです。
Advancedと言っているくらいなので、何かがよくなったのでしょう。
調べてみたところ(Chat-GPTさんに聞いたところ)、XT(=eXetend Technology)と呼ばれるものの改良版がこのATらしいです。
XT自体はIBM PCの改良版とのことですので、時系列的には以下のようなイメージなんだろうと理解しました。
- IBM PC
- IBM PC XT
- IBM PC AT
ちなみにこのあたりの解説についてはかなり面白そうな記事を発見しました。
https://atmarkit.itmedia.co.jp/fsys/pcencyclopedia/003pc_history01/pc_hist02.html
書籍を進めることを優先したため、あまり読めていませんが暇な時間に読めるといいなと思っています。
プログラミング言語と機械語の関係について
ソースがどんなにかっこよくても、自分の期待する機械語になってくれないなら、うまく動かないので意味がない
という文章が書籍中にありました。
確かに、わたくしもソースコードがすっきり見えるかといった内容に気を取られることがコーディング中によくあります。機械語が後ろにいるという意識はなかったので、そのあたりを意識するのが大事だよな。と地に足をつけてくれたように感じました。
(余談ですが、研究室の教授が「昔はバイナリコードを眺めて「ここちげーじゃん!!」ってやってたんだよ」と話されていたのを思い出しました。すごい時代。)
苦戦したところ
この章は心構えを説明していたり、書籍の内容に関する俗にいう「これが嬉しい」をまとめられているだけでしたので、特に苦戦する箇所はありませんでした。
まとめ
Chapter0はビジネス書で言う「はじめに」の部分でした。世の中では「書籍は気になる情報だけピックアップしていればいい」という書籍を辞書的な扱いとするアドバイスがちらほらありますが、この書籍のChapter0は読むべきだなと感じました。
何ができない、なんでこうしたがちらほら書かれています。心構えをもつのには文章量的にも最適なのではないでしょうか。
もっと言うと読んでいてワクワクするのでシンプルにおすすめです。
以上となります!次のChapter以降もマイペースにまとめていければいいかなと考えています。
少しでも良いなと感じられたらいいね等よろしくお願いいたします。
ピックアップ単語
※書籍の中で「聞かれてもしっかり説明できないな」という単語を個人的にまとめたものです。性格的に「とりあえずわからないでいいから進めるか」というタイプなので、気が向いたタイミングでいずれ個別で記事にするかもしれません。この記事ではメモ+何がわからないといった備忘録程度のことのみ書きます。
- コンパイラ:ソース→機械語にするもの(詳細な説明ができない)
- ビルダー:パーツが用意されていて、組み合わせるだけで目的のものが出来上がるものという理解でいったんスルー
- Delphi:デルファイと読むらしい。恥ずかしながら初めましてでした...
- gcc:もちろん存在は認知していますが、何をしてくれるとかはよくわかっていないことに気づきました
- レジスタ:機械語を扱うときのプログラミング言語で言う変数にあたるものらしい