Closed23

学習記録#18 250616

ろみぃ(konatsu)ろみぃ(konatsu)

Linuxは、ハードウェアのアクセスを抽象化するデバイスファイルを持っている。
全てのハードウェアはデバイスファイルとして表され、デバイスファイルの読み書きを通してハードウェアにアクセスできるようになっている

Linux -> デバイスファイル -> ハードウェア

ろみぃ(konatsu)ろみぃ(konatsu)

デバイスファイルは/dev以下にある
これらは、udevという仕組みによって自動的に作成される

ろみぃ(konatsu)ろみぃ(konatsu)

udevという仕組みによって自動的に作成される

かつてのLinuxでは使うかどうかに関わらず多数のデバイスをあらかじめ/dev以下に作っておく必要があった。また、カーネルがデバイスを認識していても、アプリケーションはデバイスを利用することができなかった。
udevの仕組みによって、あらかじめファイルを作らなくても自動で必要なデバイスファイルを作成することができる。また、デバイスファイルを通じてハードウェアにアクセスできる

ろみぃ(konatsu)ろみぃ(konatsu)

Linuxカーネルが認識しているデバイスに関する情報の一部は、/procディレクトリ以下のファイルで確認できる

ろみぃ(konatsu)ろみぃ(konatsu)

確認できる主な情報は、

  • CPU
  • IRQ
  • I/Oアドレス
  • メモリ
  • スワップ領域
  • USBデバイス
  • PCIデバイス
ろみぃ(konatsu)ろみぃ(konatsu)

IRQ:Interrupt ReQuest
→割り込み要求。CPUに割り込みを要求する信号や、信号の番号のこと

スワップ領域
→コンピュータのメモリ(RAM)が不足した際に、ハードディスクの一部を仮想的なメモリとして利用する領域

PCIデバイス:Peripheral Component Interconnect
→PCIは「周辺機器相互接続」の意味。このPCIバスに接続された拡張カードのこと

ろみぃ(konatsu)ろみぃ(konatsu)

/sysディレクトリは、/procディレクトリと同様に仮想的なファイルシステム。
テキストファイルとして、システム情報にアクセスできる

テキストファイルなので、catコマンドとかで中身を確認したら情報が見れる

ろみぃ(konatsu)ろみぃ(konatsu)

ハードウェアを利用するにはデバイスドライバが必要

ろみぃ(konatsu)ろみぃ(konatsu)

→デバイスドライバの仕様に沿ったUSBデバイスはクラスドライバで対応できるため、専用のデバイスドライバをインストールする必要はない

ろみぃ(konatsu)ろみぃ(konatsu)

デバイスを利用するために必要な制御プログラムをデバイスドライバという

ろみぃ(konatsu)ろみぃ(konatsu)

通常、デバイスは自動でロードされる
手動でロードするときはmodprobeコマンドを使う

カーネルモジュールをロードするときはinsmod、取り外すrmmodを使うことができるが、モジュール同士の依存関係はユーザー自身で解決する必要がある

modprobeなら自動で依存関係まで処理してくれるので、こっちを使うのが一般的

ろみぃ(konatsu)ろみぃ(konatsu)

ディスクに保存されるデータをファイルとして管理する仕組みがファイルシステム
ハードディスクやSSDを利用するには、ディスク内にパーティションを作成し、次にパーティション内にファイルシステムを作成し、そのファイルシステムをマウントするという作業を行う

ディスク
|_パーティション
 |_ファイルシステム ←これをマウントする
ろみぃ(konatsu)ろみぃ(konatsu)

パーティション:論理的な区画。ハードディスクやSSDなどのストレージは、これに分割して利用する

異なるパーティションには、異なるファイルシステムが作成できる

ディスク
|_パーティション1
 |_ファイルシステムA
|_パーティション2
 |_ファイルシステムB
このスクラップは3ヶ月前にクローズされました