O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
FreeBSDFreeBSD のブートプロセスのブートプロセス
USP 友の会 BSD 担当
今泉光之
@bsdhack
http://bsdhack.org
FreeBSDのブートプロセス 2
講師講師
● 今泉光之
 UNIX/Linux環境でのプログラミングを中心に、ネットワークや
インフラなども含め20年以上に渡る経験だけは積んできました。
 当初はC言語でコンパイラ、Xサーバ、ドライバ、TC...
FreeBSDのブートプロセス 3
ブートプロセスブートプロセス
● 最近は UEFI→grub→systemd の流れが主流(?)
●
でも私は BSDHACK だ
● 空気を読まずに FreeBSD のブートプロセス
FreeBSDのブートプロセス 4
ブートとはブートとは
● コンピュータを起動する事、またはそのための一連の動作
● ブートストラップローダに由来する
● ブートストラップとはブーツの後ろについてる輪っか
● 底なし沼に落ちた時にブートストラ...
FreeBSDのブートプロセス 5
BIOSBIOS
● Basic Input Output System
● マザーボード上の ROM に格納されているプログラム
● コンピュータの電源投入時に最初に動作する
● キーボードやディスプレイな...
FreeBSDのブートプロセス 6
CPUCPU のモードのモード
● Intel の CPU には 2 種類のモードがある
● リアルモード (Real Mode / Real Address Mode)
● プロテクトモード (Protec...
FreeBSDのブートプロセス 7
リアルモードリアルモード
● Intel の 80x86 プロセッサの動作モード
● 8086 互換の動作をするモード
● BIOS は互換性のためにこのモードで動作している
● アクセス保護機能がない
● ...
FreeBSDのブートプロセス 8
プロテクトモードプロテクトモード
● Intel の 80286 プロセッサ以降の動作モードの一つ
● メモリや I/O の保護機能がある
● ページングとアドレス変換機能がある
● 32 ビット
● 仮想メ...
FreeBSDのブートプロセス 9
電源投入電源投入
● PC の電源 ON
● POST(Power On Self Test)
● BIOS
● ブートデバイスの先頭の 1 セクタ (512 バイト ) を読む
● 制御を移す
● ブートロ...
FreeBSDのブートプロセス 10
ブートローダブートローダ
● ハードディスクの第 1 セクタを MBR と呼ぶ
● Master Boot Record
● プログラム領域 :446 バイト
● パーティションテーブル :64 バイト (...
FreeBSDのブートプロセス 11
boot0boot0
● FreeBSD 付属のブートローダ
● パーティションテーブルのエントリにアクセスし OS の名前
を表示して起動する OS を選択
– F1 DOS
– F2 FreeBSD
●...
FreeBSDのブートプロセス 12
boot1boot1
● FreeBSD パーティションのブートローダ
● boot2 をロードする
● boot2 で利用するサブルーチンも提供
FreeBSDのブートプロセス 13
boot2boot2
● カーネルや loader をメモリにロードする
● ファイルシステムにアクセス可能
● BTX(BooT eXtender) を内蔵
● プロテクトモードに移行
● /boot.c...
FreeBSDのブートプロセス 14
loaderloader
● /boot/loader.rc
● /boot/defaults/loader.conf
● /boot/loader.conf
● カーネルに起動時オプションを指定
– -a...
FreeBSDのブートプロセス 15
kernelkernel
● メモリアロケータの初期化
● swapper の生成 (pid=0)
● init プロセスの生成 (pid=1)
FreeBSDのブートプロセス 16
initinit
● シングルユーザーモード
● マルチユーザーモード
● /etc/rc を実行
FreeBSDのブートプロセス 17
/etc/rc/etc/rc
● /etc/rc.initdiskless
● /etc/rc.subr
● /etc/defaults/rc.conf
● /etc/rc.conf
● rcorder で...
Próximos SlideShares
Carregando em…5
×

FreeBSDのブートプロセス

1.812 visualizações

Publicada em

『jus共催、第5回初心者向けとは言うものの午前のシェル勉強会/第23回梅雨でモワッとしたシェル芸勉強会』で使用した資料です。

Publicada em: Engenharia
  • Seja o primeiro a comentar

FreeBSDのブートプロセス

  1. 1. FreeBSDFreeBSD のブートプロセスのブートプロセス USP 友の会 BSD 担当 今泉光之 @bsdhack http://bsdhack.org
  2. 2. FreeBSDのブートプロセス 2 講師講師 ● 今泉光之  UNIX/Linux環境でのプログラミングを中心に、ネットワークや インフラなども含め20年以上に渡る経験だけは積んできました。  当初はC言語でコンパイラ、Xサーバ、ドライバ、TCP/IPによる 通信などシステム系のプログラミングが主でしたが、最近はPerl やPHPなどのWeb向けのLLも使っています。
  3. 3. FreeBSDのブートプロセス 3 ブートプロセスブートプロセス ● 最近は UEFI→grub→systemd の流れが主流(?) ● でも私は BSDHACK だ ● 空気を読まずに FreeBSD のブートプロセス
  4. 4. FreeBSDのブートプロセス 4 ブートとはブートとは ● コンピュータを起動する事、またはそのための一連の動作 ● ブートストラップローダに由来する ● ブートストラップとはブーツの後ろについてる輪っか ● 底なし沼に落ちた時にブートストラップを自分で引っ張って沼 から逃げ出したという古いジョークが元ネタ ( 諸説有り) ● 笑ってあげましょう
  5. 5. FreeBSDのブートプロセス 5 BIOSBIOS ● Basic Input Output System ● マザーボード上の ROM に格納されているプログラム ● コンピュータの電源投入時に最初に動作する ● キーボードやディスプレイなどへのアクセスインタ フェイスなどを提供する ● PC が起動できるのは BIOS のおかげ
  6. 6. FreeBSDのブートプロセス 6 CPUCPU のモードのモード ● Intel の CPU には 2 種類のモードがある ● リアルモード (Real Mode / Real Address Mode) ● プロテクトモード (Protected Virtual Address Mode)
  7. 7. FreeBSDのブートプロセス 7 リアルモードリアルモード ● Intel の 80x86 プロセッサの動作モード ● 8086 互換の動作をするモード ● BIOS は互換性のためにこのモードで動作している ● アクセス保護機能がない ● 16 ビット ● メモリの実アドレスを指定する
  8. 8. FreeBSDのブートプロセス 8 プロテクトモードプロテクトモード ● Intel の 80286 プロセッサ以降の動作モードの一つ ● メモリや I/O の保護機能がある ● ページングとアドレス変換機能がある ● 32 ビット ● 仮想メモリ機能のサポート ● 近代的な OS の機能が実現可能になる
  9. 9. FreeBSDのブートプロセス 9 電源投入電源投入 ● PC の電源 ON ● POST(Power On Self Test) ● BIOS ● ブートデバイスの先頭の 1 セクタ (512 バイト ) を読む ● 制御を移す ● ブートローダ
  10. 10. FreeBSDのブートプロセス 10 ブートローダブートローダ ● ハードディスクの第 1 セクタを MBR と呼ぶ ● Master Boot Record ● プログラム領域 :446 バイト ● パーティションテーブル :64 バイト (16 バイト x4) ● マジックナンバー :2 バイト ● MS-DOS の fdisk には /mbr というオプション
  11. 11. FreeBSDのブートプロセス 11 boot0boot0 ● FreeBSD 付属のブートローダ ● パーティションテーブルのエントリにアクセスし OS の名前 を表示して起動する OS を選択 – F1 DOS – F2 FreeBSD ● 次回の起動のために MBR を更新 ● 選択されたパーティションの 1 セクタ目に制御を移す
  12. 12. FreeBSDのブートプロセス 12 boot1boot1 ● FreeBSD パーティションのブートローダ ● boot2 をロードする ● boot2 で利用するサブルーチンも提供
  13. 13. FreeBSDのブートプロセス 13 boot2boot2 ● カーネルや loader をメモリにロードする ● ファイルシステムにアクセス可能 ● BTX(BooT eXtender) を内蔵 ● プロテクトモードに移行 ● /boot.config
  14. 14. FreeBSDのブートプロセス 14 loaderloader ● /boot/loader.rc ● /boot/defaults/loader.conf ● /boot/loader.conf ● カーネルに起動時オプションを指定 – -a 起動中にルートファイルシステムを指定可能 – -s シングルユーザモードで起動 – -v 冗長な出力
  15. 15. FreeBSDのブートプロセス 15 kernelkernel ● メモリアロケータの初期化 ● swapper の生成 (pid=0) ● init プロセスの生成 (pid=1)
  16. 16. FreeBSDのブートプロセス 16 initinit ● シングルユーザーモード ● マルチユーザーモード ● /etc/rc を実行
  17. 17. FreeBSDのブートプロセス 17 /etc/rc/etc/rc ● /etc/rc.initdiskless ● /etc/rc.subr ● /etc/defaults/rc.conf ● /etc/rc.conf ● rcorder で起動順序を決定 ● システム起動ファイル (/etc/rc.d/) の実行 ● ローカル起動ファイル( /usr/local/etc/rc.d/) の実行

×