■
http://book.mycom.co.jp/book/4-8399-1984-4/4-8399-1984-4.shtml
- 作者: 川合秀実
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2006/03/01
- メディア: 単行本
- 購入: 36人 クリック: 735回
- この商品を含むブログ (299件) を見る
CD-ROM付き
・著者:川合秀実
・予価:3,990円(税込)
・B5変型判 722ページ
・ISBN4-8399-1984-4
・発売日:2006年02月下旬
■内容紹介
プログラミングの基礎からはじめて、30日後にはウィンドウシステムを有する32bitマルチタスクOSをフルスクラッチで作り上げるという入門書。ビギナーでも無理なく作成できるようPCの仕組み・アセンブラ・Cの解説から始まり、試行錯誤を繰り返しながらアルゴリズムを学びつつ、たのしく自由な雰囲気でOSをゼロから構築していくという、他に類を見ない手法による、趣味と実用と学習を兼ね備えたOS作成の入門書です。
30日でできる! OS自作入門
Chapter0[ゼロ日目] 開発を始める前に
1 はじめに
2 OSってなんだろう?
3 OSの作り方のいろいろ
4 無知なら無知でいいじゃないか
5 OSを作るにはどうしたらいいの?
6 OSを作るときの苦労
7 1章以降を読むにあたって(重要!)
8 今後の話の流れ
Chapter1[一日目] PCの仕組みからアセンブラ入門まで
1 とにかくやるのだぁ
2 結局何をやったのだろうか?
3 アセンブラ初体験
4 もうちょっと書き直してみる
Chapter2[二日目] アセンブラ学習とMakefile入門
1 まずはテキストエディタの紹介
2 さて開発再開
3 ブートセクタだけを作るように整理
4 今後のためにMakefile導入
Chapter3[三日目] 32ビットモード突入とC言語導入
1 さあ本当のIPLを作ろう
2 エラーになったらやり直そう
3 18セクタまで読んでみる
4 10シリンダ分を読み込んでみる
5 OS本体を書き始めてみる
6 ブートセクタからOS本体を実行させてみる
7 OS本体の動作を確認してみる
8 32ビットモードへの準備
9 ついにC言語導入へ
10 とにかくHLTしたい
Chapter4[四日目] C言語と画面表示の練習
1 C言語からメモリに書き込みたい
2 しましま模様
3 ポインタに挑戦
4 ポインタの応用(1)
5 ポインタの応用(2)
6 色番号設定
7 四角形を描く
8 今日の仕上げ
Chapter5[五日目] 構造体と文字表示とGDT/IDT初期化
1 起動情報の受け取り
2 構造体を使ってみる
3 矢印表記を使ってみる
4 とにかく文字を出したい
5 フォントを増やしたい
6 文字列を書きたい
7 変数の値の表示
8 マウスカーソルも描いてみよう
9 GDTとIDTを初期化しよう
Chapter6[六日目] 分割コンパイルと割り込み処理
1 ソースファイル分割
2 Makefile整理
3 ヘッダファイル整備
4 やり残した説明
5 PIC初期化
6 割り込みハンドラ作成
Chapter7[七日目] FIFOとマウス制御
1 キーコードを取得しよう
2 割り込み処理は手早く
3 FIFOバッファを作る
4 FIFOバッファを改良する
5 FIFOバッファを整理する
6 さあマウスだ
7 マウスからのデータ受信
Chapter8[八日目] マウス制御と32ビットモード切り替え
1 マウスの解読(1)
2 ちょっと整理
3 マウスの解読(2)
4 動けマウス
5 32ビットモードへの道
Chapter9[九日目] メモリ管理
1 ソースの整理
2 メモリ容量チェック(1)
3 メモリ容量チェック(2)
4 メモリ管理に挑戦
Chapter10[十日目] 重ね合わせ処理
1 メモリ管理の続き
2 重ね合わせ処理
3 重ね合わせ処理の高速化(1)
4 重ね合わせ処理の高速化(2)
Chapter11[十一日目] ついにウィンドウ
1 もっとマウス
2 画面外サポート
3 shtctlの指定省略
4 ウィンドウを出してみよう
5 少し遊んでみる
6 高速カウンタだぁ
7 チラチラ解消(1)
8 チラチラ解消(2)
Chapter12[十二日目] タイマ-1
1 タイマを使おう
2 時間をはかってみよう
3 タイムアウト機能
4 複数のタイマを
5 割り込み処理は短く(1)
6 割り込み処理は短く(2)
7 割り込み処理は短く(3)
Chapter13[十三日目] タイマ-2
1 文字列表示を簡単に
2 FIFOバッファを見直す(1)
3 性能を測定してみる
4 FIFOバッファを見直す(2)
5 割り込み処理は短く(4)
6 番兵を使ってプログラムを短くしてみる
Chapter14[十四日目] 高解像度・キー入力
1 また性能を測定してみる
2 高解像度にしよう(1)
3 高解像度にしよう(2)
4 キー入力(1)
5 キー入力(2)
6 おまけ(1)
7 おまけ(2)
Chapter15[十五日目] マルチタスク-1
1 タスクスイッチに挑戦
2 もっとタスクスイッチ
3 簡単なマルチタスクをやってみる(1)
4 簡単なマルチタスクをやってみる(2)
5 スピードアップ
6 スピード測定
7 もっとマルチタスク
Chapter16[十六日目] マルチタスク-2
1 タスク管理の自動化
2 スリープしてみる
3 ウィンドウを増やそう
4 優先順位をつけよう(1)
5 優先順位をつけよう(2)
Chapter17[十七日目] コンソール
1 アイドルタスク
2 コンソールを作ろう
3 入力切り替えをやってみる
4 文字入力をできるようにしてみる
5 記号入力
6 大文字と小文字
7 Lockキー対応
Chapter18[十八日目] dirコマンド
1 カーソル点滅制御(1)
2 カーソル点滅制御(2)
3 Enterキーに対応
4 スクロールにも対応
5 memコマンド
6 clsコマンド
7 dirコマンド
Chapter19[十九日目] アプリケーション
1 typeコマンド
2 typeコマンド改良
3 FATに対応
4 ソースの整理
5 ついに初アプリ
Chapter20[二十日目] API
1 プログラムの整理
2 一文字表示API(1)
3 一文字表示API(2)
4 アプリケーションの終了
5 OSのバージョンが変わっても変わらないAPI
6 アプリケーション名を自由に
7 レジスタに気をつけよう
8 文字列表示API
Chapter21[二十一日目] OSを守ろう
1 文字列表示APIを今度こそ
2 アプリケーションをC言語で作ってみたい
3 OSを守ろう(1)
4 OSを守ろう(2)
5 例外をサポートしよう
6 OSを守ろう(3)
7 OSを守ろう(4)
Chapter22[二十二日目] C言語でアプリケーションを作ろう
1 OSを守ろう(5)
2 バグ発見を手伝おう
3 アプリの強制終了
4 C言語で文字列表示(1)
5 C言語で文字列表示(2)
6 ウィンドウを出そう
7 ウィンドウに文字や四角を描こう
Chapter23[二十三日目] グラフィックいろいろ
1 mallocを作ろう
2 点を描く
3 ウィンドウのリフレッシュ
4 線を引く
5 ウィンドウのクローズ
6 キー入力のAPI
7 キー入力で遊ぶ
8 強制終了でウィンドウを閉じる
Chapter24[二十四日目] ウィンドウ操作
1 ウィンドウの切り替え(1)
2 ウィンドウの切り替え(2)
3 ウィンドウの移動
4 ウィンドウをマウスで閉じる
5 アプリケーションウィンドウも入力切り替え
6 入力ウィンドウをマウスで切り替える
7 タイマAPI
8 タイマのキャンセル
Chapter25[二十五日目] コンソールを増やそう
1 BEEPサウンド
2 色を増やそう(1)
3 色を増やそう(2)
4 ウィンドウの初期位置
5 コンソールを増やそう(1)
6 コンソールを増やそう(2)
7 コンソールを増やそう(3)
8 コンソールを増やそう(4)
9 もっとOSらしく(1)
10 もっとOSらしく(2)
Chapter26[二十六日目] ウィンドウ移動の高速化
1 ウィンドウ移動を速く(1)
2 ウィンドウ移動を速く(2)
3 ウィンドウ移動を速く(3)
4 ウィンドウ移動を速く(4)
5 最初のコンソールを1つに
6 コンソールをもっとたくさん
7 コンソールを閉じる(1)
8 コンソールを閉じる(2)
9 startコマンド
10 ncstコマンド
Chapter27[二十七日目] LDTとライブラリ
1 まずはバグを直そう
2 アプリ実行中でもコンソールを閉じたい
3 アプリケーションを守ろう(1)
4 アプリケーションを守ろう(2)
5 アプリケーションのサイズ改善
6 ライブラリ
7 make環境の整理
Chapter28[二十八日目] ファイルと日本語表示
1 alloca(1)
2 alloca(2)
3 ファイルAPI
4 コマンドラインAPI
5 日本語表示(1)
6 日本語表示(2)
7 日本語表示(3)
Chapter29[二十九日目] 圧縮と簡単なアプリケーション
1 バグ修正
2 ファイル圧縮
3 標準関数
4 非矩形ウィンドウ
5 bball
6 インベーダゲーム
Chapter30[三十日目] 高度なアプリケーション
1 コマンドライン計算機
2 テキストビューア
3 MMLプレイヤ
4 画像ビューア
5 IPLの改良
6 CD-ROM起動
Chapter31[三十一日目] 開発を終えた後で
1 この先を作るのはみなさんです
2 OSの大きさについて
3 OS作りがうまくなるコツ
4 他の人に使ってもらうのなら
5 CD-ROM内のソフトウェアについて
6 オープンソースのすすめ
7 あとがき
8 お別れ(卒業式)
9 付録