Linuxがどのように起動されるのかといった仕組みやアクセス権の概要、 プロセス管理などについての理解を深めましょう。
システム起動の流れ
Linuxは以下の順でシステムが起動します。
@BIOS
PCの電源を入れると、まずBIOSが起動してハードウェアを 初期化した後、ディスクのブートセクターを読み取って、 ブートローダーへ制御を渡します。
Aブートローダー
ブートローダーは指定されたパーティションから カーネルを読み込み、カーネルへ制御を渡します。
Bカーネル
カーネルは、メモリの初期化やシステムクロックの設定、 IRQの設定などを行い、最後にinitプログラムを実行します。
Cinit
initは、システムの初期化スクリプトを実行していき、 ランレベルに応じて指定されたデーモンが起動します。 最後にログインプロンプトが現れ、起動処理が終了します。
ランレベル
Red Hat系ディストリビューションのランレベルは以下の通りです。
ランレベル | 説明 |
0 | 停止 |
1 | シングルユーザモード |
2 | マルチユーザモード (テキストログイン、NFSサーバは停止) |
3 | マルチユーザモード (テキストログイン) |
4 | 未使用 |
5 | マルチユーザモード (グラフィカルログイン) |
6 | 再起動 |
S又はs | シングルユーザモード (/etc/rc.d/rc.sysinitスクリプトを実行) |
プロセス管理
プロセスとは、動作中のプログラムをOSが管理する基本単位です。 プログラムを実行すると新しいプロセスが生成されます。
niceコマンド
プロセスには実行優先度(プライオリティ)があり、
必要に応じて優先度の指示を行う事ができます。
『ps -l』コマンドで表示される『PRI』列が優先順位になります。
優先度を設定するために指定する値がナイス値です。
ナイス値は『-20〜19』まであり、ナイス値が小さいほど
優先度が高い事を表します。また、デフォルトでは
ナイス値は0で設定されます。
優先度の設定コマンドは以下の通りです。
nice - n ナイス値 対象コマンド
アクセス権
ファイルやディレクトリには、アクセス権が設定されます。
『アクセス権』とは、
『パーミッション』とも呼ばれる、
どのユーザに対してどういった操作を許可するかという情報の事です。
アクセス権には、『所有者』『所有グループ』『その他』の3種類に対して
設定が可能です。また、アクセス権には、
『読み取り可能』『書き込み可能』『実行可能』の3種類があります。
権限 | 表記 |
読み取り権 | r |
書き込み権 | w |
実行権 | x |
ディレクトリ | 所有者 | グループ | その他 | ||||||
d | r | w | x | r | w | x | r | w | x |
アクセス権を確認するには、『ls -l』コマンドを実行します。
$ ls -l -rwxr-xr-- 1 test linux 128 Jun 27 22:00 test.sh drwxr--r-- 1 test linux 32 Jun 27 21:00 testdir