システム開発 - 起動するように[転送] Linuxオペレーティングシステムが自動的に(起動スクリプトを中心に)プロジェクトの詳細な分析を開始
オペレーティングシステムがますます複雑化しているため、そのプロセスの力の下で、ブートをオフにし、よりインテリジェントなもある。。NTは、Linuxのブートプロセスは、サービスの多くを開く必要があるWindowsシステムに似ている。ここでは、我々はあなたがLinuxのブートを導入し始めた(LILOのパソコンの観点から通常は)他のオペレーティングシステムとLinuxオペレーティングシステムの読み込みプログラムからのみブートするためのハードウェアを理解するためにセルフガイドの手順のプロセスを導くために精通していることを前提とブートの手順。
カーネルのロード
。注意してくださいこの時間は、すべてのオペレーティングシステムは、PCのコンピュータのメモリ(自然な設計上の欠陥のため)に存在しないでもマシン上のすべてのメモリにアクセスする方法を持っていることを。したがって、カーネルは、内の最初のメガバイト(0x100000)を完了し、使用可能なRAMにロードする必要があります。この目的を達成するために、カーネルは圧縮されている。。
カーネルの実行
カーネルが実行を開始できますが、メモリ内に抽出された。。最も基本的なカーネルは、仮想メモリサブシステムを設定するのに十分なコードとルートファイルシステムを(通常はext2ファイルシステム)を持つ必要があるということです。カーネルは、実行が開始されると、ハードウェアの検出は、デバイスドライバを初期化するために必要なものを決める。ここから、カーネルは、ルートファイルシステム(プロセス、Windowsシステムに識別し、アクセスするプロセスのCドライブを似ている)マウントすることができます。。
。。
非カーネルのinitプロセスには、自分の価値は、常にプロセスIDが1のPIDは、最初の実行のプロセスを開始される。
/ etc / inittabを彼の構成ファイルを読み取るinitは、ランレベルの決定は、起動する必要があります(ランレベル)。。initdefaultのレベルが定義されている場合、この値は、直接選択するか、または入力するユーザー用のランレベルの値の代表を必要とする。
/ etc / inittabファイルの下で実行レベル、initの後に代表者の数を入力して定義されているコマンドスクリプトプログラムを実行する。。
rcコマンドスクリプトプログラム
我々は、ランレベルを変更するには、/ etc / inittabファイルされるだろうと、コマンドスクリプトは、プログラムを実行するかを定義することを知っている。プログラムは、スクリプトが起動または停止するサービスを指定して実行レベルを担当しています。。。。
の/ etc / rc.dのサブディレクトリ内の各実行レベルについては、対応する下位レベルのディレクトリを持っています。これらの実行の下位レベルは、Xはランレベルの代表者の数ですサブディレクトリrcX.d名前が付けられている。。
/等で構築された、すべてのサブディレクトリレベルにあるランニング/ rc.dの/シンボリックリンクコマンドスクリプトプログラムのinit.dのサブディレクトリが、/ etc / rcに実行するには、コマンドスクリプトを使用しないこれらのシンボリックリンク。 dは/ init.dのサブディレクトリに、元の名前を。コマンドスクリプトのプログラムが文字Sで始まる、サービス、およびそのシンボリックリンク名を開始するために使用されている場合は、コマンドスクリプトプログラムは、サービスを閉じるために使用されている場合、そのシンボリックリンクの名前が文字Kで開始する。
。あなたが最初のネットワークインターフェースを設定しない場合、DNSサービスを使用してホスト名を解決する方法はありません!ために文字SまたはKの大規模な実行の前にある小さな2桁の数値が続くの実行順序を変更する。例えば:/ etc/rc.d/rc3.d/S50inet前に/を実行etc/rc.d/rc3.d/S55namedになります(S50inetは、ネットワーク設定を設定するには、S55namedは、DNSサーバを起動する)。
は/ etc / rc.d / init.dのディレクトリに格納されている、コマンドスクリプトプログラムにシンボリックリンクされているアクションの本当の男は、彼らが起動または停止する操作を様々なサービスを完了。。。。
独自のrcスクリプトをお書きください。
日のメンテナンスのLinuxオペレーティングシステムは、間違いなく上のシステム管理者のニーズを満たすか、またはオフにコマンドスクリプトの変更を。
変更された場合●は、ブートのみで行われたときにブート作品、および変更は、軽微なものであるときは単に/ etc / rc.d / rc.localにスクリプトを編集して考えることができる。このコマンドは、スクリプトプログラムは、ブートプロセスの最後のステップが実行される。
。このコマンドは、スクリプトが起動および停止パラメータを確定し、完了対応する操作をできる必要があります。。
最初の方法は、は/ etc / rc.dは/ rc.localスクリプトは、もちろん、相対的に二つの方法が簡単で編集。あなたは、コマンドスクリプトプログラムの内容を追加するだけで、彼のプログラムを開いて好みのエディタを使用して、コマンドは、ファイルの末尾に追加することができる強制しようとする場合。。
。イメージ通りのRCスクリプトは、プログラムのプロセスは、難しいことではありません書いて。。
あなたは60分ごとにコールしたいと、特別なプログラムは自分自身は、コマンドスクリプトプログラムには、次のセクションが含まれます離れてキーボードの前からの脱却が必要に思い出させるメッセージをポップアップする:
スクリプトプログラムの存在を確認するには、このコマンドを実行しようとしている彼の前に●;
開始受け入れるように、アクションのパラメータおよび実装を停止する●必要。
。このプログラムは非常に簡単ですが、あなた自身の顔を書くことができます、私はここに与えていない。
新しいコマンドの後にプログラムを書いて良いのスクリプトをクリックし、起動または停止するプログラムをコマンドスクリプトを制御するために、必要なシンボリックリンクと関連するサブディレクトリから実行レベルを。私は2つだけは、ローカルレベルを実行している日々の仕事だと思うので、私の心の中で、ただ、彼は起動するランレベル3またはレベル5で実行してみましょう。。
場合によっては、ブート時に記載されて、特定のサービスを持っていない開始されます。。
我々はすでに、シンボリックリンクの名前を変更して、特定のランレベルのサブディレクトリには、サービスが開始されていないさせることができますことを知っているSKから、その名前の変更の最初の文字として。。
この学習法で名前が変更された、それがユーザーインターフェイスのイメージを容易にksysvのを制御することがあります。彼は当初、KDE環境で使用するために設計されていますが、しかし、Red Hat Linux 7.2のではなく、デフォルトのGNOME環境下でインストールされても非常によく実行する。。ウィンドウには、すべてのパラメータは、オンラインヘルプを含む、必要に応じて、変更することができます表示画面上に表示されます。。
警告:あなたは常識の多くに、この知識を学ぶために実際のシステムにある場合。ときに起動スクリプトにプログラムを変更しようとすると、お使いのシステムが発生することがありますことを覚えておくの変更が正しく動作していないメソッドの再起動を使用して復元することはできません。。。