Linux(x86系)起動の流れ

serverLinux

概要

 状態:  閲覧数:378  投稿日:2008-08-22  更新日:2015-11-24
1.ブートローダ
・電源ONからliloやgrubといったブートローダソフトウェアが起動し,指定されたカーネルイメージをメモリに読み込む

2.カーネル
・メモリ上に読み込まれたカーネルが起動し,CPUやメモリ,周辺機器の認識や初期化を行う

3./sbin/init
・ハードウェアの初期化を終えたカーネルから処理を委ねられた/sbin/initが/etc/inittabの設定に従ってシステムの動作に必要な各種サービスを起動していく


1.ブートローダ


Ⅰ.PCの電源を入れると,まずマザーボード上のフラッシュメモリに書き込まれたBIOS(Basic Input/Output System)と呼ばれるソフトウェアが動き始める

Ⅱ.BIOSはマザーボード上のCPUやメモリ,接続されている各種拡張カードを認識,初期化していく

Ⅲ.接続されたハードウェアの初期化処理を完了すると,最初のHDDの先頭のセクタ(MBR:マスターブートレコード)に書き込まえたソフトウェアを起動して以後の処理を委ねる。このMBRの512バイトの部分に書き込まれているのが「ブートローダ」と呼ばれるソフトウェア

Ⅳ.ブートローダはOSごとに異なり,Linuxの中でもliloやgrubなどいくつかの種類があるが,最も広く使われているのはgrub。grubは起動するカーネルやカーネルパラメータを対話的なメニューから指定したり,さまざまな種類のファイルシステムを理解してカーネルをファイル名で読み出すことができるなど高機能なブートローダ

Ⅴ.一方,MBRは512バイト分しか使えないので大規模なソフトウェアを保存することはできない。そのためgrubでは機能を分割し,本来の機能はstage2と呼ばれる部分に置いてファイルシステム上に保存し,MBRにはstage2を読み込むだけの機能を持ったstage1と呼ばれる部分を置くようになっている


LINUXSTYLE



週間人気ページランキング / 9-11 → 9-17
順位 ページタイトル抜粋 アクセス数
1 mhtmlの問題 | Google Chrome 拡張機能 5
2 同じ携帯電話番号でも、複数の「Twitter Developers」アカウントを作成可能 | Twitter Developer(Twitter) 4
3 「Twitterデータ」対応 | Twitter Developer(Twitter) 3
3 GitHubリモートリポジトリ名には日本語を使用できない。使用すると、ハイフンへ自動置換されてしまう | GitHub(開発環境) 3
3 過去の「0文字引用RT」を期間指定して取得しようとするも、挫折 | Twitter API (Twitter) 3
3 TwitterOAuth では、画像URL を指定した画像投稿は出来ない(と思う)。ライブラリを使用しなければ出来るから、Twitter API の制限ではない(と思われる)  | Twitter 3
3 Twitter 電話番号の問題 | Twitter Developer(Twitter) 3
4 (私の)日本語コーディングルール | 言葉(Webサービス開発) 2
4 コインチェック株式会社   | Webサービスビジネス 2
4 課金決済代行サービスを分類 | Webサービスビジネス 2
4 作成したい課金プラットフォーム | 決済(Webサービスビジネス) 2
4 Twitter 複数アカウントでPOSTしたい | Twitter Developer(Twitter) 2
4 リファクタは、開発が一区切りついた段階でなるべく実行した方が良い | Webサービス開発 2
4 開発 0 2
4 2018年を振り返り、2019年の方針を決める。Webサービスビジネス | Webサービスビジネス 2
4 Git BASH 経由で、Windows10 から GitHub へ PUSH する | GitHub(開発環境) 2
4 プログラミング言語比較チートシート | プログラミング 2
4 デモ動作確認済API | Twitter Developer(Twitter) 2
4 個人事業主が導入可能な決済系サービス2次選考過程第1段階 | 決済(Webサービスビジネス) 2
4 Twitter アプリケーション分類 | Twitter Developer(Twitter) 2
2021/9/18 1:01 更新