Zerokaratsukuru OS kaihatsu 002 kernel loader-hen zero karatsukuru kernel loader (Japanese Edition) Buy on Amazon
Facebook LinkedIn

Zerokaratsukuru OS kaihatsu 002 kernel loader-hen zero karatsukuru kernel loader (Japanese Edition)

Author yabusame2001
Category Kindle Edition
2.99 USD

Available for download now

Book Details
Author(s) yabusame2001
ISBN / ASIN B00F7SJW40
ISBN-13 978B00F7SJW49
Availability Available for download now
Category Kindle Edition
Marketplace United States 🇺🇸
Description
C言語で0から作るOSを開発について説明していきます。このシリーズではカーネルの開発について説明しています。
今回は前回作成したブートローダーから起動するカーネルローダーを作成していきます。カーネルを読み込むため32ビットのプロテクティッドモードへ移行し、A20を有効にして4GBのメモリー空間を使用できるようにします。その後FATからカーネルイメージを読み込み、カーネルを起動していきます。

【注意】本書のカーネルローダーはnasmでプログラムを行っていますが、アセンブラーの構文などは詳細に説明できておりません。別途アセンブラーの文法などを学習する必要があります。しかし、本書を読むことでカーネルローダーの基本的な設計はできるようになると思います。

[目次]
前回までの内容
メモリマップ
  OS(カーネル)ロードの問題点
  カーネルローダーをロードする
はじめてのカーネルローダ
  1段階目のブートローダーからカーネルローダーへ
32ビットレジスター
プロテクティッドモード
プロテクティッドモードへの移行
プロテクティッド用のメモリーアクセス設定 GDT(Global Descriptor Table)
  GDT(Global Descriptor Table)
  GDTとセグメントレジスターの役割
    論理アドレスとリニアーアドレス
  セグメントセレクターとしてのセグメントレジスター
  セグメントディスクリプター
  GDTの作成とロード
    Nullディスクリプター
    コードセグメントディスクリプター
    データディスクリプター
    TEMPORARYディスクリプターについて
  GDT設定のまとめ
プロテクティッドモードへの移行
  制御レジスターCR0
  32ビットプログラム
ハードウェア制御とA20
  システムアーキテクチャー(フロントサイドバス)
    アドレスバス(Address Bus)
    制御バス(Control Bus)
  I/Oデバイス
  I/Oデバイスへのアクセス
  8042キーボードコントローラー
  8042キーボードコントローラーでA20を有効にする
    ライトアウトプットポートコマンド
    リードアウトプットポートコマンド
  A20を有効にするまとめ
カーネルローダー メインを作っていく
  最初に作成したStarting.asmファイル
  スタックの初期化とGDTの設定を追加する
    Starting.asmファイル
カーネルのロード
  ルートディレクトリ領域でカーネルイメージファイルを探す
    Starting.asmファイル
    Fat12.incファイル
    BPB.incファイル
    common.incファイル
  カーネルイメージを読み込む
    Starting.asmファイルの続き
    Fat12.incファイル
  プロテクティッドモードへの移行
  カーネルイメージのコピーとカーネル起動
Donate to EbookNetworking
Previous Book Ice Runner (Tales of the Ci... Next Book Claimed by the Vikings
Previous Ice Runner (Tales...
Next Claimed by the Vi...