Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxシステムの起動プロセス(10ステップ)

Linuxシステムの起動プロセス(10ステップ)

  
liunxシステムが起動され、私は大まかに言ったが、具体的なプロセスは完全に理解されていない、今日インターネット上で、そしてマップに従って、具体的には以下のフローチャートを見つける、詳細な説明がありますので、質問があれば記入してください。


最初のステップを開始する - 起動するためにBIOSデバイスをロードすると、BIOS情報が最初にロードされます。BIOS情報は非常に重要です。 1つ目の理由は、BIOSにCPUに関する情報、デバイスの起動順序情報、ハードディスク情報、メモリ情報、クロック情報、PnP特性などが含まれているためです。その後、コンピュータはどのハードウェアデバイスを読むべきかを知っているというスペクトルを持っています。

2番目のステップの開始 - MBRの読み取りハードディスクの0番目のトラックの最初のセクターは、マスターブートレコードであるマスターブートレコードと呼ばれるMBRと呼ばれ、そのサイズは512バイトです。 、起動前情報、パーティションテーブル情報が格納されます。システムはBIOSで指定されたハードディスクのMBRを見つけた後、00&00アドレスがある物理メモリにそれをコピーします。実際、物理メモリにコピーされるコンテンツはブートローダであり、お使いのデバイスに固有のもの、つまりliloまたはgrubです。

3番目のステップを開始する - ブートローダーブートローダーは、OSカーネルが実行される前に実行される小さなプログラムです。小さなプログラムを通して、オペレーティングシステムカーネルの最後の呼び出しに備えて、ハードウェアデバイスを初期化し、メモリ空間のマップを確立し、システムのハードウェアとソフトウェアの環境を適切な状態にすることができます。ブートローダにはいくつかの種類があり、そのうちGrub、Lilo、spfdiskが一般的なローダです。 Grubを例にとりましょう、結局、liloとspfdiskを使っている人はそれほど多くありません。システムはメモリ(通常menu.lstまたはgrub.lst)内のgrub設定情報を読み取り、この設定情報に従って異なるオペレーティングシステムを起動します。

4番目のステップ - カーネルのロードを開始するgrubによって設定されたカーネルイメージのパスに従って、システムはメモリイメージを読み込み、それを解凍します。この時点で、画面には通常「Uncompressing Linux」というプロンプトが表示されます。解凍されたカーネルが完了すると、画面に< OKと表示され、カーネルが起動されます。システムは、解凍されたカーネルをメモリに置き、start_kernel()関数を呼び出して一連の初期化関数を起動し、さまざまなデバイスを初期化してLinuxカーネル環境の確立を完了します。この時点で、Linuxカーネルは構築されており、Linuxベースのプログラムは問題なく動作するはずです。

5番目のステップを開始します - inittabファイルに従ってinitを実行し、ランレベルカーネルをロードするように設定します。最初のプログラムは/sbin /init、ファイルは/etc /inittabになります。ファイル、およびこのファイルに基づいて作業を初期化します。実際、/etc /inittabファイルの主な機能はLinuxの実行レベルを設定することで、設定形式は "ld:5:initdefault:"で、これはLinuxがレベル5で実行される必要があることを意味します。 Linuxの動作レベルは次のように設定されています。0:シャットダウン1:シングルユーザーモード2:ネットワークサポートなしのマルチユーザーモード3:ネットワークサポート付きのマルチユーザーモード4:予約済み、未使用5:ネットワークサポート付きのX-Windowによるサポートマルチユーザーモード6:システムを再起動する、つまり/etc /inittabファイルに関する知識を再起動する実際には、実行レベルを設定した後の6番目のステップ - initプロセスの実行rc.sysinitを開始することはまだたくさんあります。 Linuxシステムによって実行される最初のユーザー層ファイルは/etc/rc.d/rc.sysinitスクリプトです。これは、PATHの設定、ネットワーク構成の設定(/etc /sysconfig /network)など、多くの作業を行います。スワップパーティションを起動し、/procなどを設定します。もし興味があれば、/etc /rc.dにあるrc.sysinitファイルをチェックすることができます内部のスクリプトは数日間見るのに十分です。

7番目のステップの開始 - カーネルモジュールの開始は/etcに基づいています。 /modules.confファイルまたは/etc/modules.dディレクトリ内のファイルからカーネルモジュールをロードします。

8番目のステップの開始 - 異なるランレベルでのスクリプトの実行異なるランレベルに従って、システムは対応する初期化と起動を完了するために、rc0.dからrc6.dまでの対応するスクリプトを実行します。対応するサービス

9番目のステップを開始します - /etc/rc.d/rc.localを実行します。このファイルを開くと、中に文があります。読んだ後に、このコマンドの効果が一目でわかります。このスクリプトは、他のすべてのinitスクリプトの後に*実行されます。#Sys Vスタイルのinitの完全な初期設定を実行したくない場合は、#ここに独自の初期化設定を追加できます。 Linuxはパーソナライズするのがユーザーに任されています。セットアップしたいものをここに入れて、ここから始めることができます。

10番目のステップを開始し、/bin /loginプログラムを実行してログイン状態にすると、ユーザー名とパスワードの入力待ち状態になりますので、自分のアカウントでログインしてください。 :) ===長い起動プロセスは終わって、すべてが静かになっています;実際、これの背後には、まだ学んでいないより複雑な基底関数呼び出しがあり、後で皆のために記録されるでしょう。

Copyright © Windowsの知識 All Rights Reserved