Re: コマンドについて

この質問の投稿一覧へ

なし Re: コマンドについて

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-3-30 9:45 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
「コマンドについて」ってよりも、「init」についての話みたいですね。
引用:
システムの起動する順番としては、
「Bios/UEFI ⇒ ブートローダ ⇒ カーネル ⇒ init/systemd」の認識ですが、上記に記載した(proc lspci shutdown等々)コマンドは、「init/systemd」の後の画面で使用されるものなのでしょうか?
そうですね、基本的には起動処理中にはユーザの介在する(コマンドを入力し、実行する)タイミングってのはありませんので、「init/systemd」後=起動処理完了後、に使用するものですね。
Windows起動中のロゴマーク表示中に、IEやExcel起動したりできないのと同じことです。
引用:
initおよびsystemdの内容は起動手順が記載されている認識で、systemdに関しては、systemctlコマンドというものが存在している認識です。
そこで疑問なのが、システムによって、[init]を導入してあったり、[systemd]を導入しているようなイメージでよろしいでしょうか?
ちょっと昔話を。
Linuxに限らず、OSが使えるようになるためには上記の通り「Bios/UEFI ⇒ ブートローダ ⇒ カーネル ⇒ OS起動処理」という流れが元になっています。
で、カーネルが起動処理後に「一番最初に実行するプログラム」がinitと呼ばれるものです。
古くから存在しているinitは、ほんと〜に昔(何十年も前)のスペックの低い環境が前提なのもあり、1つずつ実行してたわけです。例えば「ファイルシステムマウント→ネットワーク設定→メールサーバ起動→Webサーバ起動→リモートログイン(tenletなど)サービス起動→ユーザ要コンソール起動」が全て順番に完了して、初めてユーザのログイン画面(GUIではないですよ)が出たりしてたんです。

ですが、今のマルチコアCPUだのなんだので複数同時処理するのが当たり前になってくると、一個ずつ起動するより、関連性のないサービスは同時に起動すれば、全体の起動処理が完了するまでの時間は短くなります。上記の例で言えば、ネットワーク設定が済んでればメールサーバ、Webサーバ、リモートログインサービスは依存関係がないので同時に起動処理を実行しても問題ないです。
そういうのを実現してるのがsystemdやUpstartです。最近の新しいOS(CentOS7など)では、initとして昔からのinitscriptではなくsystemdなどを採用していますね。

なので、initを導入している、systemdを導入している、というのは各OSの起動処理に採用するinitプログラムが何か、というだけのはなしです。systemdを制御するsystemctlコマンドをinitが導入してあるシステムでは使えない(というか、制御する対象のsystemdが存在しないので意味を成さない)ということなんですね。

って感じでどうでしょう?

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.