作って理解するOS―x86系コンピュータを動かす理論と実装 [単行本]
    • 作って理解するOS―x86系コンピュータを動かす理論と実装 [単行本]

    • ¥4,048122ポイント(3%還元)
    • 在庫あり2020年4月8日水曜日までヨドバシエクストリームサービス便(無料)がお届け
数量:
店舗受け取りが可能です
NEWマルチメディアAkibaマルチメディア梅田マルチメディア博多にて24時間営業時間外でもお受け取りいただけるようになりました
100000009003186958

作って理解するOS―x86系コンピュータを動かす理論と実装 [単行本]

林 高勲(著)川合 秀実(監修)
価格:¥4,048(税込)
ポイント:122ポイント(3%還元)(¥122相当)
フォーマット:
専用電子書籍リーダアプリ「Doly」が必要です。無料ダウンロード
お届け日:在庫あり今すぐのご注文で、2020年4月8日水曜日までヨドバシエクストリームサービス便(無料)がお届けします。届け先変更]詳しくはこちら
出版社:技術評論社
販売開始日: 2019/09/26
お取り扱い: のお取り扱い商品です。
ご確認事項:返品不可

カテゴリランキング

作って理解するOS―x86系コンピュータを動かす理論と実装 の 商品概要

  • 要旨(「BOOK」データベースより)

    マルチタスクのしくみまで実装。重厚かつ濃密なOS入門。自分のパソコンで試せる。
  • 目次

    -------------------------------------------------------
    イントロダクション
    -------------------------------------------------------
    コンピュータが数を数えるしくみとC言語への応用
      0.1 コンピュータが数を数えるしくみ
      0.2 C言語の基礎
      0.3 C言語の構造とフローチャート

    -------------------------------------------------------
    第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 入出力ソフトウェアの階層構造

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

    第7章 CPUの基本機能
      7.1 8086のレジスタ
      7.2 80386のレジスタ
      7.3 外部インターフェイス――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 数値演算コプロセッサの機能と使い方
      10.9 大容量記憶装置――複数のファイルシステムを管理する

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

    -------------------------------------------------------
    第3部 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を制御する
      14.16 カーネルをロードする
      14.17 ビデオモードを変更する

    第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章 モード移行を実現する
      25.1 リアルモードへ移行する
      25.2 プロテクトモードへ復帰する
      25.3 リアルモードへの移行関数を呼び出す

    第26章 ファイルの読み出しを実現する
      26.1 起動時の割り込み設定を復元する
      26.2 ファイルを検索する

    第27章 PCの電源を切る
      27.1 電断契機を検出する
      27.2 電断処理を実装する

    -------------------------------------------------------
    付録
    -------------------------------------------------------
    仮想環境を構築する方法
      A.1 QEMUの利用方法
      A.2 Bochsの利用方法

    実機での確認方法
      B.1 Rufusの利用方法
  • 内容紹介

    現在広く普及している、x86系CPU搭載のコンピュータ。
    本書はOSの機能を実装しながら、その姿を明らかにしていきます。
    第1部ではまず、ハードウェア、ソフトウェアの基本概念や、CPUとOSの関係など、コンピュータの核となる理論を丁寧に解説します。
    第2部では、x86系コンピュータに対象を絞り、レジスタの構成や、機械語命令の使い方などを詳細に検討します。
    第3部は、いよいよOSの実装パートです。第1部、第2部で得た知識を生かして、マルチタスクなどのOSの機能を楽しみながら実装することができるでしょう。
    なおイントロダクションでは、初学者向けの基礎知識を解説。
    「2進数って何?」という方でも、x86系コンピュータとOSへの理解を深めることを可能にする一冊です。
  • 著者紹介(「BOOK著者紹介情報」より)(本データはこの書籍が刊行された当時に掲載されていたものです)

    林 高勲(ハヤシ タカノリ)
    1967年生まれ。北海道出身。都内の大学を卒業後、秋葉原にあるシステムハウスに就職する。当時のエンジニアの常として、回路の設計をしながらテストプログラムの作成とデバッグに明け暮れる。Windows PCの普及とともに広がるネットワーク関連の業務を通して、サーバの構築からデータベース、ウェブアプリの作成までを一通りこなすようになる。主に、組み込み機器の制御など、ハードウェアに近い位置での作業を好むエンジニア

    川合 秀実(カワイ ヒデミ)
    一般社団法人未踏理事。SecHack365トレーナー。1975年生まれ。小学4年生のときにファミコンの代わりに8ビットのパソコンを与えられ、しかしソフトが買えなかったのでプログラムを作って遊ぶ。そのままプログラミングの専門教育をほとんど受けずに来てしまったので、普通のプログラマにできることができないが、普通のプログラマにはできないことができる
  • 著者について

    林高勲=著/川合秀実=監修 (ハヤシタカノリ カワイヒデミ)
    著者:林高勲(はやしたかのり)
    1967年生まれ。北海道出身。都内の大学を卒業後、秋葉原にあるシステムハウスに就職する。当時のエンジニアの常として、回路の設計をしながらテストプログラムの作成とデバッグに明け暮れる。Windows PCの普及とともに広がるネットワーク関連の業務を通して、サーバの構築からデータベース、ウェブアプリの作成までを一通りこなすようになる。主に、組み込み機器の制御など、ハードウェアに近い位置での作業を好むエンジニア。

作って理解するOS―x86系コンピュータを動かす理論と実装 の商品スペック

商品仕様
出版社名:技術評論社
著者名:林 高勲(著)/川合 秀実(監修)
発行年月日:2019/10/09
ISBN-10:429710847X
ISBN-13:9784297108472
判型:B5
対象:専門
発行形態:単行本
内容:電子通信
言語:日本語
ページ数:735ページ
縦:23cm
横:19cm
他の技術評論社の書籍を探す

    技術評論社 作って理解するOS―x86系コンピュータを動かす理論と実装 [単行本] に関するレビューとQ&A

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