diary/Kojima

・Linux カーネルのサイズ

昔,Linux Seminar で発表した Linux カーネルのサイズ変遷の資料を,しばらくぶりに更新してみた.

kernelsize.jpg

データは ftp://ftp.kernel.org/pub/kernel からダウンロードできるそれぞれのカーネルの tar.bz2 イメージのサイズを縦軸に,そのカーネルが公開された日付を v0.01 が公開された 1991/9/17 からの経過日数を横軸にして描いてみたもの.

基本的に FTP サーバから得られる tar.bz2 ファイルの日付を使っているけど, 1.0 以前のカーネル(0.12 とか 0.99 シリーズとか)は後から FTP に登録されたみたいで日付が 前後しているので,展開して得られるファイル群の最終更新日を元にしている.

サイズの増加傾向を重視する視点から,開発版を中心に描き, 安定版(2.0.x, 2.2.x., 2.4.x)の系列は異なるブランチとして描いてみた. 2.6の系列は途中から安定版/開発版の区別が無くなったので,同じブランチで 描いてみたところ,図のように葡萄の房みたいな感じになった.

0.01 のころは 633KB だったサイズが2.6.25.3では 48.5MB と, 17年ほどで 76 倍強になっているらしい.さっくりと計算してみると, 1.29^17 = 75.862 だから,年率 29 % くらいの成長ということになるのかな. このペースで行くと,来年の秋には 62MB(1.29^18*0.633=61.946), 3年後(20周年)には100MBを越える(1.29^20*0.633=103.086)ことになりそうだ :-P

なお,この数字は tar.bz2 の値で,展開した実際のソースコードはさらにその6〜7倍になるのを お忘れなく(2.6.24 カーネルは tar.bz2 で 46.7MB ほどだけど,展開すると 296MB くらいになる).

2.6系のカーネルは2003年の暮れ(2003/12/18)に公開されて以来, 5年くらい開発版へのブランチが無いのだけど, これだけの規模になってくると部分ごとの改善を進めるのが限界で, 抜本的な枠組みの見直しというのは困難になっていることを如実に示しているような気がするな.

公文先生のS字曲線仮説を押しあてると,0.01 から 1.3 くらいが「出現」, 2.0から2.4くらいが「突破」で,最近の Linux は「成熟」の局面に入ってきたような気がするけど, 果してこの先,「成熟」から「定着」の局面に入るのか,ハードウェアの進化に対応しつつ新しい展開を見せるのか, ちょっと興味あるところ.

このあたりのネタは「ソフトウェア考現学」とでも名乗りたいところだが,この名前は(内容は全く違うけど) 萩谷先生に20年以上前に名乗られてしまっているのだなぁ(苦笑



添付ファイル: filekernelsize.jpg 222件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:41