『OS自作入門』を引き続き読む。
こんにちは。
引き続き『OS自作入門』を読んでいます。
前作ではタイトルに『30日・・』とあったのですが、今回にはついていません。
本書のコードはC++で書かれており、C++をほとんど知らない状態からのスタートだったので、コードを理解するのに時間がかかっています。毎日、すき間時間を使って少しずつ読み進めています。
普段は意識することなく、操作しているマウスですが、実装されたコードから勉強すると、単純なコードを組み合わせて、動かしていることが実感できます。
例えば、コードの時間定数を微妙に変えることで、マウスポインタの動きがカクカクしてぎこちなかったり、スムーズになったり、コードと操作がリンクすると理解が深まります。
読む前には、OSといえば、すでにWindowsやLinuxなどがあるので、今さら一から作って意味があるのかなと思いましたが、実際作ってみると、ジグソーパズルを組み合わせて完成に近づけていく過程に似ています。はじめは小さな塊だったのが集まってきてだんだん大きな塊になって、最後は絵が完成する、イメージです。
パソコンの起動ボタンを押せば、画面がたちあがって、アプリのアイコンをクリックすれば、文書作成やインターネットで検索ができるのが当たり前なのを、一からどう動いているのか、仕組みを理解できます。
マウスのポインタを作るところからはじめて、
マウスの動きにあわせて、画面上のポインタを動かしたり、マウスをクリックしてターミナルを動かしたり、マウスをクリックして、ターミナルのウインドウを動かすにはどの様にコードを組めばいいのか。
当たり前にできていたことを、いざ実装するとなるとかなり複雑。ただ、これまでブラックボックスだったマウスポインタの動きなどが、プログラミングコードと結びつくことで、理解できたときには爽快感があります。