2月版 紛糾! 安定版カーネルの「あるべき姿」とは?
上川純一
日本ヒューレット・パッカード株式会社
コンサルティング・インテグレーション統括本部
2006/2/28
linux-kernelメーリングリスト(以下LKML)かいわいで起きるイベントを毎月お伝えする、Linux Kernel Watch。2006年1月はどのようなことが起きたのか、見てみましょう。
カーネル2.6.16開発開始
2006年1月にLinuxカーネル2.6.15がリリースされました。「大きなパッチは開発の最初の段階でマージし、その後は修正を主として取り込む」という開発方針を取っていることで、心なしかリリース間隔も安定してきました。
2.6.15のリリースと同時に、2.6.16に向けてパッチの取り込みが始まりました。2.6.16では、Oracleで利用されているクラスタファイルシステム「ocfs2」がマージされたり、先月お伝えしたようにMUTEXの変更が取り込まれたりGCC 2.95が利用できなくなるなど、大きな変更が加わっています。
ディストリビューションのリリースに合わせて、カーネル側にシステムコールをいくつか追加したいという要望もあるようです。追加システムコールをいったん採用すると、簡単には変更できなくなります。新しいシステムコールの採用については、慎重な検討が必要でしょう。
Joerg Schilling大いに暴れる
cdrecordの開発者Joerg Schillingが、久しぶりにLKMLに登場しました。最初はmlockallの実装においてsuid rootであるアプリケーションの挙動について確認するメールだったのですが、途中からLinuxのSCSIの実装についての思想論になり、フレームに発展しました。
Joerg Schillingは、システムに接続されているすべての利用可能なSCSIデバイスのbus(チャネル番号)、target(ID番号)、lun(LUN:Logical Unit Number)の一覧を取得できるべきだと主張しました。これはいろいろなプラットフォームで共通して利用できる方法であり、ユーザーの利便性向上になるというのです。
一方、Linuxの開発者やユーザーたちは、SCSIの番号をでっちあげて利用するのではなく、「/dev/hda」など普段利用しているデバイス名を利用するべきだと反論しました。cdrecordアプリケーションでしか利用されていないデバイス指定方法を維持するために、Linuxカーネル側が努力することが本当にユーザーの利便性向上につながるのか疑問であるというわけです。
結論らしきものが出る気配はまだ感じられません。
メモリ空間を2Gbytesずつに分割するVM登場
Jens Axboeは、1Gbytesの物理メモリを搭載したx86アーキテクチャのシステムにおいて、メモリの1/8がhighmem領域となってしまうことに不満を唱えました。
カーネル用とユーザー用のメモリ空間が1Gbytesと3Gbytesの部分に分けられていて、オーバヘッドを数えると1Gbytesのメモリをカーネルからすべて利用できるわけではない点が問題になっています。そこで彼は、VMを2Gbytesと2Gbytesで分割して利用するパッチを提案しました。これにより、1Gbytesのメモリをすべてlowmemとして利用できるようになります。
このパッチを歓迎する声も多かったのですが、PAE機能(編注)との相互作用などの問題もあるため、単純にこのパッチを適用すればよいという話ではありません。また、例えばデータベースサーバやファイルサーバあるいはアプリケーションによって、利用するメモリ領域が違うため、一概に「どの方法が正解」とはいえないのが現実です。
編注:Physical Address Extension(物理アドレス拡張)。x86アーキテクチャにおいて4Gbytes以上の物理メモリを利用できるようにする技術。Pentium Pro以降のインテルCPUがサポートしている |
valgrindやUser Mode Linux、VMwareなどの一部のアプリケーションは、ユーザー空間のメモリ配置が事前に分かっていることを前提にしているため、メモリを2Gbytesで分割するパッチを適用する際は修正が必要なようです。
関連リンク: | |
valgrindデバッガ http://valgrind.org/ |
|
仮想OS「User Mode Linux」活用法 http://www.atmarkit.co.jp/flinux/special/uml/uml01.html |
GPLv3ドラフト公開、Linuxはどうなる?
FSF(Free Software Foundation)より、GPLv3のドラフトが発表されました。
GPLはさまざまなオープンソースソフトウェアのライセンスとして採用されており、Linuxカーネルも例外ではありません。
ユーザーたちは、「GPLv3になるとどうなるのか」という話題で盛り上がりました。ただ、Linusによると「Linuxカーネルは最初からGPLv2のみに特定したライセンスにしている」ということで、たとえGPLv3が公式に発表になったとしてもLinuxカーネル自体には直接の影響はないそうです。
関連リンク: | |
Free Software Foundation http://www.fsf.org/ |
|
GPLv3 http://gplv3.fsf.org/ |
1/2
|
|
||||
|
連載 Linux Kernel Watch |
Linux Squareフォーラム Linuxカーネル関連記事 |
連載:Linux Kernel Watch(連載中) Linuxカーネル開発の現場ではさまざまな提案や議論が交わされています。その中からいくつかのトピックをピックアップしてお伝えします |
|
連載:Linuxファイルシステム技術解説 ファイルシステムにはそれぞれ特性がある。本連載では、基礎技術から各ファイルシステムの特徴、パフォーマンスを検証する |
|
特集:全貌を現したLinuxカーネル2.6[第1章] エンタープライズ向けに刷新されたカーネル・コア ついに全貌が明らかになったカーネル2.6。6月に正式リリースされる予定の次期安定版カーネルの改良点や新機能を詳しく解説する |
|
特集:/procによるLinuxチューニング[前編] /procで理解するOSの状態 Linuxの状態確認や挙動の変更で重要なのが/procファイルシステムである。/procの概念や/procを利用したOSの状態確認方法を解説する |
|
特集:仮想OS「User
Mode Linux」活用法 Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
Linuxのカーネルメンテナは柔軟なシステム カーネルメンテナが語るコミュニティとIA-64 Linux IA-64 LinuxのカーネルメンテナであるBjorn Helgaas氏。同氏にLinuxカーネルの開発体制などについて伺った |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|