気にはなっていたのだが、今まで linux カーネルのソースコードを読んだことはなかった。
現在(2022 年頭)、ソースは2700万行くらいらしく、全部を読むのは無理。
『動かしながらゼロから学ぶ Linuxカーネルの教科書』
が、導入書としては結構良書だったので、それを手がかりにして GitHub のソースを漁る。
https://github.com/torvalds/linux/blob/master/init/main.c
が、まず最初に実行される main 関数。
アイキャッチは、ページ機能の init (初期化)をおこなっている箇所。(これでメモリが使えるようになるわけです)
関数名からカーネルが何やっているか大体想像はつくと思うが、書き方がすっきりしてますね。
だからどうしたと言われればそれまでなんですが、たとえば、医療機器を超高速で制御したいときなんて、カーネルに手を加えた方がいい場合が多い(はず)なので、担当者にはそれくらいの知識・経験を要求しますね、私なら。