忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【ソフトウェア開発技術】論理の美しさと正しさの基本!「適正プログラム」|情報処理問題1000本ノック

複雑なプログラムも、基本となるパーツが「入り口が一つ、出口が一つ」という規律を守っていれば、解析や修正が格段に楽になります。この基本的な定義を攻略しましょう。

1. 問題:プログラムの構造的定義

【 問題 】 プログラムの処理単位において、以下の2つの条件を満たすものを何と呼ぶでしょうか?
① 入口が一つで、出口も一つである。
② 入口から入って、必ず出口に到達する(無限ループがない)。

ア、構造化プログラム   イ、適正プログラム   ウ、保守性プログラム   エ、アルゴリズムド・プログラム

2. 正解:プログラム設計に関する正解

正解: イ、適正プログラム(Proper Program)

3. 解説:なぜ「出口一つ」が重要なのか

プログラミングにおいて、あちこちからジャンプして入ってきたり、途中で勝手に終了したりするコードは「スパゲッティコード」の原因となります。

【図解:適正プログラムの2条件】

■ 条件1:1入口・1出口(Single Entry, Single Exit)
・どこから始まってどこで終わるかが明確であること。
・これにより、処理を一つの「ブラックボックス(部品)」として扱いやすくなります。

■ 条件2:停止性(Terminating)
・途中でデッドロックを起こしたり、永遠に終わらないループに陥ったりせず、必ず出口にたどり着くこと。
[ 構造化プログラミングとの関係 ]
構造化プログラミング(ダイクストラが提唱)は、この「適正プログラム」を、「順次・選択・反復」という3つの基本構造だけで組み合わせる手法のことです。適正プログラムはその最小単位の理想形と言えます。

1. 理解のコツ: 迷路をイメージしてください。「入り口が1つ、出口が1つ、そして必ずゴールに辿り着けるルートがある」。そんな健全な迷路(プログラム)が「適正」な状態です。
2. 試験対策の視点: 紛らわしい選択肢として「構造化プログラム」がありますが、問題文が「1つの入口と1つの出口を持つ~」という定義そのものを問うている場合は、「適正プログラム」が最も適切な用語になります。


4. まとめ

「1つの入口と1つの出口を持ち、必ず終了する」。これが適正プログラムです。この規律を守ることが、バグが少なく、他人が読んでも理解しやすい「良いコード」への第一歩となります。


PR

【基礎理論】一台で何でもこなす!「万能チューリングマシン」|情報処理問題1000本ノック

特定の計算しかできない専用機ではなく、プログラムを「データ」として読み込むことで、あらゆる計算機のふりをすることができる究極のモデルを攻略しましょう。

1. 問題:汎用コンピュータの理論的モデル

【 問題 】 チューリングマシンの一種で、ある特定の計算を行うチューリングマシンの「記述(プログラムに相当)」と「入力データ」をテープから読み取り、そのマシンの動作を模倣(シミュレート)して実行できるモデルを何と呼ぶでしょうか?

ア、決定性チューリングマシン
イ、非決定性チューリングマシン
ウ、万能チューリングマシン
エ、スタックオートマトン

2. 正解:計算理論に関する正解

正解: ウ、万能チューリングマシン(Universal Turing Machine: UTM)

3. 解説:「プログラム」という概念の誕生

初期の計算概念は「足し算専用機」のようなものでしたが、万能チューリングマシンは「作り方次第で何にでもなる機械」を提唱しました。

【図解:万能チューリングマシンの特徴】

■ 仕組み
・テープの中に「別のマシンのルール(状態遷移表)」をデータとして書き込んでおきます。
・万能マシンはそのルールを読み解きながら、あたかもそのマシンになったかのように振る舞います。

■ 現代とのつながり
・私たちがPCやスマホで、ある時は「表計算」、ある時は「ブラウザ」としてアプリ(プログラム)を入れ替えて使えるのは、現代のコンピュータがこの万能チューリングマシンを具体化したものだからです。
[ プログラム内蔵方式への道 ]
★ この「データとして命令を読み込む」という発想が、後にノイマン型コンピュータ(プログラム内蔵方式)へと繋がりました。アラン・チューリングのこの論文がなければ、現代のIT社会は存在しなかったと言っても過言ではありません。

1. 理解のコツ: 「ゲーム機本体」が万能チューリングマシンで、「ゲームソフト」がテープに書かれた個別のマシンの記述、とイメージしてください。本体が一つあれば、ソフトを差し替えるだけで格闘ゲームにもパズルゲームにもなれる、という汎用性の理論です。
2. 試験対策の視点: 「他のチューリングマシンの動作を模倣(シミュレート)する」「プログラムをデータとして扱う」という表現が最大のヒントです。ITエンジニアとして、自分が日々扱っている「汎用機」のルーツとして押さえておきたい用語です。


4. まとめ

「他のチューリングマシンの記述を読み取り、その動作を再現する」。これが万能チューリングマシンです。この理論により、物理的な配線を変えることなくソフトウェアだけで機能を切り替える、現代コンピュータの魔法が理論的に可能となりました。


【基礎理論】計算の限界を定義する!「決定性チューリングマシン」|情報処理問題1000本ノック

現在のコンピュータが「何が計算できて、何が計算できないのか」を数学的に定義したモデルです。究極にシンプルな構造ながら、現代のスーパーコンピュータと同じ計算能力を持つといわれる理論上の機械を攻略しましょう。

1. 問題:計算モデルの基本概念

【 問題 】 内部状態を持つ制御部、読み書き可能な無限に長いテープ、およびテープヘッドから構成される計算モデルです。ある状態において一つの入力記号を読み取ったとき、次に行う動作(記号の書き換え、ヘッドの移動、状態遷移)が一意に決定されるモデルを何と呼ぶでしょうか?

ア、決定性有限オートマトン
イ、決定性チューリングマシン
ウ、非決定性プッシュダウンオートマトン
エ、万能チューリングマシン

2. 正解:計算理論に関する正解

正解: イ、決定性チューリングマシン(Deterministic Turing Machine)

3. 解説:「迷いがない」というアルゴリズムの原点

英国の数学者アラン・チューリングによって考案された、アルゴリズムの概念を数式化したモデルです。

【図解:チューリングマシンの3つの要素】

■ テープ:データを記録する無限のメモリ。
■ ヘッド:テープの記号を読み書きし、左右に移動する装置。
■ 制御部(状態遷移図):現在の状態と読み取った記号から、「次に何をするか」を決めるプログラム。

★ 「決定性」とは?
・同じ状況(現在の状態と読み込んだ記号)であれば、次の動作が必ず一つに決まっていることを指します。
・多くの一般的なプログラムやアルゴリズムは、この決定性モデルに従っています。
[ 関連用語:チャーチ=チューリングのテーゼ ]
★ 「アルゴリズムによって計算可能なものは、すべてチューリングマシンによっても計算可能である」という説です。この理論により、チューリングマシンで解けない問題(停止性問題など)は、どんなに性能が良い将来のコンピュータでも解けないことが証明されています。

1. 理解のコツ: 「1マス1文字しか入らないテープに、マニュアル通りに文字を書き込んだり消したりしながら動く機械」です。非常に原始的ですが、この単純な動きを組み合わせるだけで、現在のAIもデータベースも原理上は再現できてしまいます。
2. 試験対策の視点: 「読み書き可能な無限のテープ」という言葉が出たらチューリングマシンの合図です。「次の動作が一意に決まる」なら決定性、複数の候補から選択できるなら非決定性(P≠NP予想などで登場)と区別しましょう。


4. まとめ

「次に行う動作が一意に決定される計算モデル」。これが決定性チューリングマシンです。私たちが普段使っているコンピュータの論理的な本質であり、計算の世界のルールを定める最も重要な土台の一つです。



【コンピュータシステム】空き時間を許さない!「アウトオブオーダ実行」|情報処理問題1000本ノック

プログラムに書かれた順番を律儀に守るのではなく、データの準備ができたものから「追い越し」を許可して実行する、現代CPUの驚異的なスピードの裏側を攻略しましょう。

1. 問題:命令実行の順序制御

【 問題 】 CPUの高速化技術において、プログラムに記述された命令の順序に縛られず、データの依存関係がない命令を見つけ出し、実行に必要なリソースやデータが整ったものから順に実行する方式を何と呼ぶでしょうか?

ア、インオーダ実行   イ、投機実行   ウ、アウトオブオーダ実行   エ、スーパースカラ

2. 正解:プロセッサアーキテクチャに関する正解

正解: ウ、アウトオブオーダ実行(Out-of-Order Execution)

3. 解説:渋滞を回避して「追い越し」で進む

「Out-of-Order」とは「順序を外れた」という意味です。前の命令が時間のかかる処理(メモリ待ちなど)をしていても、後ろの命令が先に終わらせてしまう仕組みです。

【図解:アウトオブオーダの仕組み】

■ 仕組み
1. 命令の取り出し:順番通りに取り出します。
2. 実行待ち(スケジューリング):命令の依存関係をチェックし、準備完了したものを演算器へ投入します(ここで順序が入れ替わります)。
3. 結果の確定(コミット):計算が終わってもすぐには反映せず、最後に元の順番通りに整列させて完了します。

■ メリット
・特定の命令で発生した待ち時間(ストール)を、後続の命令を実行することで埋めることができ、CPUの稼働率が上がります。
[ セットで覚えたい:レジスタリネーミング ]
★ 命令の順序を入れ替える際、同じ名前のレジスタ(変数のようなもの)を使い回していると衝突が起きます。これを避けるために、CPU内部で一時的に別のレジスタ名を割り当てる技術が併用されます。

1. 理解のコツ: 料理の注文(プログラム)をイメージしてください。「1番:時間のかかる煮込み料理」「2番:すぐできるサラダ」と注文が入ったとき、1番が完成するのを待たずに2番のサラダを先に作り始めるのがアウトオブオーダです。
2. 試験対策の視点: 「データの依存関係がない」「順序を変更して」「準備ができたものから実行」という表現がキーワードです。ちなみに、順番通りにしか実行しない方式を「インオーダ」と呼びます。


4. まとめ

「依存関係のない命令を、準備ができた順に実行する」。これがアウトオブオーダです。内部で複雑なパズルを解くように順序を入れ替えることで、CPUは一分一秒の無駄もなく計算を続けています。


【開発技術】単語を並べて構造を作る!「構文解析」|情報処理問題1000本ノック

切り分けられた単語(トークン)が、プログラミング言語のルール(文法)に則っているかをチェックし、プログラムの構造を解析する重要な工程を攻略しましょう。

1. 問題:プログラムの構造解析

【 問題 】 コンパイラの処理において、字句解析によって分割されたトークンの並びが、その言語の文法規則に適合しているかを判定し、「構文木(抽象構文木)」と呼ばれるツリー構造を生成する工程を何と呼ぶでしょうか?

ア、字句解析   イ、構文解析   ウ、意味解析   エ、最適化

2. 正解:言語処理プロセスに関する正解

正解: イ、構文解析(こうぶんかいせき)

※英語では「Syntax Analysis」や「Parsing(パース)」と呼びます。

3. 解説:文法チェックと「木」の構築

字句解析が「単語の切り出し」だったのに対し、構文解析は「文章の組み立て」を担当します。

【図解:構文解析の役割】

■ 処理内容
・トークンの並びが正しいか(例:カッコが閉じているか、演算子の位置は正しいか)を確認します。
・プログラムの論理的な階層構造を「構文木」として表現します。

■ 構文木のイメージ (a + b * c)
   +
  / \
 a   *
    / \
   b   c
(掛け算を先に計算するような木構造になります)
[ 関連用語:バッカス・ナウア記法 (BNF) ]
★ 構文解析の基準となる「文法の定義」を記述するための記法です。情報処理試験では、このBNF記法に基づいて正誤を判定させる問題もセットでよく登場します。

1. 理解のコツ: 英語の授業で行う「S(主語) V(動詞) O(目的語)」の判別と同じです。「単語は合っているか?」を見るのが字句解析、「文法(並び順)は合っているか?」を見るのが構文解析です。ここでミスが見つかると「Syntax Error(構文エラー)」が発生します。
2. 試験対策の視点: 「トークンから構文木を作る」「文法規則に適合するか」というフレーズがあれば構文解析です。また、次のステップである「意味解析(型チェックなど)」との境界線を意識しておきましょう。


4. まとめ

「トークンから構文木を作る」。これが構文解析です。バラバラだった単語に構造を与え、コンピュータが計算できる「論理の形」へと整える、コンパイラの知能とも言える工程です。



【開発技術】ソースコードを単語に切り分ける!「字句解析」|情報処理問題1000本ノック

人間が書いたプログラムをコンピュータが理解できるように翻訳する「コンパイラ」。その最初の工程であり、文字列を意味のある最小単位に分解する重要なステップを攻略しましょう。

1. 問題:コンパイラの処理工程

【 問題 】 コンパイラがソースコードを処理する過程において、プログラムの文字列を走査し、キーワード、識別子、定数、演算子といった意味を持つ最小の単位(トークン)に分割する工程を何と呼ぶでしょうか?

ア、字句解析   イ、構文解析   ウ、意味解析   エ、コード生成

2. 正解:言語処理プロセスに関する正解

正解: ア、字句解析(じくかいせき)

※英語では「Lexical Analysis」と呼びます。

3. 解説:翻訳の最初の「下ごしらえ」

コンパイラは、いきなり全体を理解するのではなく、段階を踏んで翻訳を進めます。

【図解:コンパイラの主な翻訳フロー】

① 字句解析 ★今回の正解
・文字列を「トークン(字句)」に切り分けます。
・例:total = a + 10; → [total] [=] [a] [+] [10] [;]

② 構文解析
・切り分けられたトークンの並びが、文法通りかチェックします。
・「構文木(抽象構文木)」と呼ばれるツリー構造を作ります。

③ 意味解析
・「変数aは宣言されているか?」「型は合っているか?」など、意味的な正しさをチェックします。

④ 最適化・コード生成
・より速く動くように効率化し、最終的な機械語(オブジェクトコード)を出力します。
[ 関連用語:トークン ]
★ プログラムにおける「単語」のようなものです。字句解析では、スペースやコメントを取り除き、このトークンの列へと変換します。

1. 理解のコツ: 英文を読むときに、まず「英単語の区切り」を見つけるのが字句解析、その単語の並びから「これはS+V+Oの文法だ」と判断するのが構文解析です。まずは単語に分けないと、文法チェックもできません。
2. 試験対策の視点: 「トークンに分割」「最小単位」というキーワードがあれば字句解析です。また、これら一連の工程(字句→構文→意味→最適化→生成)の順番を問う問題も非常に多いので、セットで流れを覚えてしまいましょう。


4. まとめ

「ソースコードをトークンに分割する」。これが字句解析です。どんなに複雑なシステムも、まずはこの地道な「単語の切り出し」からすべてが始まります。

【システム構成】止まらない仕組みの二大巨頭!「冗長化の構成方式」|情報処理問題1000本ノック

システムを多重化する際、予備の機材をどう待機させておくかによって、コストや性能、切り替え時間が大きく変わります。現場でも頻出の2つの構成をマスターしましょう。

1. 問題:冗長化構成の分類

【 問題 】 クラスター構成において、複数のコンポーネントがすべて同時に稼働し、通常時から負荷を分散して処理を行う方式を[   A   ]、稼働系(Active)のみが処理を行い、待機系(Standby)は故障時に備えて待機する方式を[   B   ]と呼びます。空欄に入る適切な組み合わせはどれでしょうか?

ア、A:アクティブ・スタンバイ B:アクティブ・アクティブ
イ、A:アクティブ・アクティブ B:アクティブ・スタンバイ
ウ、A:ホットスタンバイ    B:コールドスタンバイ
エ、A:デュプレックスシステム B:デュアルシステム

2. 正解:高可用性設計に関する正解

正解: イ、A:アクティブ・アクティブ B:アクティブ・スタンバイ

3. 解説:効率重視か、確実性重視か

それぞれの方式には、リソースの活用効率や障害発生時の挙動に明確な違いがあります。

【図解:2つの冗長化方式】

■ Active-Active(アクティブ・アクティブ) ★A
状態:すべての機器が同時に稼働。
メリット:複数台で処理を分担(負荷分散)するため、システム全体の性能が高まる。無駄なリソースがない。
注意点:1台故障すると、残った方の負荷が急増し、性能が低下する可能性がある。

■ Active-Standby(アクティブ・スタンバイ) ★B
状態:1台が本番用として働き、他方は予備として待機。
メリット:構成がシンプルで、切り替え後の性能変化が予測しやすい。
注意点:通常時は予備機が何も処理しないため、リソースのコストパフォーマンスは低い。
[ スタンバイ側の「温まり具合」による分類 ]
アクティブ・スタンバイは、待機状態によってさらに細分化されます。
ホットスタンバイ:予備機もOSを起動し、即座に切り替え可能。
ウォームスタンバイ:OSは起動しているが、アプリケーションは準備中。
コールドスタンバイ:予備機は電源オフ(または別の用途で使用)。

1. 理解のコツ: アクティブ・アクティブは「2人で協力して荷物を運ぶ」イメージ、アクティブ・スタンバイは「1人が運び、もう1人は後ろからついてくる(交代要員)」イメージです。
2. 試験対策の視点: 「負荷分散(ロードバランシング)」というキーワードがあればアクティブ・アクティブ、「切り替え(フェイルオーバー)」という言葉が強調されていればアクティブ・スタンバイを意識しましょう。また、デュアルシステム(同じ処理を2系統で行い結果を照合)との違いもよく問われます。


4. まとめ

「全員で働くか、予備を置いておくか」。これがActive-ActiveActive-Standbyの違いです。システムの要求性能やコスト、許容されるダウンタイムに応じて、最適な構成を選択することが設計の鍵となります。

【システム構成】たった一つの故障が命取り!「単一障害点(SPOF)」|情報処理問題1000本ノック

どれだけ高価なサーバーを並べても、たった一つの部品や回線が共有されているだけで、システム全体が止まってしまうリスクがあります。その「急所」を見つけ出し、対策する考え方を攻略しましょう。

1. 問題:システムの脆弱性と信頼性

【 問題 】 システム構成において、その箇所が故障するとシステム全体が停止してしまうような、冗長化(多重化)されていない単一の箇所を何と呼ぶでしょうか?

ア、ボトルネック   イ、デッドロック   ウ、SPOF(Single Point of Failure)   エ、フェイルセーフ

2. 正解:信頼性設計に関する正解

正解: ウ、SPOF(Single Point of Failure)

※日本語では「単一障害点(たんいつしょうがいてん)」と呼びます。

3. 解説:「鎖の強さは、最も弱い環で決まる」

SPOFをなくすことは、高可用性(ハイアベイラビリティ)を実現するための第一歩です。

【図解:SPOFの具体例と対策】

■ よくあるSPOFの例
ネットワーク:2台のサーバーを繋いでいるが、大元のルーターが1台しかない。
電源:サーバーは二重化したが、電源タップが1つでそこから全ての電力を取っている。
ストレージ:計算機はたくさんあるが、データ保存先が1台のNASに集中している。

■ 対策:冗長化(Redundancy)
・同じ機能を持つ機器を2つ以上用意(多重化)し、一方が故障しても他方が処理を引き継げるように設計します。
[ 関連用語:ボトルネックとの違い ]
SPOF:壊れると「停止」するもの(有無の問題)。
ボトルネック:そこが詰まると「低速」になるもの(性能の問題)。

1. 理解のコツ: どんなに頑丈な吊り橋でも、メインのワイヤーが1本しかなければ、それが切れた瞬間に終わりです。その「1本しかないワイヤー」がSPOFです。ITシステムでは、サーバー、スイッチ、ディスク、さらには電源や回線、時には「特定の作業ができる唯一の担当者」さえもSPOFになり得ます。
2. 実務・試験の視点: システムの稼働率(可用性)を計算する際、SPOFがある構成では、その箇所の稼働率がシステム全体の最大稼働率を制限してしまいます。設計図(構成図)を見て「ここが死んだら全部止まるな」という場所を探す訓練が重要です。


4. まとめ

「多重化されておらず、故障がシステム全体の停止に直結する箇所」。これがSPOF(単一障害点)です。これを見つけ出し、一つずつ消していく作業こそが、止まらないシステムを作るための基本となります。



【データベース】時間を自在に操る復旧!「PITR」の真価|情報処理問題1000本ノック

「最新まで戻す」のは当たり前。PITRの本当の凄さは、あえて「少し前の時点」を指定して復旧できる柔軟性にあります。その仕組みを深掘りしましょう。

1. 疑問:PITRは「最新」まで戻すこと?

【 解説 】 PITR(Point In Time Recovery)の「Point In Time」とは、文字通り「ある特定の時点」という意味です。もちろん「障害が発生する直前の最新状態」を目指して復旧することも多いですが、以下のようなケースで本領を発揮します。

【PITRが活躍する「最新に戻さない」ケース】

■ シナリオ:人為的なミス
・14:00に、担当者が間違って重要なデータを「全削除」してしまった!
最新(14:01)に戻すと…:データが削除された後の「空っぽの状態」になってしまいます。
PITRで13:59に戻すと…:削除される「1分前」の正常な状態をピンポイントで復元できます!

2. 仕組み:バックアップ + ログの積み上げ

復旧作業は、以下の2段階で行われます。これを理解すると、なぜ「点」で戻せるかがわかります。

① フルバックアップのリストア
まずは、過去に取ったバックアップ(例:昨日の深夜3時)を丸ごと戻します。この時点では「昨日の状態」です。

② ロールフォワード(前進復旧)
バックアップ以降に記録された「更新ログ(WALやアーカイブログ)」を、指定した時刻まで1つずつ適用していきます。
★ここで「最新(障害直前)」まで流せば最新になりますし、「ミスをする直前」で止めれば過去の時点になります。

3. 試験対策:紛らわしい用語との比較

用語復旧のゴール
ロールフォワード ログを使ってデータを前進させ、最新状態(または指定時点)にする処理そのもの。
PITR 「○時○分」と時刻を指定して、その瞬間の状態を再現する「手法」のこと。

1. 理解のコツ: PITRはデータベースの「タイムマシン」です。エンジニアが「14時00分00秒の時点に戻れ」と命令すれば、ログをそこまで再生してピタッと止めてくれるイメージです。
2. データベース管理者の視点: PITRを可能にするためには、更新ログを捨てずに保存しておく「アーカイブログモード」の設定が必須です。これができていないと、バックアップを取った時点(面)までしか戻せません。


4. まとめ

PITRは「最新まで戻る」ことも含め、「任意のタイミングを選択して復旧できる」非常に強力な機能です。障害復旧だけでなく、操作ミスという「人災」からデータを守るための必須知識と言えます。


【コンピュータシステム】外からの合図に即座に対応!「外部割込み」|情報処理問題1000本ノック

CPUがプログラムを実行中に、外部の機器や内部のタイマーから緊急の知らせが入ることがあります。これらを整理して正しく分類できるようにしましょう。

1. 問題:外部割込みの要因

【 問題 】 コンピュータの割込み処理のうち、CPUの外部にある装置やタイマーなど、プログラムの実行状態とは直接関係なく発生する「外部割込み」に該当するものはどれでしょうか?

1. ゼロによる除算(ゼロ除算)
2. 存在しない命令コード(不正命令)の実行
3. タイマーによる設定時間の通知
4. ページフォールト(主記憶にないページへのアクセス)の発生

2. 正解:割込み処理に関する正解

正解: 3. タイマーによる通知

3. 解説:「内部」か「外部」かの境界線

割込みは、その原因が「CPU内部のプログラム実行によるもの」か「CPU外部の要因によるもの」かで大きく2つに分けられます。

【図解:割込みの種類と具体例】

■ 外部割込み ★今回の正解
要因:CPUの外側から発生するイベント。
具体例
 - タイマー割込み:設定した時間が経過した。
 - 入出力割込み:キーボード入力やディスクの読み書き完了。
 - コンソール割込み:オペレーターによる操作。
 - 機械チェック割込み:電源異常やメモリのパリティエラーなど。

■ 内部割込み(ソフトウエア割込み・例外)
要因:プログラムの実行中に、その内容によって発生するもの。
具体例
 - プログラム割込み:ゼロ除算(選択肢1)、不正命令(選択肢2)、オーバーフロー。
 - SVC割込み:OSの機能(システムコール)を呼び出す時。
 - ページフォールト:仮想記憶の制御(選択肢4)。
[ 覚え方のポイント ]
内部割込み:そのプログラムを実行したから「自業自得」で起きたもの(計算ミスやOSへの依頼)。
外部割込み:プログラムの都合に関わらず「外から勝手に」やってくるもの。

1. 理解のコツ: 外部割込みは、いわば「外からの呼び鈴」です。作業の手を止めて玄関へ向かうように、CPUは現在の状態を一時保存して、割り込んできた緊急事態(入力対応や時間管理)を優先して処理します。
2. 試験対策の視点: 「ゼロ除算」と「タイマー」は、内部と外部を区別する問題で最もよく使われる典型的なキーワードです。この2つの違いを基準に覚えるのが効率的です。


4. まとめ

「プログラムの実行とは無関係に外から発生する」。これが外部割込みです。コンピュータが時間通りに動作したり、私たちの入力に即座に反応したりできるのは、この割込みの仕組みがあるおかげです。