Linux応答時間の実力

Linux コーナ
ハードを隠ぺいしたお任せ OS を組み込みで使う可能性を探る
実験リサーチ!
カーネル内部
とことん可視化計画
Linux応答時間 の 実力
第
12 回 ファイル・システムによるマウント/ 読み出し時間のちがい 海老原 祐太郎
表 1 Linux で使えるファイル・システムの種類
現在開発が進められていてほぼ安定したといわれている ext4 形式は,2E バイト(エクサ・バイト= 1024T バイト)と大きなディスクが使用できます.一方
で,株式トレードやデータ・ログなど時刻情報が重要な意味を持つシステムでは,秒単位のタイム・スタンプでは不十分となってきています.ext4 では時
刻の分解能が 2 − 30 という非常に小さな時刻単位まで記録できるよう設計されています
ext4
ext3
jffs2
cramfs
FAT32
最大ディスク・サイズ[バイト]
ファイル・システム
1E(= 1024T)
32T
128M
256M
2T
最大ファイル・サイズ[バイト]
16T
2T
128M
16M
4G
時刻分解能[s]
2 − 30
1
1
時刻なし
2
メリット
大きなスケール
高速
透過型圧縮
透過型圧縮・高速 広い互換性
デメリット
開発中
HDD 向け
遅い
リードのみ
● Linux ならでは! ファイル・システム選び放題
組み込み OS に Linux を選択する理由として,豊富
なファイル・システムがあげられます.RTOS ではミ
ドルウェアとして FAT がオプションで用意されてい
ることがありますが,Linux のファイル・システムの
豊富さにはかないません.表 1 に組み込み Linux で使
用されるファイル・システムを示します.互換性が高
い,圧縮率がよい,読み出しが高速などさまざまなタ
イプがあります.
そこで今回は,ファイル・システムをいろいろと組
み替えて,圧縮率やマウント時間,読み出し時間を調
べてみます.
読み書き時間とファイル・システム・サイズ.この
二つのトレードオフから目的に合うファイル・システ
ムを選択することになります.
(a)Linux ボードで定番の jffs2
(b)完全リード・オンリの cramfs
(c)パソコン用で大容量・高速な ext3
● ハードウェア
実験に使用するボードは 500MHz 動作の SH-4A マ
イコン SH7724(ルネサス エレクトロニクス)を搭載
する CPU ボード CAT724 +ベース・ボード EB724(シ
リコンリナックス)です.本稿では,SH-4A を題材と
しますが他のアーキテクチャでもほぼ同様です.
● ソフトウェア
カーネルのバージョンは 3.0.4 です.本稿で紹介す
る全プログラムやビルド方法,ロード方法などは筆者
のサイト(http://www.si-linux.co.jp)に掲
載します.
こんな実験
● 3 種類のファイル・システムを試す
図 1 のようにして,以下の 3 種類を測ります.
・実験 1…ルート・ファイルを変換してサイズを比
べる
・実験 2…ルート・ファイル・システムのマウント
時間を比べる
・
実験 3…起動後のファイル・システムの読み出し
時間を比べる
試すファイル・システムは以下の 3 種類です.
2015 年 3 月号
ディスク使用効率
CAT724ボード
ファイル・システム
を入れ替えたDebian
Linuxを格納
SH-4Aマイコン
SH7724
SDカード
RAM
図 1 今回の実験…ファイル・システムをいろいろ
変えてビルド,読み書きの速度を調べる
第 1 回 電源投入からカーネルが起動するまでの動作(2013 年 11 月号)
第 2 回 ハード制御で需要! 割り込み処理を時間で終わらせる三つのしくみ(2013 年 12 月号)
第 3 回 マルチタスク OS のキモ! タスク切り替えの基本動作(2014 年 1 月号)
141