PCを構成するハードウェア
CPU
- PCの頭脳
- 演算処理を実行するための装置
RAM
- 処理に必要なデータを一時的に記録する
- メインメモリとも呼ばれる
HDD/SSD など
- データやプログラムなどを保存するための記憶領域
- OS などの重要なプログラムを含むこともある
Linuxから見たハードウェア
デバイスファイル
- 接続されたデバイスに対し/dev/以下に対応するデバイスファイルが作成される
デバイスファイルの命名
HDD,SATA SSDなど
/dev/sda1
※a 検知順
※1 パーティション番号
光学ディスクドライブなど
/dev/sr1
※1 検知順
udev
- Linuxカーネル用デバイスファイルの管理ツール
- 1.適切なカーネルモジュールの自動読み込み
- 2.デバイス認識・デバイスファイルの動的作成⇨デバイスを自由に抜き差し可能
- パフォーマンス向上のために並列処理⇨デバイスファイルの名称は変わりうる
起動しているシステムの情報とprocディレクトリ
procディレクトリ
- メモリ情報⇨/proc/meminfoファイル
- CPU情報⇨/proc/cpuinfoファイル
カーネルとデバイス
Linuxカーネルとは?
- Linux等のOSの中核的機能を果たす
- プロセスがハードウェアにアクセスする際のインターフェースとなる
カーネル内部情報を仮想的なファイルシステムをディレクトリに展開
/sys/
カーネル自身の情報をディレクトリに展開
/sys/kernel
カーネルモジュール
- カーネルの機能を拡張するための仕組み
- 必要に応じてロード・アンロードを行う
- デバイスを利用するためのドライバはカーネルモジュールで提供される
モジュールのアンロード
$ sudo rmmod sr_mod
モジュールのロード
$ sudo insmod sr_mod
PCIデバイスとUSBデバイス
PCIデバイス
- コンピュータ内部でデバイスを繋ぐデータ伝送路の一つ
- CPUと周辺機器などを接続するためのもの
USBデバイス
- PCと周辺機器の接続に用いられる汎用的な規格
パーティションとディレクトリの構成
マウント
- パーティション領域をディレクトリと関連付けて利用する仕組み
fdiskコマンド
- MBRパーティションを構成する
パーティション一覧を見る
$ sudo fdisk -l [disk]
パーティション編集
$ sudo fdisk <disk>
partedコマンド
- GPTパーティションを構成する
パーティション一覧を見る
$ sudo parted -l
パーティション編集
$ sudo parted <disk>
(LVM)Logical Volume Manager
- 複数の物理ディスクをまたがってパーティションを構成することができる機能
ファイルシステム
- ビット情報のどこにどのデータが記録されているか管理する
Linuxで利用できる主なファイルシステム
| ファイルシステム | 特徴 |
|---|---|
| ext4 | Linuxで以前から利用されているext2やext3の後継ファイルシステム 多くのディストリビューションで標準的にされている |
| xfs | RedHot系ディストリビューションで標準的に採用 高機能的なジャーナリングファイリングシステムで、ディスクI/Oの高速化機能も実装 |
| vfat | Windowsで利用されているファイルシステム さまざまなOSで利用可能 Linuxの標準パーティションなどに利用できない |
| iso9660 | CDやDVDなどのメディアで利用される |
| tmpfs | メインメモリ上に展開されるファイルシステム |
ファイルシステムの作成・管理・マウント
/dev/sdb1 を ext4 ファイルシステムでフォーマット
$ sudo mkfs -t ext4 /dev/sdb1
ファイルシステムの情報を確認する -l オプション
$ sudo tune2fs -l /dev/sdb1
ファイルシステムにラベルを設定する -L オプション
$ sudo tune2fs -L practice /dev/sdb1
ファイルシステムをマウント
$ sudo mount /dev/sdb1 /mnt
アンマウント
$ sudo umount /dev/sdb1
ラベル名によってマウント
$ sudo mount LABEL=practice /mnt