📚

システムアーキテクチャ_ハードウェア設定の決定と設定

2023/10/08に公開

ファイルの役割

  • メモリの使用状況の確認
    /proc/meminfo

  • I/Oポートアドレスの情報
    /proc/ioports

    • I/Oポートアドレスが重複しているとハードウェアが正常に動作しない
      • VMだと全て0000-0000
  • IRQ(Interrupt ReQuest)
    /proc/interrupts

    • マウスやキーボードなどの周辺機器(デバイス)からCPUへの割り込み要求
      • IRQには0から1、2、3のように順に番号がつき、そのうちのいくつかは特定のデバイスに割り当てられています。
      • IRQ番号が重複しているとハードウェアが正常に動作しない

似たようなコマンドまとめ

  • modprobe --> 依存関係を考慮してカーネルモジュールをロードまたはアンロード

    • /etc/modprobe.d
      • 設定ファイルを登録できる。
        • blacklistの設定も可能
          • ファイル名 (e.g. blacklist.conf)
          • options: 各カーネルモジュールのデフォルトパラメータを指定する
            -alias: カーネルモジュールに別名をつける
          • install: 特定のカーネルモジュールのロード時に実行されるコマンドを指定する
          • remove: 特定のカーネルモジュールのアンロード時に実行されるコマンドを指定する
          • blacklist: ロードしたくないカーネルモジュールを指定する
  • lsmod --> ロードされているカーネルモジュールに関する情報を表示

    • ファイルパス /proc/modules
  • lspci --> PCIデバイスに関する情報を表示

プロセス通信に関する知識

  • D-Bus(Desktop Bus)
    • プログラム同士が情報を伝達するプロセス間通信機構

デバイス情報

  • カーネルはデバイスを検知すると「/sys」以下(sysfsと呼ばれます)の情報を更新

    • 更新をudevは検知し、/dev以下にデバイスファイルを動的に作成
    • デバイスファイル作成時の動作は、「/etc/udev/rules.d」ディレクトリに配置された設定ファイル(拡張子「.rules」)に記述
  • SCSI(Small Computer System Interface)
    /proc/scsi/scsi

    • コンピュータと周辺機器を接続するための規格
  • dms(Direct Memory Access)
    /proc/dma

    • CPUを介することなくメインメモリと周辺機器の間で直接的に情報転送を行う方式
  • usb

    • command lsusb

    • path /proc/bus/usb/devices

    • デバイスクラス

      デバイスクラス デバイス
      HID キーボード・マウス
      Mass Storage Class HDD・USBメモリー
      ACM Class モデム・TA
      Audio Class スピーカー・マイク
  • udev(Userspace DEVice management)

    • ホットプラグデバイスを接続した際に、デバイスファイルを動的に作成

大容量記録装置の特徴

  • SSDとUSBフラッシュドライブは、HDDのような機械的な故障が起きない
  • 容量あたりのコストパフォーマンスが高いのはHDDである
  • OSの起動ディスクとして使用できる
  • SSDはSATAインターフェース以上の速度でアクセスできる

CPUに関する情報

  • /proc/cpuinfo

Discussion