amarron2’s blog

linuxや資格関係の記事を書きます。基本自分用のメモです。

101-1. システムアーキテクチャ

  1. ハードウェア設定の決定と構成
    • ハードウェアの種類、proc以下でデバイス情報を確認できる
  2. システムのブート
  3. ランレベルの変更とシステムシャットダウンまたはリブート

1. ハードウェア設定の決定と構成

基本的なシステムハードウェア

  • CPU, メモリ, ハードディスク,入力装置,拡張カード,USB機器等

デバイスの確認

  • Linuxカーネルが認識しているデバイスに関する情報(プロセス情報)は、/proc以下のファイルで確認できる
    • /proc/bus/usb/等
  • 「lsusb」コマンドや「lspci」コマンドでもデバイスの確認は出来る(オプションに-vvをつけて実行すると詳細な情報が確認出来る)
  • ファイルの中身は「/dev」に格納されている(「/proc」はデバイスに関する情報、「/dev」はデバイス自体)
  • 「lsmod」コマンドは、ロードされているカーネルモジュールを確認できる
  • 「modprobe」コマンドは、手動でカーネルモジュールをロード出来る(「modprobe ドライバ名」で実行)

2. システムのブート

  • BIOSブートローダカーネル→init
  • 「dmesg」コマンドで起動時のイベントを確認出来る
  • 「/var/log/messages」にも起動時のメッセージが記録されている
  • 「init」はLinuxで最初に実行されるプロセス
    • 「/etc/inittab」ファイルの設定に従い、システムに必要なサービスを起動

3. ランレベルの変更とシステムシャットダウンまたはリブート

ランレベル

システムのシャットダウン

# shutdown [オプション] 時間 [メッセージ]
オプション 説明
-h 停止
-r 再起動
-f 次回起動時fsckをスキップ
-F 次回起動時fsckを実行
-k 停止せず、警告のみ
-c 停止をキャンセル

おまけ

pci

  • PCIとは、パソコン内部の各パーツ間を結ぶバス(データ伝送路)の規格

f:id:Amarron:20081015143114j:plain - PCIバス(マザーボードにある白い部分) f:id:Amarron:20050224012434j:plain - PCIカード(PCIバスにさしてインターフェースに出来る、写真はUSBの拡張カード

プラグイン、ライブラリ、コンポーネント、モジュールの違い

業務のドメインや会社・組織、部署、チーム、はてはプロジェクトごとに、コンポーネント、モジュール、その他もろもろの定義はぜんぜん違うので参考までに。

項目 説明 単体動作 有名なソフトウェア 備考
プラグイン ソフトウェアを拡張するためのプログラム。ソフトウェアを使用する人が入替可能なプログラムの一部のこと FireFoxプラグイン
ライブラリ 有用で汎用性の高い関数・クラス・その他を再利用可能な形でひとまとめにしたもの。プラグインとの違いは汎用性。特定のソフトウェアを対象としてかかれていない。 コマンドで使う時のファイル $ ldd /bin/cplinux-gate.so.1 => (0x0083b000)
コンポーネント ソフトウェアの部品。ある機能を持ったプログラムの部品。
モジュール ソフトウェアの部品。ある手続き (関数やメソッド) とデータ構造をひとまとめにした部品。 $ lsmod Module Size Used by vboxsf 35545 1

コンポーネントはソフトウェアの部品で、モジュールもソフトウェアの部品です。

モジュールはある手続き (関数やメソッド) とデータ構造をひとまとめにした部品です。 大抵の場合、モジュール単体でコンパイル可能ですが、動作はしません。 この説明だけだと、クラスとモジュールの違いがわからなくなりますが、一番大きな違いは、クラスはインスタンスとしてオブジェクトを生成しますが、モジュールは生成しない点でしょう。

コンポーネントはある機能を持ったプログラムの部品です。 大抵の場合、コンポーネント単体では動作しません。 非常に漠然とした回答で申し訳ないですが、モジュールを複数組み合わせた位のモノがコンポーネントと思っていただければありがたいです。 粒度的には
プログラム (←これ単体でやっと動く) > コンポーネント > モジュール > クラス
です。

参考:http://okwave.jp/qa/q5956620.html

使用した教材

LPIC101,102