連載
» 2008年04月10日 00時00分 UPDATE

実践でも役立つLPICドリル(1):表示結果から読み解け! ハードウェア構成の調査 (1/3)

本連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。

[大竹龍史,ナレッジデザイン]

今回のディストリビューション: CentOS4.4

問題を解く鍵

 今回のトピックは「ハードウェア構成の調査」です。設定の仕方、試験問題を解くポイントなどを4つご紹介します。

【1】ハードウェア構成の概要と各ハードウェアの設定・表示のためのコマンド・ファイルを把握しておく

  • 設定・表示コマンド
  • /proc以下のディレクトリとファイル
  • /etc以下の設定ファイル

【2】割り込み処理の概要を把握しておく

 割り込み(Interrupt)はディスクの読み取りや書き込み動作の完了、キーボードやマウスの入力など、主として非同期に発生するイベントをシステムに通知するための仕組みです。デバイスは自分に割り当てられた割り込み要求(IRQ:Interrupt Request)の信号線をアクティブにすることによりIRQを発生させます。

 このIRQはPIC(Programable Interrupt Controler)あるいはAPIC(Advanced Programable Interrupt Controler)を経由してCPUに送られます。

 CPUは割り込みを検知するとメモリ上に用意されている割り込みベクタテーブルを参照して、該当するデバイスドライバの割り込みハンドラに飛びます。

図1 割り込み処理の例 図1 割り込み処理の例

 IRQを発生したデバイスを識別するために、デバイスごとにIRQ番号(PICの場合は0-15の16個、APICの場合は16個以上)が割り当てられています。

 PICはシングルプロセッサシステムに、APICはシングルおよびマルチプロセッサシステムに対応しています。

(注)今回の問題2の中で取り上げるIntel 82801と問題3で取り上げるIntel 82801Hには、それぞれ8個ずつ計16個の割り込みを処理する8259互換のPICが2つと、24個の割り込みを処理するAPICが1つ内蔵されています。


 PCIデバイスの場合は、IRQが対象デバイスからのものかどうかを割り込みハンドラが判定できるので 同じIRQ番号を複数のデバイスで共有することが可能です。

 /proc/interruptsファイルの内容を表示することによって、各デバイスに割り当てられたIRQ番号や割り込み発生回数、割り込み検知をエッジ(0→1、1→0のレベル遷移)で行うかまたはレベルで行うかの設定などを確認できます。

 APICの場合、IRQ信号線16番以上のIRQ番号は、カーネル内で100番台以上の値に再計算され、/proc/interruptsファイルの中の表示となります。

【3】PCI(Peripheral Component Interconnect)バスの概要とバスに接続されるデバイスを把握しておく

  • バスクロックは最大33MHzまたは66MHz、データ幅は32ビットまたは64ビットのバス
  • デバイスの設定レジスタに、PCI SIGに登録されたクラスID、ベンダID、デバイスIDを書き込んでおくことができるので、オペレーティングシステムはこれらのIDによりPCIバス上のデバイスを識別することができる

(注)PCI SIG(Peripheral Component Interconnect Special Interest Group)はPCI規格を定めているコンソーシアムです。


  • 図2にあるように、PCIバスのアドレス線によってバス、デバイスなどを指定する
  • バスは8ビットで指定するので最大256個のバスを指定できる
  • デバイスは5ビットで指定するので同一バス上で最大32台のデバイスを指定できる
  • バス番号00のバスがホストブリッジと接続される。そのほかのPCIバスはPCIブリッジを介して接続される
  • クラスIDは、デバイスの種類ごとに定義された識別番号
  • デバイスIDは、デバイスの型番に対応した識別番号
図2 PCIバス 32ビットアドレスフォーマット 図2 PCIバス 32ビットアドレスフォーマット

【4】USB(Universal Serial Bus)バスの概要とバスに接続されるデバイスを把握しておく

  • プラグ&プレイ、ホットプラグ対応のインテリジェントなバス

アドレス、IRQ番号は自動的に割り振られます。電源を入れたままデバイスを抜き差し可能です。

  • ハブを使用することにより最大127台まで接続可能
  • 転送速度は、High Speed、Full Speed、Low Speedの3種類がある
    High Speed:480Mbps:USB 2.0でサポート
    Full Speed:12Mbps:USB 1.1、2.0でサポート
    Low Speed :1.5Mbps:USB 1.1、2.0でサポート
  • 現在、USB規格には1.1と2.0がある

2.0でHigh Speedモードが追加されました。

  • ホストコントローラには次の3種類がある
    OHCI(Open Host Controller Interface):USB 1.1
    UHCI(Universal Host Controller Interface):USB 1.1
    EHCI(Enhanced Host Controller Interface):USB 2.0

(注)今回の問題3の中で取り上げるIntel 82801Hには、UHCIホストコントローラが5個、 EHCIホストコントローラが2個内蔵されています。


  • LinuxによるUSBの正式サポートはカーネル2.4から
    カーネルモジュールは、
    uhci_hcd:uhciホストコントローラ用デバイスドライバ
    ohci_hcd:ohciホストコントローラ用デバイスドライバ
    ehci_hcd:ehciホストコントローラ用デバイスドライバ
  • USBの仕様はUSB-IF(USB Implementers Forum, Inc.)が定めている
       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。