386プロセッササポートを廃止した「Linux 3.8」リリース、SSD向けファイルシステムやExt4でのinode内へのファイル埋め込みなど新機能も搭載

 Linus Torvalds氏は2月20日、Linuxカーネル3.8のリリースを発表した。Linuxで当初からサポートされていた386プロセッササポートが廃止されたほか、フラッシュディスク向けのファイルシステム「F2FS」やExt4でinode内に小さいファイルを埋め込む機能などが追加されている。

 2012年12月にリリースされた「Linuxカーネル3.7」以来、約2か月での新版リリースとなった。「小さなパッチの確認を待っていたために数日遅れた」とTorvalds氏は説明している。

 大きな改良点としては、Ext4ファイルシステムでinode内にファイルを埋め込む機能の追加が挙げられる。inodeはファイルシステム内に作成されたデータベースで、ファイルサイズやその作成/更新日、実際のデータが格納されている位置といったファイルに関する情報が格納されている。ファイルの中身はinodeとは別の場所に書き込まれているが、ext4では一定サイズ(通常は4KB)のブロックでデータを管理しているため、数バイトのデータでも4KB分のブロックを消費してしまうことになっていた。そこで、このようなサイズの小さいファイルについては、inode内で利用されていない空間に格納することでディスク容量の無駄な消費を抑え、また読み込みパフォーマンスの向上を図るという。

 また、Btrfsで複数のストレージデバイスにわたったファイルシステムを利用している場合に、利用するストレージデバイスを高速に切り替えるための機能(replace機能)が追加された。これにより、ファイルシステムをアンマウントすることなしに利用するストレージデバイスを置き換えることが可能となる。

 SSD向けのファイルシステム「F2FS」も新たに導入された。現状では「実験的」とされているファイルシステムで、韓国Samsungによって寄贈されたもの。Linuxではフラッシュメモリ向けのファイルシステムがすでにいくつか存在するが、これらはコンピュータ側が直接フラッシュメモリを操作することを想定したものであった。しかし最近のSSDではデバイス内に搭載されているコントローラがより高度になっており、たとえばOSが指定したストレージ上の位置とは別の位置にデータを書き込むなどといった処理が行われている。F2FSはこのような高度なフラッシュメモリストレージに向けたファイルシステムで、たとえばストレージ上で不要となったデータ領域を通知するためのTrimコマンド向けの最適化といった機能を持つという。

 そのほか、デバイスへのアクセスを制限するためのUser Namespace機能では非特権ユーザーがプロセスごとの名前空間を安全に利用するための機能が追加され、User Namespaceの実装がほぼ完成したという。XFSにおけるログのチェックサムやHuge pageでの「zero page」(その領域にすべて0が格納されているメモリページ)サポート、メモリリソースコントローラにおけるカーネルメモリを対象としたメモリ消費量カウントサポート、NUMAバランシングの自動化なども行われている。

 ハードウェア関連では、Intelの386プロセッササポートが廃止された。486以降のプロセッサについてはまだサポートが続けられるという。

 Linuxカーネルのソースコードはkernel.orgやそのミラーサイトなどからダウンロードできる。ライセンスはGPLv2。

kernel.org
https://www.kernel.org/