カーネル2.4.0導入活用術
1月4日に、Linuxの次期カーネルといわれてきたLinux Kernel release 2.4.0がリリースされました。今回は、Linuxでのカーネルとは何なのか?
そして今回リリースされた新しいカーネルの新機能や変更点をご紹介し、最後に実際のインストールにチャレンジしたいと思います。
主な内容
|
Linux
kernelとは Linux kernel 2.4の新機能 大規模リソースが利用可能に LVM(論理ボリュームマネージャ) rawデバイス kHTTPd kernel 2.4.0導入実践記 まずはダウンロードから ソースのインストール カーネルの設定 カーネルのコンパイル Rio500を使ってみる |
濱野 賢一朗(Project BLUE)
hamano@todo.ne.jp
2001/1/13
Linuxというと、Red Hat LinuxとかTurboLinuxといったものを頭に浮かべる方が多いと思います。これはディストリビューションと呼ばれており、利用者の利便性を考えていろいろなアプリケーションなどをパッケージ化したものです。現に、サーバとして使うのに便利なものや、日本語機能を使うのに便利なものなど、それぞれ利用の仕方にあわせてパッケージ化されています。
しかし、本来Linuxといわれているものは、この中のカーネルと呼ばれるもののことだけを指します。すなわち、ディストリビューションの中に含まれているライブラリやアプリケーションなどはLinuxとは呼ばないものなのです。実際、Linuxを作ったといわれているLinus Torvalds氏はこのカーネルの開発を始めた方で、周辺のアプリケーションなどのパッケージ化をした方ではありません。
ただ、最近では日常的に利用するライブラリやアプリケーションなどを1つにまとめたディストリビューションをLinuxと呼ぶようになってきているのです。
ところで、このカーネルと呼ばれているものですが、一体どういうものなのでしょうか?
カーネルとは、アプリケーションからハードウェアを容易に操作したり、また、ハードウェアの資源管理やアプリケーションのプロセスを管理・制御していたりするものです。純粋に利用している立場だと感じることがほとんどできないのですが、なければ何も始まらないという空気のような存在なのです。
カーネルには通常、バージョン番号が割り振られていて、改良や新機能などで変更になるたびに新しい番号が割り当てられるようになります。今回はこのバージョンの2つ目の数字が2から4になり、2.4.0というバージョンになっています(2つ目の数字が3などの奇数のカーネルは開発用のもので、通常利用するためのものではないとされています)。
アットマーク・アイティのニュースにもあるとおり、今回の2.4.0のリリースは大幅に遅れたといえます。その理由の1つは、さまざまな機能を数多く追加することに非常に時間がかかってしまったからです。
ここでは、その新機能や変更点などをいくつか紹介しましょう。
■大規模リソースが利用可能に
まず、メモリが64GBまで利用できるようになりました(x86系のCPUで利用する場合)。また、従来は2GBを越えるファイルを扱ったり、同時に4092以上のプロセスを実行したり、65536以上のユーザーやグループを登録することができなかったのですが、このハードルも越えて、どれも実質的には無制限にできるようになっているといえます。
■LVM(論理ボリュームマネージャ)
LVMは、商用UNIXでは以前から実装されていた機能です。これは、複数ディスクにまたがったファイルシステムなどを1つのパーティションとして利用できるようにしたり、データを残したままの状態でパーティションのサイズ変更ができたりするというものです。この機能を使うことで、従来に比べてファイルシステムなどの管理効率がよくなるといえます。
■rawデバイス
通常のファイルの書き込みや読み込みは、カーネル内にあるバッファキャッシュと呼ばれる機能を介して実現しています。このバッファキャッシュは、先読み込みや遅延書き込みなどを行うことで、入出力のパフォーマンスを向上させているのです。しかし、高度なキャッシュ機能を自ら持っているデータベース管理システムなどでは、このバッファキャッシュによって逆にパフォーマンスや信頼性を下げてしまうことがあるのです。そこで、バッファキャッシュを介さずにデバイスを利用できるようにしたものがrawデバイスと呼ばれるものです。rawデバイスを使うことで、入出力の高速化や安全性の向上が望めるとされています。
■kHTTPd
kHTTPdは、カーネルの中に搭載された簡単なWebサーバです。Apacheなどを利用してWebサーバを立ち上げた場合、ApacheがHTMLなどのファイルを読み込んだりする際にカーネルとの通信が必要になるため、パフォーマンス的に無駄なところが生じます。そこで、カーネル内に直接Webサーバ機能を実装しようというアイデアで作られたものです。
ただ、現実的には、Webサーバのボトルネックは提供する際に利用するネットワーク(インターネット)回線の帯域であることがほとんどですから、どの程度現場で利用されるのかは疑問も残ります。
このほかにも、NFSバージョン3への対応やSMP利用時の効率向上、USB機器への対応(一部は2.2.18から)などさまざまな機能追加が行われています。詳しくは、カーネルに添付されているファイル(Changesなど)を参照してください。
さて、次はいよいよkernel 2.4.0のインストールです!
1/2
|
Linux Square全記事インデックス |
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」コマンドです。
|
|