BIOSからブートローダーへ:ビジネスの開始時に、上司が自分でそれを行う仕事があります

前のセクションで、オープンビジネス環境としてのx86には2つのモードがあると述べました。1つは1Mしかアドレス指定できないリアルモードで、各セグメントは最大64Kです。これは小さすぎて、私たちのビジネスの自営業モデルに相当します。プロジェクトでは、上司だけが自分で取り組むことができ、すべてを始めるのは困難です。もう1つはプロテクトモードで、32ビットシステムの4Gをアドレス指定できますこれは大企業であり、上司はプロジェクトを引き受けるために多くの人を雇わなければなりません。 

LINUX起動プロセス


まず、システムの起動プロセス全体を図で簡単に理解しましょう。プロセス全体は、基本的にPOST-> BIOS-> MBR(GRUB))-> Kernel->Init->Runlevelに分けることができます。各プロセスの役割については、以下で詳しく説明します。

BIOSの時代


コンピュータのスタートボタンを軽く押すと、マザーボードの電源がオンになります。

前に述べたように、この時点でCPUは​​命令の実行を開始する必要があります。あなたは、上司として、そして従業員として、仕事に取り掛かろうとしています。ただし、現時点ではプロジェクト実行計画がないため、何もする必要はありません。

つまり、現時点ではオペレーティングシステムはなく、メモリも空です。CPUは何をすべきですか?

この新興企業の経営者として、これまでに会社を設立したことがないので、もちろん会社の運営に戸惑っています。しかし、私たちは良好なビジネス環境を持っており、その中の起業家精神ガイダンスセンターは長い間これを考慮してきました。したがって、起業家精神ガイダンスセンターはあなたにスタートアップガイドブックのセットを提供します。取扱説明書に従うだけです。

コンピュータシステムも計画されています。マザーボードには、ROM(読み取り専用メモリ、読み取り専用メモリ)と呼ばれるものがあります。これは、通常RAM(ランダムアクセスメモリ)と呼ばれるものとは異なります。 

普段購入しているメモリースティックは、読み取りと書き込みができるので、計算結果を保存することができます。ROMは読み取り専用であり、一部の初期化プログラム、つまりBIOS(基本入出力システム、基本入出力システム)が固められています。 

オペレーティングシステムを自分でインストールした場合は、起動したときに特定のキーの組み合わせを押すと、ディスプレイに青いインターフェイスがポップアップ表示されます。起動順序を調整できるシステムは、私がBIOSと呼んでいるものであり、最初に実行できます。 

あなたのビジネスの初期には、あなたのオフィスは小さくなければなりません。ここで、1Mのメモリアドレス空間があるとします。このスペースは非常に限られており、それをうまく利用する必要があります。

x86システムでは、1Mスペースの上部にある0xF0000から0xFFFFFまでの64KがROMにマップされます。つまり、アドレスのこの部分にアクセスすると、ROMにアクセスします。

コンピュータの電源を入れると、リセット作業が行われ、CSが0xFFFFに、IPが0x0000に設定されるため、最初の命令は0xFFFF0を指します。これは、ROMの範囲内にあります。ここでは、ROM内のコードにジャンプして初期化作業を行うJMPコマンドがあるため、BIOSが初期化作業を開始します。 

起業家向け取扱説明書の最初の項目であるBIOSは、システムのハードウェアが良好な状態にあるかどうかを確認する必要があります。

起業家指導マニュアル第2条、サービスホールが必要ですが、あなたは店員です。この期間に提供できるサービスは非常にシンプルですが、散発的な顧客からのリクエストもあります。

このとき、割り込みを介して行われるキーボードとマウスを使用する必要があるため、割り込みベクタテーブルと割り込みサービスルーチンを確立する必要があります。

この期間中は、自分で行う必要があるため、顧客にいくつかの結果を出力する必要があります。そのため、顧客の連絡担当者としても機能する必要があります。行った作業とその程度をクライアントにアクティブに表示する必要があります。つまり、メモリスペースがビデオメモリスペースにマップされ、一部の文字がディスプレイに表示されます。

 最後に、政府が先導し、起業家精神は個人に依存します。次はあなたの創意工夫を使う時間です。

-------------------------------------------------- -------------------------------------------------- ----------------------- 

サーバーの電源がオンになると、サーバーは直接BIOSに入ります。BIOSのフルネームはBasic Input / Output Systemで、中国語でBasic Input /OutputSystemに変換できます。

BIOSを理解するだけで、マザーボード上のROM(読み取り専用メモリ)チップに統合されたプログラムであり、主に基本的な入出力情報、システム設定情報、電源投入時セルフテストプロセス、およびシステムセルフスタートプログラムを保存します。コンピュータは、最低レベルで最も直接的なハードウェアのセットアップと制御を提供します。

つまり、BIOSはハードウェアとソフトウェアの間のインターフェイスであり、非常に基本的なインターフェイスです。BIOSは、オペレーティングシステムで使用される一連の基本的な命令を提供します。システムの起動が成功するかどうかはBIOSに依存します。

BIOSの初期化は、主に次の3つのタスクを完了します。

  1. CPU、メモリ、ファンライトなど、コンピュータのハードウェアと周辺機器を初めてチェックします(2番目のセルフテストはカーネルによって実行されます。これについては後で説明します)。BIOSが起動すると、セルフテストが実行されます。セルフテストプロセス全体は、POST(Power On Self Test)セルフテストとも呼ばれます。
  2. セルフテストに問題がない場合、BIOSはハードウェアの初期化を開始し、現在の起動可能なデバイスの順序を指定し、起動するデバイスを選択します。
  3. ブートデバイスを選択すると、デバイスのMBR(マスターブートディレクトリ)からブートローダー(ブートブートプログラム)を読み取り、実行します。ブートストラッププログラムは、オペレーティングシステムを起動するために使用されます。Linuxシステムで使用されるデフォルトのブートストラッププログラムはGRUBです。

MBRがRAMにロードされると、BIOSは制御をMBRに移し、システムブートの第2段階に入ります。

 -------------------------------------------------- -------------------------------------------------- --------------------------

BIOS(基本入出力システム)、基本入出力システム、システムはマザーボードのROMチップに保存され、コンピューターの電源を入れると、最初にシステムが読み取られ、次に電源が供給されます。セルフテストプロセスでは、このプロセスは実際にはCPUとメモリをチェックすることです。コンピュータの最も基本的なコンポーネント(コントローラ、算術ユニット、メモリ)は他のハードウェアもチェックします。異常がなければ、BIOSプログラムはメモリにロードされます。

BIOSの詳細な機能についてはここでは説明しません。BIOSの主な機能の1つは、ディスクの起動シーケンスを保存することです。BIOSは、起動シーケンスに従って最初のディスクヘッダーのMBR情報を検索し、 MBRでブートローダープログラムを実行します。最初のディスクにMBRがない場合は、引き続き2番目のディスクを検索します(PS:ブートシーケンスはBIOSインターフェイスで設定できます)。ブートローダープログラムが検出されたら、メモリにロードされると、BIOSはBootLoaderプログラムに制御を渡します。

 

 

ブートローダー期間


政府が発行する起業家精神の取扱説明書は、会社を設立できることを保証するだけですが、会社をより大きく、より強くするためには、一連のビジネス方法が必要です。アーカイブを調べて、「CompanyManagementCollection」がどこにあるかを確認できます。このコレクションを通じて、アーカイブ管理システムの完全なセットを確立するのに役立ちます。これにより、あらゆるプロジェクトのアーカイブ照会が非常に便利になります。

現在、手がかりのないBIOSは、自身のビジネスを終えた後、アーカイブのガードから始めて、オペレーティングシステムの所在をゆっくりと問い合わせることができます。

オペレーティングシステムはどこにありますか?通常、BIOSインターフェイスのハードディスクにインストールされます。起動ディスクのオプションが表示されます。ブートディスクの特徴は何ですか?これは通常、最初のセクターにあり、512バイトを占有し、0xAA55で終わります。これは慣例です。この条件が満たされると、これはブートディスクであり、関連するコードは512バイト以内で開始されることを意味します。 

誰がこれらのコードをここに置いたのですか?LinuxにはGrub2というツールがあり、フルネームはGrandUnifiedBootloaderバージョン2です。名前が示すように、それはシステムを起動することです。 

システムブートオプションは、grub2-mkconfig-o/boot/grub2/grub.cfgを使用して構成できます。このような構成が内部にあることがわかります。

menuentry 'CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-862.el7.x86_64-advanced-b1aceb95-6b9e-464a-a589-bed66220ebee' {
  load_video
  set gfxpayload=keep
  insmod gzio
  insmod part_msdos
  insmod ext2
  set root='hd0,msdos1'
  if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1'  b1aceb95-6b9e-464a-a589-bed66220ebee
  else
    search --no-floppy --fs-uuid --set=root b1aceb95-6b9e-464a-a589-bed66220ebee
  fi
  linux16 /boot/vmlinuz-3.10.0-862.el7.x86_64 root=UUID=b1aceb95-6b9e-464a-a589-bed66220ebee ro console=tty0 console=ttyS0,115200 crashkernel=auto net.ifnames=0 biosdevname=0 rhgb quiet 
  initrd16 /boot/initramfs-3.10.0-862.el7.x86_64.img
}

ここでのオプションは、システムの起動時にリストになり、どのシステムから起動するかを選択できます。表示される最終結果は次の図です。上記のオプションの具体的な意味については、後で説明します。

おすすめ

転載: blog.csdn.net/qq_34556414/article/details/123537514