を購読しました。 続刊の配信が可能になってから24時間以内に予約注文します。最新刊がリリースされると、予約注文期間中に利用可能な最低価格がデフォルトで設定している支払い方法に請求されます。
「メンバーシップおよび購読」で、支払い方法や端末の更新、続刊のスキップやキャンセルができます。
エラーが発生しました。 エラーのため、お客様の定期購読を処理できませんでした。更新してもう一度やり直してください。

無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
0から作るOS開発 Vol.4 カーネル編 割り込み ~IDTとPICとPIT~ Kindle版
C言語で0から作るOSを開発について説明していきます。このシリーズではカーネルの開発について説明しています。
今回は、割り込みについて見ていきます。割り込みベクターをIDTで作成してプロセッサーが割り込みを受け付け準備を行います。そして、外部デバイスからのIRQを統括するICであるPICについて制御を行います。また、昔にタイマーとして使用されていたPITの制御とタイマー割り込みハンドラーを作成して実際にタイマー割り込みが入ってくるところまで見ていきます。
補足でGDTをC言語で構築する場合についての説明もしていきます。
[目次]
前回までの内容
割り込み
例外(Exception)
割り込み要求(IRQ:InterRupt Request)
ソフトウェア割り込み
割り込みベクターと割り込みハンドラー
割り込みベクタと例外
IDT(Interrupt Descriptor Table)
IDTのディスクリプター
IDTR(Interrupt Descriptor Table Register)
IDTをC言語で構築する
ゲートディスクリプターからIDTを作る
IDTRの定義
ゲートディスクリプターをセットアップする
ゲートディスクリプターのフラグ定義
割り込みゲートディスクリプターのセットアップ
IDTRに読み込ませるデータを設定する
IDTをLIDT命令で読み込む
GDTをC言語で構築する
セグメントディスクリプタの定義
セグメントディスクリプターからGDTを作る
セグメントディスクリプターをセットアップする
グローバルディスクリプターのフラグ定義
セグメントディスクリプタのセットアップ
GDTRの定義
GDTRに読み込ませるデータを設定する
GDTをLGDT命令で読み込む
GRUBからカーネルをロードする場合について
PIC(Programmable Interrupt Controller)
割り込みとPIC
PICの特徴
8259Aのハードウェア
8259Aをカスケード接続する
ハードウェアが割り込みを要求したときの動作
ハードウェアが割り込みを要求
CPUはPICから割り込信号を受け付けます
割り込みハンドラを実行する
そして割り込みハンドラーが実行される
8259Aのレジスター構成
コマンドレジスター
ステータスレジスター
割り込み要求レジスター(IRR:Interrupt Request Register)
割り込み中レジスター(ISR)
割り込みマスクレジスター(IMR)
8259Aのポートアドレス
ポートにアクセスする関数を作る
OUT命令
IN命令
8259Aの初期化コマンド
初期化制御コマンドICW(Initialization Control Words)
ICW1(Intialization Control Word1)
ICW2(Initialization Control Word2)
ICW3(Initialization Control Word3)
ICW4(Initialization Control Word4)
(補足)ネストモードについて
(補足)AEOIについて
8259Aの操作コマンド
OCW1(Operation Command Word1)
OCW2(Operation Command Word2)
EOIコマンド
(補足)自動ローテーションコマンド
(補足)特定優先度ローテーション
OCW3(Operation Command Word3)
8259Aの内部レジスター読み込み
スベシャルマスクについて
ポールコマンドについて
PICの初期化コマンドをプログラムする
IRQの割り込みベクター
IRQをマスクする
PIT(Programmable Interval Timer)
8253のハードウェア
8253のタイマー
カウンター
CLK
OUT
GATE
チャンネル0
チャンネル1
チャンネル2
8253のモード
モード0(タイマー)
モード1(ワンショットタイマ)
モード2(パルス生成モード)
モード3(矩形波生成モード)
モード4(ソフトウェアトリガーモード)
モード5(ハードウェアトリガーモード)
8253のレジスター
カウンターレジスター
制御コマンド(Control Word)レジスター
PITのまとめ
割り込みハンドラー
割り込み・例外ハンドラーの実行
現在実行中のプログラムの特権レベルよりゲートディスクリプターの特権レベルの方が低い場合
現在実行中のプログラムの特権レベルとゲートディスクリプターの特権レベルが同じ場合
割り込み・例外時のスタック操作
エラーコード
割り込み・例外処理からの復帰
タイマー割り込みハンドラー
割り込みハンドラーの入り口
割り込みハンドラー(IRQ)の終了通知
割り込みハンドラーの出口
タイマー割り込みハンドラーのまとめ
タイマー割り込みハンドラーのIDTへの登録
今回は、割り込みについて見ていきます。割り込みベクターをIDTで作成してプロセッサーが割り込みを受け付け準備を行います。そして、外部デバイスからのIRQを統括するICであるPICについて制御を行います。また、昔にタイマーとして使用されていたPITの制御とタイマー割り込みハンドラーを作成して実際にタイマー割り込みが入ってくるところまで見ていきます。
補足でGDTをC言語で構築する場合についての説明もしていきます。
[目次]
前回までの内容
割り込み
例外(Exception)
割り込み要求(IRQ:InterRupt Request)
ソフトウェア割り込み
割り込みベクターと割り込みハンドラー
割り込みベクタと例外
IDT(Interrupt Descriptor Table)
IDTのディスクリプター
IDTR(Interrupt Descriptor Table Register)
IDTをC言語で構築する
ゲートディスクリプターからIDTを作る
IDTRの定義
ゲートディスクリプターをセットアップする
ゲートディスクリプターのフラグ定義
割り込みゲートディスクリプターのセットアップ
IDTRに読み込ませるデータを設定する
IDTをLIDT命令で読み込む
GDTをC言語で構築する
セグメントディスクリプタの定義
セグメントディスクリプターからGDTを作る
セグメントディスクリプターをセットアップする
グローバルディスクリプターのフラグ定義
セグメントディスクリプタのセットアップ
GDTRの定義
GDTRに読み込ませるデータを設定する
GDTをLGDT命令で読み込む
GRUBからカーネルをロードする場合について
PIC(Programmable Interrupt Controller)
割り込みとPIC
PICの特徴
8259Aのハードウェア
8259Aをカスケード接続する
ハードウェアが割り込みを要求したときの動作
ハードウェアが割り込みを要求
CPUはPICから割り込信号を受け付けます
割り込みハンドラを実行する
そして割り込みハンドラーが実行される
8259Aのレジスター構成
コマンドレジスター
ステータスレジスター
割り込み要求レジスター(IRR:Interrupt Request Register)
割り込み中レジスター(ISR)
割り込みマスクレジスター(IMR)
8259Aのポートアドレス
ポートにアクセスする関数を作る
OUT命令
IN命令
8259Aの初期化コマンド
初期化制御コマンドICW(Initialization Control Words)
ICW1(Intialization Control Word1)
ICW2(Initialization Control Word2)
ICW3(Initialization Control Word3)
ICW4(Initialization Control Word4)
(補足)ネストモードについて
(補足)AEOIについて
8259Aの操作コマンド
OCW1(Operation Command Word1)
OCW2(Operation Command Word2)
EOIコマンド
(補足)自動ローテーションコマンド
(補足)特定優先度ローテーション
OCW3(Operation Command Word3)
8259Aの内部レジスター読み込み
スベシャルマスクについて
ポールコマンドについて
PICの初期化コマンドをプログラムする
IRQの割り込みベクター
IRQをマスクする
PIT(Programmable Interval Timer)
8253のハードウェア
8253のタイマー
カウンター
CLK
OUT
GATE
チャンネル0
チャンネル1
チャンネル2
8253のモード
モード0(タイマー)
モード1(ワンショットタイマ)
モード2(パルス生成モード)
モード3(矩形波生成モード)
モード4(ソフトウェアトリガーモード)
モード5(ハードウェアトリガーモード)
8253のレジスター
カウンターレジスター
制御コマンド(Control Word)レジスター
PITのまとめ
割り込みハンドラー
割り込み・例外ハンドラーの実行
現在実行中のプログラムの特権レベルよりゲートディスクリプターの特権レベルの方が低い場合
現在実行中のプログラムの特権レベルとゲートディスクリプターの特権レベルが同じ場合
割り込み・例外時のスタック操作
エラーコード
割り込み・例外処理からの復帰
タイマー割り込みハンドラー
割り込みハンドラーの入り口
割り込みハンドラー(IRQ)の終了通知
割り込みハンドラーの出口
タイマー割り込みハンドラーのまとめ
タイマー割り込みハンドラーのIDTへの登録
- 言語日本語
- 発売日2013/12/14
- ファイルサイズ1303 KB
- 販売: Amazon Services International LLC
- Kindle 電子書籍リーダーFire タブレットKindle 無料読書アプリ
まとめ買い
シリーズの詳細を見る-
最初の3冊¥ 6957pt (1%)
-
最初の5冊¥ 1,09211pt (1%)
-
10冊すべて¥ 2,18422pt (1%)
まとめ買い
このシリーズは全10冊です。
-
最初の3冊¥ 6957pt (1%)
-
最初の5冊¥ 1,09211pt (1%)
-
10冊すべて¥ 2,18422pt (1%)
上のボタンを押すと注文が確定し、Kindleストア利用規約に同意したものとみなされます。支払方法及び返品等についてはこちら。
このまとめ買いには3冊が含まれます。
このまとめ買いには5冊が含まれます。
このまとめ買いには1-10冊のうち10冊が含まれます。
エラーが発生しました。
この本を読んだ購入者はこれも読んでいます
ページ 1 以下のうち 1 最初から観るページ 1 以下のうち 1
登録情報
- ASIN : B00FIL5ZBA
- 出版社 : yabusame2001; 第1版 (2013/12/14)
- 発売日 : 2013/12/14
- 言語 : 日本語
- ファイルサイズ : 1303 KB
- Text-to-Speech(テキスト読み上げ機能) : 有効
- X-Ray : 有効にされていません
- Word Wise : 有効にされていません
- 付箋メモ : Kindle Scribeで
- 本の長さ : 231ページ
- Amazon 売れ筋ランキング: - 174,604位Kindleストア (Kindleストアの売れ筋ランキングを見る)
- - 298位OS
- - 347位Linuxオペレーティングシステム
- - 7,398位工学 (Kindleストア)
- カスタマーレビュー:
カスタマーレビュー
星5つ中5つ
5つのうち5つ
2グローバルレーティング
評価はどのように計算されますか?
全体的な星の評価と星ごとの割合の内訳を計算するために、単純な平均は使用されません。その代わり、レビューの日時がどれだけ新しいかや、レビューアーがAmazonで商品を購入したかどうかなどが考慮されます。また、レビューを分析して信頼性が検証されます。