表示結果から読み解け! ハードウェア構成の調査:実践でも役立つLPICドリル(1)(1/3 ページ)
本連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。
実践でも役立つLPICドリル バックナンバー
- 第1回 表示結果から読み解け! ハードウェア構成の調査
- 第2回 RPMによるパッケージ管理を理解する
- 第3回 ファイルシステムの管理と保守
- 第4回 X Window System の仕組みと設定
- 第5回 Linuxカーネルのコンフィグレーション手順
- 第6回 Linuxシステムの起動と停止の手順
- 第7回 Linux印刷システムの仕組みと設定
- 第8回 Linux時刻管理の仕組みと設定
- 第9回 Sambaのユーザー認証とファイルアクセス権の設定
- 第10回 DNSセキュリティの設定
- 第11回 Apache&Squidアクセス制御/ユーザー認証の設定
- 最終回 OpenSSHの認証手順
■今回のディストリビューション: CentOS4.4
問題を解く鍵
今回のトピックは「ハードウェア構成の調査」です。設定の仕方、試験問題を解くポイントなどを4つご紹介します。
【1】ハードウェア構成の概要と各ハードウェアの設定・表示のためのコマンド・ファイルを把握しておく
- 設定・表示コマンド
- /proc以下のディレクトリとファイル
- /etc以下の設定ファイル
【2】割り込み処理の概要を把握しておく
割り込み(Interrupt)はディスクの読み取りや書き込み動作の完了、キーボードやマウスの入力など、主として非同期に発生するイベントをシステムに通知するための仕組みです。デバイスは自分に割り当てられた割り込み要求(IRQ:Interrupt Request)の信号線をアクティブにすることによりIRQを発生させます。
このIRQはPIC(Programable Interrupt Controler)あるいはAPIC(Advanced Programable Interrupt Controler)を経由してCPUに送られます。
CPUは割り込みを検知するとメモリ上に用意されている割り込みベクタテーブルを参照して、該当するデバイスドライバの割り込みハンドラに飛びます。
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は、デバイスの型番に対応した識別番号
【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.)が定めている
Copyright © ITmedia, Inc. All Rights Reserved.