この投稿は「カオスの坩堝 Advent Calendar 2018」 の23日目の記事です.
こんにちは、PiBVTです。今回は僕とコンピュータのこれまでの付き合いについて語りたいと思います。
幼少期(幼稚園まで)
そもそも、僕自身は計算機・コンピュータよりも工作用紙や木材であれやこれやと作る、工作の方が好きでした。
コンピュータも僕の好奇心の対象にはなりましたが、操作をすると画面が変化することを楽しむだけで、それ自体の魅力を感じ取ったわけではありませんでした。
小中学校時代
コンピュータをまともに操作するようになったのは小学生低学年のころだったように思います。誰にもコンピュータ関連のことを相談できなかったので近所の図書館のPC関連書籍棚にある本を片っ端から読んで勉強していました。が、当時僕の家庭ではゲーム・PCは休日の昼間のみという制限があり、コンピュータを使ってプログラミングをしたりするのではなく、本にある内容を試してみる程度のことしかしていませんでした。
一方、工作系は何ら制限が無かったので紙・木細工から電子回路へと分野を切り替え、壊れた電化製品を分解して部品を集めて簡単な回路を作ったり、ラジオのキットを買って組み立てたり、改造して受信感度を良くしたりアンプを付けてスピーカーを鳴らしたりしてました。
ちなみに、僕は四国の田舎に住んでいたためまともな部品屋さんもなくお小遣い自体もなかったので、100均ショップの電気小物をベースにして改造することが多かったです。汎用部品で出来ている製品が多かったので、むしろありがたかったです。
高校時代
高校生になると状況は一変します。まず、お小遣い制度が導入されある程度の金額までならば自由に買い物が出来るようになりました。さらに、通学用の自転車を買ってもらえたので行動範囲が一気に拡大しました。
まずコンピュータ関連のことからですが、高校生になる直前にそれまで貯めていたお年玉で自分専用のノートPC(中古)を購入しました。が、もちろん前述の家庭ルールは適用されているので時間的には自由に使うことは出来ませんでしたが、自分専用のPCなだけあって自由にアプリケーションを入れたりOSを入れ替えたり出来るようになったことはとても嬉しかったです。
さらに、お小遣いのおかげで自由に使えるお金がある程度あったことと、行動範囲を広げれる自転車の登場で、PCパーツ目当てに週2,3のペースで部活終わりに高校近くのHARDOFFに通うようになります。(ちなみに、部活は中高共に柔道をしていました) 良さげなジャンクのパーツやら機器があれば自転車の荷台に積み、家までの12,3kmの道を帰るような日々を過ごしていました。
そんなことをしていると、高校2年生にもなるとジャンクの寄せ集めなPCが2台ほど確保できたので、これらのPCをベースにLinuxを入れてWebサーバーにしたり、KVMを利用して仮想化サーバーを立てるようになります。これといって立てたから何か運用するわけでもなく、ひたすら立てては壊し、また別の何かを立てることを繰り返していました。
一方工作系の分野に関しては、PICやAVRのマイコンを触るようにはなったものの、部活が忙しく休日すらまともにまとまった工作の時間を確保することが出来ず、下火になります。高校3年生になるまではPC中心で色々やっていたのですが、高校3年生の4月に本屋で運命的な本と出会いました。渡波 郁さん著の「CPUの創りかた」です。CPUをDIPのロジックICだけで作る内容はまさしく衝撃的でした。この本をきっかけに僕のコンピュータ系の流れと工作系の流れが合流することとなります。
さらに追い打ちをかけるように、ぬるぽへさんの「CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話」の記事を見つけ、自作CPUの上で自作OSが走るのか!と感動し、自分でもやってみたいという思いを持つようになります。
大学生になってから
受験を終えて無事大学生となりましたが、想像以上に忙しい毎日でひらすらレポートやら勉強やらで1回生の間は趣味的な何かをすることはほとんどありませんでした。ちなみに、講義の1つでRaspberry Piを使って何か作るというゼミがあり、ここで初めてプログラミングをし始めます。言語はCでした。しかし2回生になる前の春休みに、前述の「CPUの創りかた」や「CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話」を再び読み返し、やっぱりCPUとOS作りたい!という思いから春休みはひたすらnand2tetrisで有名な「コンピュータシステムの理論と実装」を読んで実装をしていました。さらに、この時期にセキュリティキャンプなるイベントがあることを知ります。
2回生になってから、「CPU,OS作りたい」という思いは高まる一方でした。4月の中頃にクラスメートの艮鮟鱇さんから「セキュリティキャンプなるイベントでCコンパイラやらOSが作れるらしい」という話を聞きます。僕は迷うことなくその話に飛びつき、GW中に組み込みOSを書いたりミニキャンプ兵庫に参加したりしてました。倍率は5倍以上という話を聞き、「ダメ元でもいいから出しとくか」と、調べた内容全てを応募用紙に書き送りました。その結果、見事選考を通過し8月14日〜8月18日にセキュリティキャンプ全国大会に参加しました。参戦記はココにあります。キャンプをきっかけにOS自作界隈の方々をTwitter上で知ることが出来、僕の世界がそれまでと大きく異なるものになりました。
これから
これから先の目標としては、まず自作CPU上で自作OSを動かすという計画があります。高校生からずっと夢に見てきた計画なので必ず実現します。他には、0から独自設計された自作OSやCコンパイラも作りたいなぁと考えています。また、外向きな目標としてはセキュキャンや自作OS等のコミュニティについても積極的に参加し、繋がりを広げていきたいと思っています。
大学生という身分を最大限活用して、自分がやりたいと思うことをとことん突き詰めて悔いのないようにしたい。この一言に尽きます。
コメント
夢があっていいなぁ