OS 理解への道のり。

パソコンとか使ってたり、ちょこっとプログラミングをしたりすると多少なりとも OS とやらへ興味を持ったりするわけなんだけども、正直どう学んでいけば良いかわかんねー、とか言ってもう1年以上は経った、ような気がする。その間延々理解しようとしたわけじゃないけどね。

問題は、自分はめんどくさがってコーディングをほとんどしない人、ということ。一番身に付く方法は実践、という理論は何となく理解できても、めんどくさいし、そもそも何をして良いか、何から初めて良いかわからない。

だからとりあえず本を読む、と言う方向へ行きだす。で、良い、と言われている オペレーティングシステム―設計と理論およびMINIXによる実装 を買ってみるも、分厚いし、言葉の意味はわからんしで、泣きそう。

それでも根気良く読み返してればその内理解できるようになるのさっ、とかを十数回繰り返す。やっぱり理解できない。投げ出す。

である日思いつきで MONA―2ちゃんねる発祥の手作りOS を読んでみた。日記を読み返してみる限り 3週間程度前。やっぱりこの本もさっぱりわからないくらいの知識だったけど、何でだったか、プログラムってどう実行されんの?、とか疑問に思った。

で、まあ有名だったし プログラムはなぜ動くのか ― 知っておきたいプログラミングの基礎知識 を読んでみた。実はこの本、その数ヶ月前にも読んでみたんだけど、これまた意味不明状態だった、のだけど、その「プログラムってどう実行されんの?」という疑問に基づいて読もうとすると、結構するする入ってきた。おお、何かわかるかも、って感じ。CPU のレジスタ?とか、具体的な動きまでは理解できないけど、大体こういう感じでしょ、ていうのがわかった、のかな。

も一回 minix に挑戦 → わけわかんねー。

別の日、書店をぶらついてたら Windowsはなぜ動くのか を発見。これは知らなかったんだけど、プログラムは〜、と同じシリーズっぽいんで、良いかも、とか思って読み始める。で、これもなかなか、読んでると眠くなるけど、それなりに読めた。

よっしゃー、って minix 本に挑戦。おお、わかるっ(ような気がする。何となく。)

で、結局 minix 本は読んでない。全部読んでるとすげー時間取られそうなのと、別にそこまで minix に詳しくなりたいわけではなかったため。もしふと生活の中で、 あ、こういうのってどうやって実装してるんだろ、とか思ったら読み返すかもしれない。

そんな感じで、OS 理解の戦いは長い年月の割に数週間で分かった気になれてしまったため、もう良いかなあ、という気分。もーちょい上を目指したいなら既存 OS のはっくとかなのかなあ。かなりやる気なし。

それなりに満足しました。読んだ本は全部面白かったし、分かり易い、と思う。いきなり minix 本は辛いけども。基本情報の参考書とかも読んでみたけど、かなり浅い部分で終了していたのでちょと物足りなかった。

OS はプログラム組むには知っていたほうが良い、という言葉の意味は今のとこまだわかんないっす。まあプログラム組んでないからなわけだが。

でもOS の仕組みとかって色々考えられてて、純粋に面白いと思う。プログラム組まない人でもそれなりに楽しめるんじゃないかなあと。ムリかな?いや、私は組まない人なので生き証人か?まあ良いや。