D-Bus(Desktop Bus)は、プログラム同士が情報を伝達するプロセス間通信機構のひとつです。Linuxではdbus-daemonなどがプロセス間通信の中継を行います。この機能により、例えば新しいデバイスの認識情報を他のアプリケーションに伝達し、そのアプリケーションが新しいデバイスをすぐに使えるようになるなどのシステム管理上の利便性も向上
●カーネルモジュールとは、カーネルで扱うべき色々な機能を独立した部品のようなものです。モジュールとしてカーネルから切り離すことでカーネル本体のサイズを小さくし、必要な機能だけをロードしたり、不要な機能はアンロードするというように使用できます。
※例えばカーネルモジュールとして提供されているデバイスドライバを組み込む場合、もしくは不要となったので取り外す場合、modprobeコマンドを使用
※例えばカーネルモジュールとして提供されているデバイスドライバを組み込む場合、insmodコマンドを使用
例)test.koモジュールをロードする
insmod test.ko
正常にロードできた場合は何も出力されません。
modprobeコマンドを使っても依存関係を自動的に解決したスマートなモジュールロードを行うことができます
※例えばカーネルモジュールとして提供されているデバイスドライバを不要となったので取り外す場合、rmmodコマンドを使用します。
例)test.koモジュールをアンロードする
rmmod test.ko
正常にアンロードできた場合は何も出力されません。
なお、modprobeコマンドは依存関係を自動的に解決したスマートなモジュールのアンロードを行うことができます。Red Hatなどではrmmodコマンドではなく、依存関係を考慮するmodprobe -rを使用することが推奨されています
●周辺機器(デバイス)にはコールドプラグデバイスとホットプラグデバイスの2つがあります。
・コールドプラグデバイス
システムが停止している状態でのみデバイスの差し替えができるデバイスのことです。システムは起動時にデバイスを認識します。
コールドプラグデバイスにはRAIDカードなどがあります。
・ホットプラグデバイス
システムが起動している状態でもデバイスの差し替えができるデバイスのことです。これらはプラグアンドプレイデバイスとも呼ばれます。
ホットプラグデバイスにはUSBがあります。
なお、ホットプラグデバイスの制御はudev(Userspace DEVice management)によって行われます。
カーネルはデバイスを検知すると「/sys」以下(sysfsと呼ばれます)の情報を更新しますが、その更新をudevは検知し、/dev以下にデバイスファイルを動的に作成します。
デバイスファイル作成時の動作は、「/etc/udev/rules.d」ディレクトリに配置された設定ファイル(拡張子「.rules」)に記述された情報に基づいて行われます。
※ホットプラグデバイスを接続した際に、デバイスファイルを動的に作成するのはudev
●大量のデータのための記憶装置を「大容量記憶装置(mass storage device)」といいます。OSをインストールして起動ディスクとして使用したり、大容量のデータを保管するために使用します。
大容量記憶装置には主に以下のものがあります。
・HDD(Hard Disk Drive)
容量が大きくコストパフォーマンスが高い記憶装置です。データの記録には磁気を使用します。
コンピュータに内蔵できるものと外付けできるものがあります。装置内部の「プラッタ」という回転する円盤に対してデータの読み書きを行いますので、衝撃によりプラッタに傷がついてデータが破損する場合があります。そのため、慎重に取り扱う必要があります。
・USBフラッシュドライブ
「USBメモリ」とも呼ばれる記憶装置です。内部の「フラッシュメモリ(不揮発性の半導体メモリ)」にデータの読み書きを行います。
小型で軽量なことからデータの持ち運びによく利用されています。フラッシュメモリには書き換え回数やデータ保持期間に制限があり、長期保存には向いていません。
・SSD(Solid State Drive)
ディスクという名前がついていますが、記憶装置として半導体メモリを用いており、実際にはフラッシュメモリに属する機器です。USBフラッシュドライブと同様に、書き換え回数やデータ保持期間の制限があるため、長期保存には向いていません。
ランダムアクセス性能に優れており、省電力で静音、非接触メディアであるため耐振動・衝撃性が高く、近年ではHDDの代わりに使用されることも多くなりました。フラッシュメモリの高速性を引き出すため、SATAより高速な「NVMe」インターフェースで接続するタイプのものもあります。