0から作るソフトウェア開発
日々勉強中。。。
Follow @Nina_Petipa
Home
0から作るOS開発
0から作るLinuxプログラム
おすすめ本とKindle
ダウンロード
フォーラム
0から作るOS開発
はじめに
「OS自作入門」
環境準備
環境準備その1
Cygwinとコンパイラとアセンブラ
環境準備その2
クロスコンパイラ
環境準備その3
Bochs
環境準備その4
Virtual Box
環境準備その5
ImDisk
環境設定
環境設定その1
Bochs
環境設定その2
ImDisk
環境設定その3
Virtual Box
ブートローダ
ブートローダその1
BIOSとディスク
ブートローダその2
BIOSの処理
ブートローダその3
はじめてのブートローダとアセンブルと書き込み
ブートローダその4
FAT12
ブートローダその5
汎用レジスタ
ブートローダその6
セグメント
ブートローダその7
メモリアクセス
ブートローダその8
スタック
ブートローダその9
画面に文字を表示する
ブートローダその10
フロッピーからデータを読み込む
ブートローダその11
FAT12ファイルシステムを読み込む
カーネルローダ
カーネルローダその1
メモリマップ
カーネルローダその2
プロテクティッドモードとGDT
カーネルローダその3
プロテクティッドモードへの移行とA20
カーネルローダその4
カーネルをロードする
GRUB
GRUBその1
ブートローダーとGRUB
GRUBその2
GRUBのインストール
GRUBその3
GRUBから起動できる自作OSを作成する
GRUBその4
GRUBから自作OSを起動する
カーネル
そしてカーネルへ
オペレーティングシステムコンセプト
カーネルことはじめ
シンプルビデオドライバ
割り込みその1 割り込みとIDTとGDT
割り込みその2 PICとIRQ
割り込みその3 PICのまとめとPITと割り込みハンドラ
物理メモリ管理その1 物理メモリとマルチブート仕様
物理メモリ管理その2 物理メモリ管理
ページングその1 ページとPTEとPDE
ページングその2 仮想メモリ管理
キーボードドライバその1
キーボードドライバその2
フロッピーディスクドライバその1
フロッピーディスクドライバその2
DMAドライバ
ヒープとkmallocとスラブアロケーター
ドライバーその他
補足説明
グラフィックドライバー
Tips
BIOS
BIOSサービス割り込み一覧
BIOSランタイムサービス一覧
BIOSブート仕様
プロセッサ
IA32(x86)汎用命令一覧
IA32 MMX命令一覧
MMXプログラミング
IA32 P6ファミリ命令一覧
IA32 x87命令一覧
x87 FPUプログラミング
仕様
マルチブート仕様
スキャンコード一覧
ELFフォーマット
VGA
VESA
ファイルシステム
リンク
Tips BIOSサービス割り込み一覧
BIOSサービス割り込み一覧
INT命令で割り込み番号を指定して実行するとBIOSのサービス割り込みが利用できます
リンクをクリックすると表の下に詳細が表示されます
BIOSサービス割り込み一覧
割り込み番号
サービス名
(英語)
サービス名
(日本語)
説明
0x10
Video Services
ビデオサービス
ビデオ機能が使用できます
0x11
Equipment List Service
システムデバイス情報取得
プログラムが利用可能なシステムのデバイス情報を取得します
0x12
Low Memory Size Service
ローメモリサイズ取得
1MB以下の物理メモリ領域のメモリサイズを取得します
0x13
Disk Services
ディスクサービス
FDD、HDD、ROMディスク、RFDディスクなどにアクセスできます
0x14
Serial Port Services
シリアルポートサービス
シリアルポートにアクセスできます
0x15
General System Services
システムサービス
システムデバイスへの要求やデバイスの処理待ち要求などを行います
0x16
Keyboard Services
キーボードサービス
キーボードを制御することができます
0x17
Parallel Port Services
パラレルポートサービス
パラレルポートにアクセスすることができます
0x18
Boot Fault Routine
ブートフォルト処理
OS起動に失敗した場合に、呼び出される処理です
0x19
Bootstrap Routine
ブートストラップ処理
ブートローダをロードする処理です
0x1A
Time/Date Services
時刻・日付サービス
時刻や日付などを取得します
0x1B
Control-Break Signal
コントロール・ブレイク信号
コントロールキーとブレイクキーの同時押しを検出したときに呼び出されます
0x1C
User Timer Interrupt
ユーザタイマ割り込み
タイマとして利用することができます
0x1D
Video Parameter Table(VPT)
ビデオパラメータテーブル
6845CRT制御レジスタの設定に使用します
0x1E
Floppy Diskette Parameter Table(DPT)
フロッピーディスクパラメータテーブル
各種のフロッピーディスクを制御するために使用されます
0x1F
Video Graphics Character Table(VGCT)
ビデオグラフィック文字テーブル
フォントを変更するときに使用します
0x41/0x46
Fixed Disk Parameter Tables(FDPTs)
固定ディスクパラメータテーブル
IDEのプライマリ/セカンダリドライブに使用するパラメータです
0x4A
Real Time Software Interrupt
リアルタイムクロック割り込み
RCT(リアルタイムクロック)として利用できます
0x4F
VBE(Video Bios Extension) Function
VBEファンクション
VBEファンクションを実行します。
Tweet