We love eBooks
    Baixar Zerokaratsukuru OS kaihatsu hosokusetsumei-hen GRUB karano jisaku kernel kidou (Japanese Edition) pdf, epub, eBook
    Editora

    Zerokaratsukuru OS kaihatsu hosokusetsumei-hen GRUB karano jisaku kernel kidou (Japanese Edition)

    Por yabusame

    Sobre

    C言語で0から作るOSを開発について説明していきます。このシリーズではカーネルの開発における、そのドライバーについて説明しています。

    今回はマルチブート仕様に従うカーネルを簡単に作成し、仮想PC上でGRUBからカーネルを起動する方法について見ていきます。

    【注意】本書はGRUBのレスキューディスクからフロッピーディスクに格納されているカーネルを起動する方法についてのみの簡易的な説明に留まっています。その他の詳細な説明はしていませんので注意してください。
    【注意】本書は『0から作るOS開発』のVol.ナンバリングのタイトルではありません。Vol.ナンバリング以外のタイトルはカーネル編以降どのタイミングでも導入することができます。

    GRUBからの自作カーネル起動
      本書について
      ブートローダー
        初期のコンピューター
        初期の商用コンピューター
        IBM System/360と後継機
        ROMを使用したコンピューター
        現在のパソコン
      GRUB
        GRUBの簡単な歴史
        GRUBの特徴
          対応ファイルシステムとデバイス
          インターフェース
          ネットワークからの起動
          マルチブート
        GRUBのブート処理
        GRUB 2のブート処理
      推奨
      GRUB 2のインストール
        CygwinでGRUB 2をインストールします。
        Cygwin上でGRUB 2のパス設定をします。
      GRUB 2のパッケージ内容
        インストールされる内容
        インストールされるGRUB 2のツール
          grub-bin2hのオプション
          grub-editenvのオプション
          grub-fstestのオプション
          grub-mkelfimageのオプション
          grub-mkfontのオプション
          grub-mkimageのオプション
          grub-mkisofsのオプション
          grub-mkpasswd-pbkdf2のオプション
          grub-mkrelpathのオプション
          grub-mkrescueのオプション
          grub-script-checkのオプション
          grub-installのオプション
          grub-mkconfigのオプション
          grub-mkdevicemapのオプション
          grub-probeのオプション
          grub-rebootのオプション
          grub-set-defaultのオプション
          grub-setupのオプション
      重要なGRUBのコマンドと設定ファイル
        grub-installコマンド
        grub-mkconfigコマンド
        grub-mkrescueコマンド
      GRUB 2のレスキューイメージの作成
        GRUBのレスキューイメージを作成してみる
      GRUBをVirtualBoxで起動してみる
        VirtualBoxでGRUBのレスキューイメージを読み込む設定を行う。
      GRUBから起動できる自作OS(カーネル)の作成
      マルチブート仕様(ベーシック)
        マルチブート仕様の概略
        マルチブートヘッダー
        マルチブートヘッダーの実装
          カーネルをロードする物理アドレスの定義
          magicフィールドの定義
          flagsフィールドの定義
          checksumフィールド
          残りのアドレスフィールドについて
          グラフィックフィールドの定義
          C言語用のマルチブートヘッダー定義
        OS起動時のマシン状態
        マルチブート情報
          マルチブート情報の定義
        マルチブート仕様のヘッダー定義まとめ
      GRUBから起動するカーネルを作成する
        マルチブートヘッダーを作成する
          multiboot.S
        カーネル本体を作成する
        カーネルをコンパイルする
          [multiboot.S]
          [kernel.c]
          マルチブートヘッダーとカーネルイメージの結合
        (補足)ELFフォーマット以外のカーネルイメージの作成
      GRUBから自作OS(カーネル)を起動する
        自作カーネルをフロッピーディスクに入れる
        GRUBを起動する
        GRUBから自作カーネルを起動する
      GRUBの設定とメニューからの自作OS起動
        編集したgrub.cfgをレスキューイメージに入れる
    付録その1 カーネルをメモリーの3GBにロードするには
      カーネルをメモリーの3GB(0xC0000000)にロードするには
      カーネルをなぜ0xC0000000に置くのか
        物理アドレスアドレスから仮想アドレスへのマッピング
          カーネルを0x00000000からストレートマッピングする場合
          カーネルを0x00100000からストレートにマッピングする場合
          カーネルを0xC0000000からストレートにマッピングする場合
      カーネルを0xC0000000にロードする
      マルチブートヘッダーとカーネルのロード部を作成する
        1.ページディレクトリの作成
        2.ページディレクトリの設定
        3.ページサイズを4MBに設定
        4.ページングON
        5.パイプラインのフラッシュ
        6.カーネルのエントリーを呼び出します
      ここまでのまとめ。multiboot.Sの全体。
      リンカースクリプトの作成
    付録その2 マルチブート仕様
      マルチブート仕様概要
      マルチブート仕様について
        マルチブート仕様が想定しているアーキテクチャー
        マルチブート仕様が想定しているOS
        マルチブート仕様に基いて設計するブートローダーについて
        ブート時にOSに渡すパラメーター情報について
        OSの開発について
        ブートモジュールについて
      マルチブート仕様で使用する型式
        マルチブート仕様で仕様する助詞の定義について
      マルチブート仕様
      マルチブートヘッダー
      マシン状態
        (参考)CR0制御レジスターとEFLAGSレジスター
          CR0制御レジスター
          EFLAGSレジスター
        ESPレジスター、GDTR、IDTRについて
        ブートローダーが設定しておくべきのその他のマシン状態
      マルチブート情報のフォーマット
      実装例と注意事項
        パソコンでの注意事項
          マルチブート情報のflagsのビット0について
          マルチブート情報のflagsのビット1について
          マルチブート情報のflagsのビット6について
        BIOSデバイスマッピングテクニック
          データ比較テクニック
          I/O制限テクニック
        OSのプログラム例
          [multiboot.h]
          [boot.S]
          [kernel.c]
          コンパイル

    [2016/1/12]
    GRUBのインストールをソースコードからインストールする説明に変更しました。
    Baixar eBook Link atualizado em 2017
    Talvez você seja redirecionado para outro site

    Relacionados com esse eBook

    Navegar por coleções eBooks similares