はじめに
前回までは、序章として言語の選択、時刻の設定、リモート接続するための最低限の設定を確認しました。
今回からは、LPIC level1の学習を念頭に、ひとつずつバージョンの差異を見ていきたいと思います。
今回の内容
Linuxとは?
第3回に記述するような項目なのかは置いといて(もっと早くやるべきなんじゃ?)、Linuxの概要を確認しておきましょう。
Linuxとは”UNIXライクなOS”です。厳密に言えば、LinuxはOSではなくカーネルのことを指します。
・UNIX
OSのひとつ。1969年頃に開発された。LinuxはUNIXライクなOSとして知られる。
・OS
コンピュータ全体を管理している基本的なプログラムのこと。例えば入出力処理のような、どのようなアプリケーション、プログラムにも必須な処理を提供する。OSが基本プログラムを一括管理することで、アプリケーション作成の工数を減らしたり、エラー確率を抑えることが可能となっている。
・カーネル
OSの核となるプログラムのこと。他の応用プログラムと組み合わさることにより、OSとしての機能を提供する。また、カーネルと応用プログラムをひとまとめにして配布しているものをディストリビューションという。
・ディストリビューション
上述の通り、OSを構成しているカーネルと他の応用プログラムをひとまとめにしたもののこと。Linuxディストリビューションは100種類以上にのぼり、それぞれ異なる特徴を持っている。このブログのタイトルになっているCentOSはディストリビューションのひとつ。
このあたりの知識がLinuxを知るための初歩の初歩になります。
ハードウェアの基本知識と設定・情報確認
・デバイスファイル
Linuxでは、各ハードウェアをファイル形式で管理・制御しており、このファイル群をデバイスファイルと呼びます。デバイスファイルは通常のファイルとは異なる、特殊なファイルです。これらのファイルは/devディレクトリ以下に格納されています。
#ls -l /dev
コマンド結果の一番左がファイルの種類を示しています。
– | 通常のテキストファイル |
d | ディレクトリ |
l | シンボリックリンク |
b | ブロックデバイス (デバイスファイル) |
c | キャラクタデバイス (デバイスファイル) |
デバイスへアクセスする際に、バッファを用いるものをブロックデバイス、用いないものをキャラクタデバイスと呼びます。
この2つを総称してデバイスファイルという風に呼びます。
デバイスファイルはudevというデバイス管理ツールによって自動的に作成されます。
・基本的なハードウェア
次に、PCを構成する基本的なハードウェアの基本知識と情報確認についてです。
1.CPU
・概要
CPUはCentral Processing Unitの略です。日本語では中央処理装置といいます。その名の通り、仕事を処理してくれているハードウェアです。人間でいうところの頭脳によく例えられます。製品によってコア数やバス幅が変わってきます。基本的には、コア数もバス幅も数字がより大きいものが高性能となっています。
・確認
CPUのハードウェア情報が保存されているファイルは/proc/cpuinfoになります。
#cat /proc/cpuinfo
2.メモリ
・概要
メモリはCPUの処理する仕事を並べておく領域となっています。メモリがあることによって、CPUの処理効率が向上します。よくデスクの広さに例えられます。机が大きいほうがより多くの書類をすぐに処理することができる訳ですね。
・確認
メモリのハードウェア情報が保存されているファイルは/proc/meminfoになります。
#cat /proc/meminfo
3.ハードディスク
・概要
ハードディスクは、記憶領域を提供しているハードウェアとなります。メモリがデスクの広さならハードディスクは引き出しの大きさを表します。メモリはCPUと直接やりとりを行い、処理を高速化してくれますが、電源が切れるとメモリ上のものは殆どが消えてしまいます。恒久的に残しておきたいデータはハードディスクに保存しておきます。また、最近ではSSDという新しい規格も普及してきました。
・確認
ハードディスクの最大容量、使用容量を確認するには、dfコマンドを実行します。
#df -h
※オプション
-h: 容量を適切な単位で表示
CPUやメモリの確認ファイルは/procディレクトリ配下に格納されています。この/procディレクトリにファイルが配置されることにより、初めてカーネルがハードウェアを認識してくれます。言い換えれば、/procはカーネルが認識しているデバイス一覧ということです。
当然ですが、カーネルに認識されていないデバイスを使用した操作は行えません。/procは、Linuxのアーキテクチャを理解する上で、とても重要なディレクトリとなりますので、覚えておきましょう!
ファイル名 | 内容 |
/proc/cmdline | システムのブートパラメータ |
/proc/version | カーネルバージョン |
/proc/cpuinfo | CPU情報 |
/proc/uptime | システム動作時間 |
/proc/devices | デバイスとメジャー番号の対応 |
/proc/filesystems | サポートするファイルシステムタイプ |
/proc/interrupts | プロセッサへの割り込み要因のリスト(IRQ情報) |
/proc/pci | PCIデバイス情報 |
/proc/swaps | スワップファイル一覧 |
/proc/locks | ファイルロックのリスト |
/proc/stat | システム状態 |
/proc/meminfo | 空きメモリ情報 |
/proc/scsi/scsi | SCSIデバイス情報 |
/proc/bus/usb/* | USBデバイス情報 |
まとめ
今回は、PCが動作する上で最重要なハードウェアについて学習してきました。本来なら、ファイルやコマンドの結果を全て頭に入れておいたほうが良いのでしょうが…量が多いので、ファイル名やコマンドを隠されたとしても、どのファイル・コマンドなのか分かる程度には最低限おさえておきましょう。
次回はアーキテクチャの続きを見ていきます。