サポート・アーキテクチャ/デバイスの拡充:全貌を現したLinuxカーネル2.6(第2章)(3/3 ページ)
対応ハードウェアの拡充は、適用範囲の拡大をもたらす。カーネル2.6では、より多くのCPUやデバイスをサポートするほか、電源管理機能などの大幅な強化が行われている。(編集局)
対応デバイスの拡充
Linuxの最大の特徴の1つとして、広範囲にわたるデバイスドライバのサポートが挙げられます。Linuxは現時点でも多くのデバイスに対応していますが、カーネル2.6ではさらに多種多様なデバイスに対応します。ここでは、新規対応されたデバイスや、新たにカーネルに取り込まれたデバイスドライバの概要を説明します。
■USBドライバの強化/拡充
カーネル2.6では、従来のUSB 1.1に加えてUSB 2.0に正式に対応しています。USB 2.0は、USB 1.1でサポートされていた、
- Low Speed転送(1.5Mbit/s)
- Full Speed転送(12Mbit/s)
に加え、High Speed転送(480Mbit/s)をサポートしたUSBの新規格です。
現在、市場に出回っているUSB準拠のストレージ機器の多くがUSB 2.0に対応しています。カーネル2.6からは、これらのストレージ機器をLinux上でフル活用できるようになるでしょう。また、USB-MIDIのサポートも追加されています。
■ALSAの統合
カーネル2.6では、ALSA(Advanced Linux Sound Architecture)ドライバによるサウンドカードサポート機能が標準のLinuxカーネルに統合されました。ALSAドライバは、Turbolinuxなどのディストリビューションにすでに標準搭載されており、長い実績を持ったサウンドドライバです。
ALSAドライバの主な特徴を以下に示します。
- 従来のOSS(Open Sound System)よりも多くのデバイスに対応している
- OSS互換インターフェイスを持っており、OSS準拠のアプリケーションの動作が可能
- SMP環境での動作を保証している
■ネットワークデバイスに対するNAPI(New API)サポート
従来、Linuxのネットワークドライバの問題点の1つとして、ネットワークが高負荷になると、ネットワーク割り込みに処理時間のほとんどを取られてしまい、システムが無反応状態に陥るという問題がありました。
これを改善するために導入されたのが、NAPI(New API)機構です。NAPIは、ネットワークに高負荷が掛かった時点でドライバの動作を割り込み駆動からポーリング駆動に切り替えることで、ネットワーク負荷に伴うシステム全体の応答性能の低下を防ぎます(図6、図7)。
なお、NAPIでは新規データが到着していないことをポーリングで検出した時点で、通常の割り込み駆動動作に戻るようになっています。
■新コンソールレイヤ/UIデバイスの統合
カーネル2.6では、コンソールレイヤの見直しが行われ、1つの端末に複数のキーボードやディスプレイを接続することができるようになりました。Linuxの新コンソールレイヤの応用としては、教師と生徒が同じコンソール上で作業を行うような教育用の端末などが考えられます。
また、新コンソールレイヤとは直接関係ありませんが、ATキーボードやPS/2マウスなどのPCの標準入力デバイスも従来のUSBインターフェイスキーボードと同様にInput Device機構(入力機器の共通インターフェイス機構)を通して管理されるようになります。
■ビデオ関連デバイス
カーネル2.6では、ビデオキャプチャやデジタルビデオ放送受信用ハードウェアに対する対応が強化されています。これに伴い、Video for Linux(Linuxでビデオキャプチャなどを行うドライバ)のAPIがバージョン2にアップしました。
主な変更点を以下に示します。
●ビデオキャプチャ系デバイスサポートの拡充
対応ビデオキャプチャカードの種類が大幅に増えています。例えば、
- SAA5249搭載ビデオキャプチャカード
- Philips SAB3036搭載ビデオキャプチャカード
- Stradis 4:2:2搭載MPEG-2ビデオカード
といったカードへのサポートが追加されています。
●DVB(Digtal Video Broadcasting)デバイスのサポート
デジタルテレビ放送の受信カードをLinux上で動作させるためのデバイスドライバです。ALPS BSRU6/BSRV2/TDLB7の各DVBカードなどをサポートしています。
DVBのサポートに伴い、今後はセットトップボックス用OSとしてのLinuxの利用が加速するかもしれません。
第2章では、特にハードウェア関係を中心にカーネル2.6の新機能を紹介しました。第3章では、ファイルシステムやボリューム管理といった機能について解説します。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載: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カーネルの開発体制などについて伺った - カーネル関連記事一覧