【改訂新版】作って理解するOS x86系コンピュータを動かす理論と実装(技術評論社) [電子書籍]
    • 【改訂新版】作って理解するOS x86系コンピュータを動かす理論と実装(技術評論社) [電子書籍]

    • ¥4,840968 ゴールドポイント(20%還元)
    • ただいま予約受付中!2026年10月26日12:00:00からお読みいただけます

【改訂新版】作って理解するOS x86系コンピュータを動かす理論と実装(技術評論社) [電子書籍]

林高勲(著者)、川合秀実(監修)
価格:¥4,840(税込)
ゴールドポイント:968 ゴールドポイント(20%還元)(¥968相当)
フォーマット:
専用電子書籍リーダーアプリ「Doly」が必要です。無料ダウンロード
お届け日:ただいま予約受付中!
出版社:技術評論社
公開日時:2026年10月26日12:00:00からお読みいただけます。
お取り扱い: のお取り扱い商品です。
ご確認事項:電子書籍リーダーアプリ「Doly」専用コンテンツ
こちらの商品は電子書籍版です

【改訂新版】作って理解するOS x86系コンピュータを動かす理論と実装(技術評論社) の 商品概要

  • OSさえ作れてしまうほど,コンピュータへの理解が深まる
    64ビットモード・UEFIにも対応,300ページ超の大幅増補改訂
    現在広く普及している,x86系CPU搭載のコンピュータ。本書はOSの機能を実装しながら,その姿を明らかにしていきます。
    第1部:ハードウェア・ソフトウェアの基本概念や,CPUとOSの関係など,コンピュータの核となる理論を体系的に理解
    第2部:x86系コンピュータに対象を絞り,レジスタの構成や,機械語命令の使い方などを丁寧に押さえる
    第3部:第1部と第2部の知識を活かしながら,BIOS環境で起動する32ビットOSを実装する
    第4部:これまでの集大成として,UEFI環境で起動する64ビットOSを実装する
    「2進数とは何か?」からマルチタスクOSの実装まで,コンピュータの本質を一冊に凝縮。根気強く取り組めば,時代を超えて通用する確かな基礎が身につく,本格派のOS入門です。
  • 目次

    第1部 コンピュータの基礎を理解する
    第1章 ハードウェアの基礎
    1.1 ハードウェアで何ができるのか
    1.2 ハードウェアに計算させる方法
    1.3 計算に必要なハードウェア
    1.4 外部記憶装置のしくみ

    第2章 ソフトウェアの基礎
    2.1 チューリングマシン――問題解決の手順の考察
    2.2 OSの主な役割
    2.3 プロセスとは何か
    2.4 カーネルとは何か
    2.5 同期処理の必要性とその実現方法
    2.6 デッドロックの発生要因とその回避方法
    2.7 スケジューリング――プロセスの実行を制御する手法

    第3章 メモリ管理のしくみ
    3.1 メモリの種類と用途
    3.2 セクションとメモリの関係
    3.3 メモリを効率的に利用する手法

    第4章 ファイルシステムのしくみ
    4.1 ファイル情報――属性とデータの管理
    4.2 ファイル操作――汎用的なインターフェイス
    4.3 通常ファイルと特殊ファイル
    4.4 シーケンシャルアクセスとランダムアクセス
    4.5 ファイルシステムの階層構造
    4.6 ファイル名――記録データの識別方法
    4.7 ディレクトリ――論理的グループによるデータ管理
    4.8 ブロック単位でのデータ管理方法

    第5章 入出力のしくみ
    5.1 入出力デバイスの種類
    5.2 入出力ソフトウェアの階層構造
    5.3 デジタル通信の基礎
    5.4 GUID

    第2部 x86系PCのアーキテクチャを理解する
    第6章 コンピュータの基本構成
    6.1 CPU,メモリ,外部記憶装置の関係
    6.2 電源投入時に行われる処理
    6.3 入出力装置(ポート)の役割
    6.4 割り込みコントローラの役割

    第7章 CPUの基本機能
    7.1 8086のレジスタ
    7.2 80386のレジスタ
    7.3 64ビットCPUのレジスタ
    7.4 外部インターフェイス――CPUと周辺機器の接続

    第8章 CPU命令の使い方
    8.1 CPU命令によるプログラムの作成手順
    8.2 CPU命令とその使用例
    8.3 リアルモードとプロテクトモードの違い

    第9章 アセンブラ(NASM)の使い方
    9.1 アセンブルの手順
    9.2 擬似命令とその使用例
    9.3 プリプロセッサとその使用例

    第10章 周辺機器の制御方法
    10.1 メモリマップ――メモリの配置を確認する
    10.2 I/Oマップ――接続されている周辺機器を確認する
    10.3 ビデオ出力――VGAハードウェアを制御する方法
    10.4 キーボードコントローラ(8042)の機能と使い方
    10.5 割り込みコントローラ(8259)の機能と使い方
    10.6 RTC(リアルタイムクロック)の機能と使い方
    10.7 タイマー(8254)の機能と使い方
    10.8 APICタイマーの機能と使い方
    10.9 数値演算コプロセッサの機能と使い方
    10.10 SSE2の機能と使い方
    ・・・

    第11章 BIOSの役割
    11.1 BIOSが提供するサービス
    11.2 ビデオサービスとその使用例
    11.3 ディスクサービスとその使用例
    11.4 システムサービスとその使用例
    11.5 キーボードサービスとその使用例
    11.6 その他のサービス
    11.7 UEFI――BIOSの新しいインターフェイス
    11.8 ACPIによる電源管理と制御例


    第3部 BIOS環境で起動する32ビットOSを実装する
    第12章 開発環境を構築する
    12.1 作業ディレクトリを作成する
    12.2 アセンブラの使用環境を整える
    12.3 ソースファイルを作成する
    12.4 アセンブルを行う
    12.5 短いコマンドに置き換える
    12.6 マウス操作で開発環境を開く
    12.7 動作確認を行う

    第13章 アセンブラによる制御構文と関数の記述例
    13.1 if文を記述する
    13.2 switch〜case文を記述する
    13.3 do〜while文を記述する
    13.4 for文を記述する
    13.5 関数を作成する

    第14章 リアルモードでの基本動作を実装する
    14.1 「何もしない」ブートプログラムを作成する
    14.2 BIOSパラメータブロックの領域を確保する
    14.3 ブートプログラム内にデータを保存する
    14.4 文字を表示する
    14.5 文字列を表示する
    14.6 数値を表示する
    14.7 コンピュータを再起動する
    14.8 セクタを読み出す
    14.9 セクタ読み出し関数を作成する
    14.10 ドライブパラメータを取得する
    14.11 BIOSのフォントデータを取得する
    14.12 メモリの実装状況を確認する
    14.13 KBC(キーボードコントローラ)を制御する
    14.14 A20ゲートを有効化する
    14.15 キーボードLEDを制御する
    ・・・

    第15章 プロテクトモードへの移行を実現する
    15.1 セグメントディスクリプタを作成する
    15.2 割り込みディスクリプタテーブルを作成する
    15.3 プロテクトモードへ移行する
    15.4 カーネルを起動する

    第16章 プロテクトモードでの画面出力を実現する
    16.1 文字の表示位置からVRAMアドレスを計算する
    16.2 プレーンを選択する
    16.3 表示色とプレーンを制御する
    16.4 文字を描画する
    16.5 フォントを一覧表示する
    16.6 文字列を描画する
    16.7 カラーバーを表示する
    16.8 点を描画する
    16.9 線を描画する
    16.10 矩形を描画する

    第17章 現在時刻を表示する
    17.1 現在時刻を取得する(RTCの読み込み)
    17.2 数値を文字に変換する
    17.3 現在時刻を表示する
    17.4 RTCへのアクセスタイミングを制御する

    第18章 プロテクトモードでの割り込みを実現する
    18.1 デフォルトの割り込み処理を作成する
    18.2 割り込みゲートディスクリプタを作成する
    18.3 ゼロ除算割り込みを実装する
    18.4 割り込みと例外の違いを確認する
    18.5 割り込みコントローラを再設定する
    18.6 RTC割り込みを実装する
    18.7 デフォルトの割り込み処理を修正する
    18.8 キーボード割り込みを実装する
    18.9 タイマー割り込みを実装する

    第19章 マルチタスクを実現する
    19.1 タスクの生成とTSSの関係を確認する
    19.2 タスクごとのメモリ空間を定義する
    19.3 協調型マルチタスクの動作を確認する
    19.4 プリエンプティブなマルチタスクを実現する

    第20章 特権状態を管理する
    20.1 タスクの特権レベルを制限する
    20.2 コールゲートを実装する
    20.3 トラップゲートを実装する
    20.4 システムコールを実装する
    20.5 同期処理を実現する

    第21章 小数演算を行う
    21.1 FPUの動作を確認する
    21.2 複数のタスクで小数演算を行う
    21.3 バラ曲線を描画する

    第22章 ページング機能を利用する
    22.1 ページ変換テーブルを作成する
    22.2 ページフォルト例外の動作を確認する

    第23章 コードを共有する
    23.1 TSSを作成する
    23.2 TSSをGDTに登録する
    23.3 タスクごとのパラメータを設定する
    23.4 タスクごとのページ変換テーブルを作成する
    23.5 タイマー処理を修正する

    第24章 ファイルシステムを利用する
    24.1 BPBを作成する
    24.2 ディレクトリエントリを確認する
    24.3 メディアをフォーマットする

    第25章 PCの電源を切る
    25.1 電断契機を検出する
    25.2 電断処理を実装する


    第4部 UEFI環境で起動する64ビットOSを実装する
    第26章 開発環境を整える
    26.1 UEFIの実行環境を整える
    26.2 MAKEツールを導入する
    26.3 CRC32計算プログラムを作成する

    第27章 起動ディスクイメージを作成する
    27.1 GPTディスクイメージを作成する
    27.2 ファイルシステムを作成する
    27.3 何もしないブートプログラムを作成する
    27.4 起動ディスクイメージを作成する

    第28章 文字列を出力する
    28.1 メイン関数を作成する
    28.2 文字列出力関数を作成する
    28.3 数値を出力する
    28.4 プログラムを終了する

    第29章 CPU情報を出力する
    29.1 レジスタ情報を出力する
    29.2 GDT/IDT情報を出力する
    29.3 メモリ領域を確保する
    29.4 メモリマップを出力する

    第30章 グラフィックス出力を実装する
    30.1 プロトコルを利用する
    30.2 フォント情報を取得する
    30.3 画面モードを確認する
    30.4 ピクセルを描画する
    30.5 文字を描画する
    30.6 時刻を描画する
    30.7 タイマー処理を実装する
    30.8 画面の解像度を選択する
    30.9 ブートサービスを終了する
    30.10 セグメントディスクリプタを再設定する
    ・・・

    第31章 マルチタスクを実装する
    31.1 タスクを初期化する
    31.2 タスクパラメータを設定する
    31.3 ページングを設定する
    31.4 特権レベルを変更する
    31.5 システムコールを実装する

    第32章 小数演算を行う
    32.1 SSE2の動作を確認する
    32.2 バラ曲線を描画する
    32.3 ウェイト処理を作成する

【改訂新版】作って理解するOS x86系コンピュータを動かす理論と実装(技術評論社) の商品スペック

Cコード 3055
出版社名 技術評論社
紙の本のISBN-13 9784297159214
他の技術評論社の電子書籍を探す
ファイルサイズ 804.4MB
著者名 林高勲
川合秀実
著述名 著者
監修

    技術評論社 【改訂新版】作って理解するOS x86系コンピュータを動かす理論と実装(技術評論社) [電子書籍] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!