8月版 リグレッションやChangeLogは不要?
上川純一
日本ヒューレット・パッカード株式会社
コンサルティング・インテグレーション統括本部
2007/9/3
ナノ秒単位の設定が可能なutimensatシステムコール
Ulrich Drepper(glibcのメンテナ)は、futimesatインターフェイスでは機能が足りていないということを理由に、utimensatシステムコールを提案しました。
futimesatは、inodeのアクセス・変更時間を設定するためのシステムコールです。struct timevalをパラメータとして受け取るため、マイクロ秒単位で設定します。一方、inodeの各種情報を取得するstatというシステムコールでは、ナノ秒単位で取得できるようになっています。つまり、そもそも設定できない精度で情報を取得できるような仕組みになっているわけです。
この問題を解決するために、パラメータとしてstruct timespec(ナノ秒単位)を利用できるutimensatというシステムコールを用意することになりました。このシステムコールはLinuxカーネル2.6.22-rc1でマージされました。
XenゲストOSもlguestもマージ
Linuxカーネルに新しくいくつかの仮想化機能がマージされていますので、こちらも見てみましょう。
まず目立つのが、Xen ゲストOSとしての機能が2.6.23-rc2にマージされていることです。そして、Rusty Russelが実装した、仮想マシンモニタとゲストOSを提供する機能、lguestが2.6.23-rc1にマージされています。
一方、KVM(注)は順調にメンテナンスが行われているようで、逐次修正がマージされています。KVMに関して変更の発生しなかった月はないといってよく、まだまだ活発に開発されている状況です。
注:2007年2月版 仮想化技術「KVM」の高速化パッチ登場!を参照。 |
ユーザーの観点からすると、ユーザー空間のインターフェイスとカーネル空間のインターフェイスの後方互換性を維持していないことによる互換性の欠落が問題になります。カーネルに含まれているkvmのバージョンは、最新のユーザー空間のアプリケーションkvmと互換性がないため、Avi Kivityによると次のような対応になっていました。
カーネルVer. |
kvmVer. |
2.6.20 | kvm-12 |
2.6.21 | kvm-17 |
2.6.22 | kvm-22 以降 |
カーネル2.6.23に向けて、今のところ2.6.22と非互換とするような変更はないようですが、ユーザー空間とカーネル空間の組み合わせについてはまだまだ気にする必要がありそうです。
ますます増える-stableツリー
Linusのリリースから分岐して比較的安定したカーネルを提供する-stableツリーの仕組みですが、最近はどんどんツリーが増える傾向にあるようです。
2.6.20系列については、Greg K-HとChris Wrightの手によって、7月7日の2.6.20.15までリリースされました。その時点までは2.6.21と並行してメンテナンスされていたのですが、その後2.6.22がリリースされ、2.6.20系列はメンテナンスされないことになりました。
これを問題視したWilly Tarreauは2.6.20のメンテナンスを継承すると宣言し、8月15日に2.6.20.16をリリースしています。彼によると、方針としては独自路線を行くものではなく、2.6.21.7までのパッチに追いつくために2.6.21.7のパッチをバックポートしているのだということです。2.6.21、22に必要なパッチの勢いが落ち着くまでの「つなぎ」という位置付けです。Willy Tarreauは2.4系列のメンテナもしているので、お世話になっている人も多いのではないでしょうか。
現在もメンテナンスされている各-stableツリーを簡単にまとめてみましょう。
-stableツリーVer. |
メンテナ |
2.6.16.y | Adrian Bunkが管理しているツリー |
2.6.20.y | もともとGreg K-Hたちが管理していたツリー、 その後Willy Tarreauが継承している |
2.6.21.y | Greg K-Hたちが管理していたツリー |
2.6.22.y | Greg K-Hたちが管理しているツリー |
(以上、敬称略)
2/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」コマンドです。
|
|