最近、社内開催のOS勉強会に参加することもあり、何かOSを理解する上でパッと分かりやすいカーネル処理が無いかなと考えていたところ、time コマンド の動きを追うのが良いんじゃないかとふと思いつきました。理由は以下の通り。 Linux を触る人なら恐らく誰でも使ったことがある 関連する man マニュアルの説明は(どちらかと言うと)詳細で分かりやすい ユーザー/システムCPU時間がユーザー/カーネルモードに対応しており、カーネルを理解した気分になれる というわけで、time コマンドの内部動作を追いかけて、計測される時間が何を意味するのか確認してみましょう。仕組みは至って単純ですが、カーネルのお仕事の一端が垣間見れるはず。カーネルソースの追いかけ方がなんとなく理解してもらえたら、と思います。 以下、ソースコードを追いかけながら書いてるのでかなり長くなっており、すごく細かい所・大雑把な説明入