本連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。
今回のトピックは「ハードウェア構成の調査」です。設定の仕方、試験問題を解くポイントなどを4つご紹介します。
【1】ハードウェア構成の概要と各ハードウェアの設定・表示のためのコマンド・ファイルを把握しておく
【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)バスの概要とバスに接続されるデバイスを把握しておく
(注)PCI SIG(Peripheral Component Interconnect Special Interest Group)はPCI規格を定めているコンソーシアムです。
【4】USB(Universal Serial Bus)バスの概要とバスに接続されるデバイスを把握しておく
アドレス、IRQ番号は自動的に割り振られます。電源を入れたままデバイスを抜き差し可能です。
2.0でHigh Speedモードが追加されました。
(注)今回の問題3の中で取り上げるIntel 82801Hには、UHCIホストコントローラが5個、 EHCIホストコントローラが2個内蔵されています。
Copyright © ITmedia, Inc. All Rights Reserved.