目次
- 基本的なハードウェア
- CPU
- メモリ
- ハードディスク
- 入力装置
- 拡張カード
- USB機器
- BIOS/UEFI
- デバイス情報の確認
- udev
- USBデバイス
- デバイスドライバのロード
基本的なハードウェア
CPU
コンピュータの頭脳で演算処理を行う装置です。メモリ上からプログラムを読み出し、処理を実行します。
メモリ
データを記憶する装置です。メモリに記憶された内容は、システムの電源が切れると消えてしまいます。
ハードディスク
大きなサイズのデータを長期保存するデータを格納する装置です。
入力装置
キーボードやマウスなどコンピュータに情報を入力するため装置です。
拡張カード
マザーボードの拡張スロットに装着する形で様々な機能を提供する装置です。
USB機器
周辺機器を接続する規格の1つがUSBです。
BIOS/UEFI
BIOS(Basic Input Output System)はコンピュータの周辺機器を制御するためのファームウェアです。コンピュータの電源を入れるとまずBIOSが起動します。
以下、BIOSの役割です。
- OSを起動する為のプログラムをディスクから読み込んで実行する。
- デバイスの動作を設定する。
- 基本的な入出力を制御する。
以下、BIOS/UEFIセットアップ画面での設定項目です。
- 日付と時刻
- ディスクドライブや各種デバイスのパラメータ
- 電源管理
- 起動ドライブの順序
- デバイスへのIRQの割り当て
- 各種デバイスの有効/無効
デバイス情報の確認
Linuxでは、ハードウェアのアクセスを抽象化するデバイスファイルを持っています。すべてのハードウェアはデバイスファイルとして表され、デバイスファイルの読み書きでハードウェアにアクセスできるようになっています。デバイスファイルは/devディレクトリ以下にあります。デバイスファイルはudevという仕組みによって自動生成されます。
Linuxカーネルが認識しているデバイスに関する情報の一部は/procディレクトリ以下のファイルで確認できます。/procディレクトリ以下のファイルは、ファイルとしての実体がない仮想的なファイルです。
以下、/procディレクトリ以下の主なファイルです。
ファイル | 説明 |
/proc/cpuinfo | CPU情報 |
/proc/interrupts | IRQ情報 |
/proc/ioports | I/O情報 |
/proc/meminfo | メモリ情報 |
/proc/bus/usb/* | USBデバイス情報 |
/proc/bus/pci/* | PCIデバイス情報 |
udev
/devディレクトリ以下のデバイスファイルは、udevという仕組みによって作成されます。
udevの仕組みでは、デバイスが接続されるとカーネルが検知し/sysディレクトリ以下にデバイス情報を作成します。udevデーモンは、そのデバイス情報を参照して、/devディレクトリ以下にデバイスファイルを作成します。その際に/etc/dev/rules.dディレクトリ以下の設定ファイルが使われます。デバイスの情報はD-Bus(アプリケーション間でやり鳥を行うための機構)によってアプリケーションに伝えられ、アプリケーションからデバイスを利用できるようになります。
USBデバイス
USBは、周辺機器を接続するために広く浮遊している規格です。
以下、USBの特徴です。
- 最大127台までのUSBデバイスを接続可能です。
- 様々なUSBデバイスを同一のコネクタで接続可能です。
- プラグ&プレイをサポートです。
- USBポートからUSBデバイスに電源を供給可能です。
USBデバイスはいくつかのデバイスクラス(種類)に分かれています。それぞれのデバイスクラスにはクラスドライバという汎用ドライバが用意されています。
USBデバイスの情報を表示するにはlsusbコマンドを使います。
以下、主なデバイスクラスです。
デバイスクラス | サポートするUSBデバイス |
HID(Human Interface Device) | キーボードやマウスなど |
Mass Storage Class | USBメモリ、デジタルオーディオプレーヤー、 ハードディスクドライブなど |
Audio Class | スピーカー、マイクなど |
デバイスドライバのロード
デバイスを利用するために必要な制御プログラムをデバイスドライバ、必要なデバイスドライバをカーネルに取り込むことをロードと言います。
ロードされているカーネルモジュールを確認するにはlsmodコマンドを使います。
通常、必要なデバイスドライバは自動的にロードされますが、手動でロードする場合はmodprobeコマンドを実行します。
最後まで読んで頂き、ありがとうございました。
他の分野へのリンクがある全体ページへは下記リンクから移動できます。