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

【システム構成】障害時に自動で切り替えて業務を止めない!「HAクラスタとフェイルオーバー」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験、システムアーキテクト試験のシステム構成・可用性分野で頻出の必須キーワード。「HAクラスタ(高可用性クラスタ)」と、障害時の引き継ぎ動作である「フェイルオーバー」を攻略しましょう。

1. 【 問題 】:テクノロジ系(システム構成技術・信頼性)

【 問題 】 システムの信頼性・可用性を高める構成技術に関する記述です。複数台のサーバを連携させて冗長構成を組み、通常時に稼働している「現用系(稼働系)サーバ」に障害が発生した際、自動的に「待機系サーバ」へ処理やサービスを引き継いで業務の停止を防ぐ仕組みは、次のうちどれか。

(ア)負荷分散クラスタ(ロードバランシングクラスタ)
(イ)HAクラスタ(高可用性クラスタ)におけるフェイルオーバー
(ウ)グリッドコンピューティング
(エ)スケールアウト

2. 正解:

正解:(イ)HAクラスタ(高可用性クラスタ)におけるフェイルオーバー

3. 解説:「『心臓発動(ハートビート)監視』で異常を見検出し、自動でバトンタッチ!」

HA(High Availability:高可用性)クラスタは、24時間365日止めることができないデータベースや基幹システムで採用される冗長化構成です。
サーバ同士は相互に「生存確認信号(ハートビート)」を送信し合っており、稼働系からの返答が途絶えると、クラスタソフトウェアが障害を検知して瞬時に待機系へ処理を切り替えます(フェイルオーバー)。

【クラスタ構成・冗長化の用語比較】 ← 超頻出ポイント!

用語名動作・特徴主な目的
(イ)HAクラスタ
(フェイルオーバー)
稼働系と待機系を用意し、障害発生時に自動で待機系へ切り替える。 可用性の向上
(システムを停止させない)
(ア)負荷分散クラスタ 複数台のサーバで同時に並行処理を行い、リクエストを分散させる。 処理能力・性能の向上
(アクセスの集中に耐える)
フェイルバック 障害の復旧後、待機系から元の稼働系へ処理を戻す操作。 元の運用形態への復帰
フォールトトレラント ハードウェアレベルで完全二重化し、瞬断すら起こさず処理を継続する技術。 完全な継続性の確保

1. 理解のコツ:
・切り替え動作自体を「フェイルオーバー」、システム全体構造を「HAクラスタ(アクティブ/スタンバイ構成)」と呼びます。
・アクセスするクライアント側からは、仮想IPアドレス(VIP)を共有しているため、切り替わったことに気づかずそのまま接続を継続できます。

2. 試験対策の視点:
問題文に「稼働系から待機系への自動切り替え」「障害発生時」「可用性の維持・サービス停止の回避」と出たら、迷わずHAクラスタ / フェイルオーバーを選択しましょう!


4. まとめ

障害時に自動で稼働系から待機系へ切り替えを行うことで、システム全体の停止を防ぐ仕組み。これがHAクラスタ(フェイルオーバー)です。負荷分散を目的とする「ロードバランシングクラスタ」との違いも整理しておきましょう!


PR

【ネットワーク】専用ハードをソフトウェアで代替!「NFV(ネットワーク機能仮想化)」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験、ネットワークスペシャリスト試験のインフラ・仮想化分野で頻出の重要キーワード。「NFV(Network Functions Virtualization)」の定義と、対比されやすい「SDN」との連携関係を攻略しましょう。

1. 【 問題 】:テクノロジ系(ネットワーク・仮想化基盤)

【 問題 】 ネットワークインフラの仮想化技術に関する記述です。従来、ルータ、スイッチ、ファイアウォール、ロードバランサなどの専用ハードウェア装置として提供されていたネットワーク機能を、汎用サーバ上のソフトウェア(仮想マシンなど)として実現・稼働させる技術は、次のうちどれか。

(ア)SDN(Software Defined Networking)
(イ)NFV(Network Functions Virtualization)
(ウ)VLAN(Virtual Local Area Network)
(エ)VPN(Virtual Private Network)

2. 正解:

正解:(イ)NFV(Network Functions Virtualization)

3. 解説:「『専用ハード機器』を汎用サーバ上の『ソフト(アプリ)』に変える!」

NFVは、これまで別々に購入してラックに設置していた高額な専用機器(ファイアウォール装置、ロードバランサ装置など)を、安価な汎用Intelサーバ上の**仮想マシン(VM)アプリ**として動かす技術です。
機器調達コスト(CAPEX)や電気代・運用管理費(OPEX)を大幅に削減できます。

【NFVとSDNの比較】 ← 試験で最も狙われる超重要対比!

技術用語仮想化・抽象化の対象主な目的・役割
(イ)NFV
(Network Functions Virtualization)
ネットワーク「機器・機能」そのもの
(FW、ルータ、LBなどを仮想化)
汎用サーバ上でネットワーク機能をソフトウェア処理し、ハードウェアコストを削減する。
(ア)SDN
(Software Defined Networking)
ネットワーク「制御・経路管理」
(Control Planeの分離)
ソフトウェア(コントローラ)によって、ネットワーク全体の構成やデータ転送経路を集中制御・一括設定する。

1. 理解のコツ:
NFV:「高級な専用デジカメ(専用FW機器)」を買うのをやめて、「スマホ(汎用サーバ)にカメラアプリ(仮想FWソフト)」を入れて代用するイメージです。
SDNNFVは互いに競合するものではなく、組み合わせることで「柔軟で高度に自動化されたクラウドネットワーク」を構築します。

2. 試験対策の視点:
問題文に「専用ハードウェア機器を仮想化」「汎用サーバ上のソフトウェアで実現」「ルータやファイアウォールなどの機能をVM化」と出たら、迷わずNFVを選択しましょう!


4. まとめ

ルータやファイアウォールなどの専用ネットワーク機器の機能を、汎用サーバ上のソフトウェア(仮想マシン)として実現する技術。これがNFVです。ネットワークの「経路制御」をソフトウェアで集中的に行うSDNとの違いも含めて完璧に覚えておきましょう!


【ネットワーク】再試行の間隔を指数関数的に延ばす!「エスポネンシャルバックオフ」|情報処理問題1000本ノック

応用情報技術者試験やネットワークスペシャリスト試験、システムアーキテクト試験で頻出のシステム負荷分散・障害耐性アルゴリズム。「エスポネンシャルバックオフ(Exponential Backoff)」の定義と、システムダウンを防ぐ仕組みを攻略しましょう。

1. 【 問題 】:テクノロジ系(ネットワーク・システム設計・Web API)

【 問題 】 通信エラーやサーバ過負荷が発生した際の再試行(リトライ)制御アルゴリズムに関する記述です。一時的な通信障害やサーバ混雑によるエラーが発生した際、即座に再リクエストを送るのではなく、再試行の失敗回数に応じて待機時間(リトライ間隔)を「1秒、2秒、4秒、8秒…」のように指数関数的に増やしていく制御手法は、次のうちどれか。

(ア)サーキットブレーカー(Circuit Breaker)
(イ)エスポネンシャルバックオフ(Exponential Backoff)
(ウ)ロードバランシング(Load Balancing)
(エ)レートリミット(Rate Limiting)

2. 正解:

正解:(イ)エスポネンシャルバックオフ(Exponential Backoff)

3. 解説:「『混んでいるときは少しずつ様子見の時間を延ばす』優しさ!」

通信エラーが起きたとき、多数のクライアントが一斉に「即時再リトライ」を行うと、復旧しかけたサーバに攻撃(DoS攻撃)のような負荷が集中し、システムが完全にダウンしてしまいます。
エスポネンシャルバックオフは、待機時間を指数関数的(2の乗数など)に延ばすことで、サーバの負荷を逃がし復旧の隙間を作るアルゴリズムです。

【障害対応・負荷抑制に関連する4つのアーキテクチャパターン比較】 ← 超頻出ポイント!

用語名制御のメカニズム・目的
(イ)エスポネンシャルバックオフ エラー発生時、再試行(リトライ)間隔を「1, 2, 4, 8, 16秒…」と指数関数的に延ばしてサーバ過負荷を防ぐ。
(ア)サーキットブレーカー 障害が発生している外部サービスへの呼び出しを「遮断(遮断機を下ろす)」し、無駄な呼び出しによるシステム共倒れを防ぐ。
(エ)レートリミット 一定時間内のリクエスト数を制限(例:1分間に100回まで)し、APIの乱用を防ぐ。
(ウ)ロードバランシング 複数のサーバにアクセスを均等に分散(負荷分散)させる。

1. 理解のコツ:
・「Exponential(指数関数的)」「Back off(後退する・控える)」という名前の通りです。
・実務では、完全に規則正しくリトライすると同じタイミングでリクエストが重なるため、乱数(ランダムな揺らぎ)を加える「Jitter(ジッター)」と組み合わせて運用されるのが一般的です。

2. 試験対策の視点:
問題文に「エラー時の再試行(リトライ)」「待機時間を段階的に(指数関数的に)延ばす」「サーバの過負荷・輻輳(ふくそう)を防ぐ」と出たら、迷わずエスポネンシャルバックオフを選択しましょう!


4. まとめ

エラー発生時の再試行間隔を指数関数的に増加させ、サーバへの負荷集中を防ぐリトライ制御アルゴリズム。これがエスポネンシャルバックオフです。AWSやGoogle CloudなどのクラウドAPIやネットワーク通信の必須知識としてしっかりマスターしておきましょう!


【ソフトウェア開発技術】URLで日本語や特殊記号を扱う!「パーセントエンコーディング」|情報処理問題1000本ノック

ITパスポート、基本情報技術者試験、応用情報技術者試験のWeb技術・HTTPプロトコル分野で頻出の必須テーマ。「パーセントエンコーディング(URLエンコーディング)」の仕組みと対象文字を攻略しましょう。

1. 【 問題 】:テクノロジ系(Web技術・URI仕様)

【 問題 】 Webで利用されるURI(URL)の仕様に関する記述です。URIの中で直接使用できない日本語などのマルチバイト文字や、制御文字、特定の記号などを送信する際に、文字コード(UTF-8等)の各バイト値を「%XX」(XXは16進数)という形式の文字列に変換して表記するエンコード方式は、次のうちどれか。

(ア)Base64エンコーディング
(イ)パーセントエンコーディング(URLエンコーディング)
(ウ)Punycode(ピニーコード)
(エ)HTMLエンティティ(実体参照)

2. 正解:

正解:(イ)パーセントエンコーディング(URLエンコーディング)

3. 解説:「『% + 16進数2桁』で安全なアスキー文字に置き換える!」

URI規格(RFC 3986)で直接使える文字は、半角英数字と一部の記号(`-`, `_`, `.`, `~` など)に限られています。
そのため、日本語やスペースなどの使えない文字を送信する際は、文字コードの各バイトを `%16進数`(例: スペースは `%20`、日本語の「あ」はUTF-8で `%E3%81%82`)という安全な形式にエスケープ(変換)します。

【主なWebエンコード技術の比較一覧】 ← 超頻出ポイント!

エンコード方式変換の形式・特徴主な用途・利用場所
(イ)パーセント
エンコーディング
「%XX」(XXは16進数)形式に変換。
(例:スペース → `%20`)
URI(URL)のパスやクエリ文字列(GETパラメータ)での非ASCII文字・記号の指定。
(ア)Base64 画像やバイナリデータを英数64文字(`A-Z, a-z, 0-9, +, /`)に変換。 電子メール(MIME)での画像添付や、Data URIによる埋め込み。
(ウ)Punycode 日本語ドメイン等を「`xn--`」から始まるASCII文字列に変換。 国際化ドメイン名(IDN)のDNS解決。
(エ)HTMLエンティティ `<` を `&lt;`、`>` を `&gt;` などに変換。 XSS(クロスサイトスクリプティング)対策・HTML本文のエスケープ。

1. 理解のコツ:
・Webで検索した際、ブラウザのアドレス欄にある「https://example.com/search?q=%E6%83%85%E5%A0%B1」といった長い `%` だらけの文字列。あれこそがパーセントエンコーディングされた日本語テキストです。

2. 試験対策の視点:
・問題文に「URI/URLで利用」「日本語や記号」「%XX」「16進数2桁」と出たら、迷わずパーセントエンコーディング(URLエンコーディング)を選択しましょう!
・「電子メールに画像を添付(Base64)」や「日本語ドメイン名(Punycode)」との用途の違いもセットでよく問われます。


4. まとめ

URI内で利用できない日本語や特殊文字を「%XX」(16進数)の形式に変換して安全に送信する技術。これがパーセントエンコーディングです。Base64やPunycodeなど他の変換方式との用途の違いも含めて完璧に整理しておきましょう!


【計算機理論】あらゆる計算を実行可能な計算能力!「チューリング完全」|情報処理問題1000本ノック

基本情報技術者試験や応用情報技術者試験、高度情報処理技術者試験(ITストラテジスト・エンベデッドなど)のアルゴリズム・計算機論分野で頻出の根幹概念。「チューリング完全」の定義と、実現に必要な最小限のプログラミング条件を攻略しましょう。

1. 【 問題 】:テクノロジ系(計算機理論・プログラミング言語論)

【 問題 】 プログラミング言語や計算モデルの計算能力に関する記述です。ある言語やシステムが「万能チューリングマシン」を模倣・シミュレートできる計算能力を備えており、十分な時間とメモリが与えられれば、原理的にどんな計算可能アルゴリズムでも実行・表現できる性質を表す用語として、適切なものはどれか。

(ア)フォン・ノイマン型(Von Neumann architecture)
(イ)チューリング完全(Turing Completeness)
(ウ)NP完全(NP-Complete)
(エ)停止性問題(Halting Problem)

2. 正解:

正解:(イ)チューリング完全(Turing Completeness)

3. 解説:「『原理的になんでも計算できる』という万能の証明!」

チューリング完全は、計算機科学の父と呼ばれるアラン・チューリング(Alan Turing)が提唱した「チューリングマシン」に由来します。
プログラミング言語がチューリング完全であるためには、**「変数の保持(メモリへの書き込み)」「条件分岐(ifなど)」「無限ループや再帰(繰返し)」**の3つの要素を備えていれば十分であるとされています。

【チューリング完全と非チューリング完全の例】 ← ポイント!

分類代表例計算能力の特徴
チューリング完全な言語 C, Python, Java, JavaScript, WebAssembly,
SQL(再帰クリCTE利用時), HTML5+CSS3 など
万能チューリングマシンをシミュレート可能。任意の複雑な計算を実行できる。
非チューリング完全な言語 正規表現(基本形), JSON, HTML(単体), マークダウン など データ表現や記述に特化しており、任意の繰り返し処理や汎用計算は行えない。

1. 理解のコツ:
・「Pythonでできる計算は、原理的にはC言語でもJavaScriptでもすべて計算できる(計算能力の限界が同じ)」ということです。
・一見ただのマークアップ言語に見える「HTML5 + CSS3」や「Minecraftのレッドストーン回路」も、工夫すれば万能チューリングマシンを作ることができるため「チューリング完全」であることが証明されています。

2. 試験対策の視点:
・問題文に「万能チューリングマシンをシミュレート」「原理的にあらゆる計算を実行可能」「任意のアルゴリズムを表現できる」と来たら、迷わずチューリング完全を選択しましょう。
・関連概念として「チューリング完全な言語では、プログラムが永久に止まらないか判定する『停止性問題』は解決不能(不可解)」という定理も超重要です!


4. まとめ

プログラミング言語が万能チューリングマシンと同等の計算能力を持ち、あらゆる計算可能問題をシミュレートできる性質。これがチューリング完全です。計算機理論の原点となる重要テーマとして確実に覚えておきましょう!


【プログラミング】テキスト先頭の隠れた識別子!「BOM付UTF-8(U+FEFF)」|情報処理問題1000本ノック

基本情報技術者試験や応用情報技術者試験のプログラミング・文字コード分野で頻出の重要テーマ。「BOM(Byte Order Mark)」の役割と、UTF-8やUTF-16における挙動の違いを攻略しましょう。

1. 【 問題 】:テクノロジ系(文字コード・データ表現)

【 問題 】 Unicode文字コードのエンコーディング方式に関する記述です。テキストデータの最先頭にバイト順序(エンディアン)や文字コードの識別用として特殊な制御文字「\ufeff(U+FEFF)」を埋め込む仕様を表す用語として、適切なものはどれか。

(ア)UTF-8(BOMなし)
(イ)BOM付UTF-8(UTF-8 with BOM)
(ウ)Base64
(エ)Unicode正規化(NFC)

2. 正解:

正解:(イ)BOM付UTF-8(UTF-8 with BOM)

3. 解説:「『\ufeff』はファイルの先頭に刻む文字コードの印!」

BOM(Byte Order Mark)は、元々はUTF-16やUTF-32などの複数バイト文字コードで「ビッグエンディアンか・リトルエンディアンか」というバイトの並び順(エンディアン)を識別するための仕組みです。
Unicode規格上の文字コード値として **`U+FEFF`** (ZERO WIDTH NO-BREAK SPACE)が割り当てられています。

【BOMの役割とUTF-8における特徴まとめ】 ← 超頻出ポイント!

項目仕様・特徴
先頭の制御記号 Unicode表記:`\ufeff`(U+FEFF)
UTF-8でのバイト列:`0xEF, 0xBB, 0xBF`(16進数3バイト)
本来の目的 2バイト単位で処理するUTF-16等でバイトの読み順(エンディアン)を判別するため。
UTF-8での目的・影響 1バイト単位処理のため本来エンディアン識別は不要だが、「このファイルはUTF-8である」という目印として使用。ただし、対応していないプログラム(WebサーバやJSONパーサー等)ではパースエラーや想定外の余白バグの原因になる。

1. 理解のコツ:
・ExcelなどでCSVファイルを開く際、Shift_JISと誤認されて文字化けするのを防ぐためにBOM付UTF-8(`\ufeff`で始まるファイル)が重宝されます。
・一方で、PythonやNode.jsなどのプログラムでJSONやCSVを読み込む際、先頭の `\ufeff` が「余分な不視記号」として読まれてしまいエラーになるケースがあるため注意が必要です。

2. 試験対策の視点:
問題文に「テキストの先頭」「\ufeff」「0xEF, 0xBB, 0xBF」「文字コードの識別標識」「Byte Order Mark」と来たら、迷わずBOM(BOM付UTF-8)を選択しましょう!


4. まとめ

テキストデータの最先頭に制御文字 `\ufeff`(16進数の `0xEF, 0xBB, 0xBF`)を挿入して文字コードを識別させる仕様。これがBOM付UTF-8です。実務やプログラミングで頻出の文字化け・エラー原因としても確実に押さえておきましょう!


【マネジメント】ソースコードを独占・権利制限!「プロプライエタリ」|情報処理問題1000本ノック

ITパスポート、基本情報技術者試験、応用情報技術者試験のストラテジ・ソフトウェア法務分野で頻出の重要概念。「プロプライエタリ(Proprietary)」の定義と、対比される「オープンソース・ソフトウェア(OSS)」との相違点を攻略しましょう。

1. 【 問題 】:ストラテジ系(知的財産権・ソフトウェアライセンス)

【 問題 】 ソフトウェアの権利や配布形態に関する記述です。開発者や権利保有者(メーカーなど)がソースコードや著作権・所有権を独占的に保持し、第三者による無断での改変・再配布・解析(リバースエンジニアリングなど)を制限・禁止する運用形態やソフトウェアの性質を表す用語として、適切なものはどれか。

(ア)オープンソース・ソフトウェア(OSS)
(イ)プロプライエタリ(Proprietary)
(ウ)パブリックドメイン(Public Domain)
(エ)フリーウェア(Freeware)

2. 正解:

正解:(イ)プロプライエタリ(Proprietary)

3. 解説:「『所有権者(Owner)による権利独占』を意味する言葉!」

プロプライエタリ(Proprietary)は、英語の「property(財産・所有物)」や「proprietor(所有者)」に由来する言葉です。
Microsoft WindowsやmacOS、商業用パッケージソフトのように、**「自社の著作財産権としてソースコードを非公開(クローズドソース)にし、利用契約(EULA)に基づいて使用権のみを許可する」**形式を指します。

【プロプライエタリ vs オープンソース(OSS)の対比表】 ← 超頻出ポイント!

比較項目プロプライエタリ(Proprietary)オープンソース(OSS)
ソースコードの開示 原則「非公開」(バイナリ形式のみ配布) 「公開」されており誰でも閲覧可能
利用者の権利制限 複製・改変・再配布・再販売などを厳しく制限・禁止 ライセンス条件(GPL, MIT等)に従い自由な改変・再配布が可能
サポート・品質保障 開発元企業による手厚いサポートや保証が存在する 原則「無保証(As-Is)」であり自己責任運用
代表例 Windows, macOS, Oracle Database, MS Office Linux, MySQL, Python, Apache Web Server

1. 理解のコツ:
・「秘伝のタレ(レシピ=ソースコード)」を絶対に教えず、料理(完成品のソフト)だけを販売して権利を守るのがプロプライエタリ
・レシピをすべて一般公開し、みんなで改良し合おうというのがオープンソース(OSS)です。

2. 試験対策の視点:
問題文に「ソースコード非公開」「所有権・著作権の独占」「ライセンスによる利用・改変の制限」「商業用パッケージ」と来たら、迷わずプロプライエタリ(プロプライエタリ・ソフトウェア)を選択しましょう!


4. まとめ

権利者がソースコードや所有権を保持し、第三者による複製や改変・解析などを厳しく制限するソフトウェア形態。これがプロプライエタリです。対比となるオープンソース(OSS)とのライセンス思想の違いと合わせて確実に押さえておきましょう!


【情報セキュリティ】暗号化と復号で「同じ鍵」を使う基本技術!「AES(共通鍵暗号)」|情報処理問題1000本ノック

ITパスポート、基本情報技術者試験、応用情報技術者試験、情報処理安全確保支援士試験の暗号技術分野で最も重要かつ基礎的なテーマ。「共通鍵暗号方式」の代表格であるAESと、その他の暗号技術(RSA、SHA、PKI)の分類を攻略しましょう。

1. 【 問題 】:情報セキュリティ系(暗号技術)

【 問題 】 データの暗号化および復号に関する記述です。データの暗号化処理と、それを元に戻す復号処理において「まったく同じ鍵(共通鍵)」を使用する共通鍵暗号アルゴリズムは、次のうちどれか。

(ア)RSA
(イ)AES(Advanced Encryption Standard)
(ウ)SHA-256
(エ)PKI(Public Key Infrastructure)

2. 正解:

正解:(イ)AES(Advanced Encryption Standard)

3. 解説:「『同じ鍵を使う共通鍵暗号』と『異なる鍵を使う公開鍵暗号』の違い!」

暗号技術は、鍵の使い方によって**「共通鍵暗号方式」**と**「公開鍵暗号方式」**に大別されます。
AESは現在世界中で広く標準として使われているブロック暗号(共通鍵暗号)であり、処理速度が高速なのが大きな特徴です。

【選択肢の技術・アルゴリズム分類一覧】 ← 超・超頻出ポイント!

選択肢分類・方式特徴・鍵の使い方
(イ)AES 共通鍵暗号方式
(正解)
暗号化と復号に「同じ鍵」を使用。処理が非常に高速。
(※旧標準はDESや3DES)
(ア)RSA 公開鍵暗号方式 暗号化と復号に「異なる鍵(公開鍵と秘密鍵)」を使用。素因数分解の困難性を利用。
(ウ)SHA-256 ハッシュ関数
(一方向性関数)
データから固定長の暗号文(要約値)を作る技術。「復号」は不可能で、改ざん検知に利用。
(エ)PKI 公開鍵暗号基盤 公開鍵暗号や電子証明書(デジタル証明書)を安全に運用するための全体的なインフラ・仕組み

1. 理解のコツ: 「合鍵」と「南京錠」で覚えましょう。
共通鍵暗号(AESなど):「宝箱に鍵をかけて、開けるときも同じ鍵を使う」。シンプルで素早いですが、相手に鍵を渡す(配送する)ときの安全性(鍵配送問題)が課題になります。
公開鍵暗号(RSAなど):「誰でもロックできる南京錠(公開鍵)を配り、開けるのは自分だけの鍵(秘密鍵)を使う」。

2. 試験対策の視点:
・「暗号化と復号で同じ鍵」「共通鍵暗号」と言われたら AES (またはDES, 3DES, IDEA)。
・「暗号化と復号で異なる鍵」「公開鍵暗号」と言われたら RSA (または楕円曲線暗号: ECC)。
この2大分類はあらゆる情報処理試験で毎回問われる最頻出知識です!


4. まとめ

暗号化と復号で全く同じ1つの鍵を使用する共通鍵暗号の代表格。それがAESです。公開鍵暗号の代表であるRSA、改ざん検知用のSHA-256、運用の仕組みであるPKIとの役割の違いを完璧に整理しておきましょう!


【システム構成】CPU空き時間をなくして処理効率を最大化!「マルチプログラミング」|情報処理問題1000本ノック

基本情報技術者試験や応用情報技術者試験のOS・オペレーティングシステム分野で頻出の古典的かつ本質的な重要概念。「マルチプログラミング」の定義と、OSが担う役割(メモリ管理・ジョブ管理・スケジューリング)を攻略しましょう。

1. 【 問題 】:テクノロジ系(OS・オペレーティングシステム)

【 問題 】 OSの制御方式および制御機能に関する記述です。CPUの利用効率を高めるため、複数のプログラムをメモリ(主記憶)上に同時に常駐させ、入出力(I/O)処理の待ち時間などを利用してCPU処理を切り替えながら並行実行するOSの制御方式は、次のうちどれか。

(ア)マルチタスク(マルチプロセッシング)
(イ)マルチプログラミング(Multiprogramming)
(ウ)タイムシェアリングシステム(TSS)
(エ)スプール(SPOOLing)

2. 正解:

正解:(イ)マルチプログラミング(Multiprogramming)

3. 解説:「『CPUを休ませない』ためのメモリ&ジョブ管理機能!」

プログラムの実行中、プリンタ出力やディスクの読み書き(I/O処理)が発生すると、CPUはデータ到着まで待ち状態になります。
マルチプログラミングでは、メモリに複数のプログラムを常駐させておき、AというプログラムがI/O待ちに入ったら、すかさずBというプログラムの計算にCPUを割り当てることで、**CPUの「空き時間(アイドルタイム)」を極限まで減らします**。

【マルチプログラミングを実現するためのOSの3大アクティビティ】 ← ポイント!

OSの役割・アクティビティ具体的な制御・内容
1. メモリ上の複数プログラム管理 複数のプログラムが互いのメモリ領域を破壊しないよう、メモリ割り当てや記憶保護(メモリプロテクション)を行う。
2. JOBプールでのJOB管理 実行待ちのジョブ(一連の処理単位)をプール(待ち行列)に蓄積し、優先順位に基づいて順次選択・管理する。
3. JOBの実行とCPU割り当て I/O待ちなどの割り込みを検知し、適切なプログラムにCPUの使用権(タイムスライスやスケジューリング)を切り替えて実行する。

1. 理解のコツ:
・「1人のシェフ(CPU)が複数の料理(プログラム)を並行して作る」シーンを想像してください。
・スープを煮込んでいる(I/O待ち)間に、別のまな板にある肉を切る(別のプログラムを計算する)。そのためには、すべての材料・レシピが作業台(メモリ)の上に準備されていなければなりません。

2. 試験対策の視点:
問題文に「2つ以上のプログラムがメモリに常駐」「CPUの利用効率・スループット向上」「ジョブプール管理」「I/O待ち時間を有効利用」と出たら、迷わずマルチプログラミングを選択しましょう!


4. まとめ

2つ以上のプログラムをメモリに常駐させ、CPUの空き時間をなくすように並行実行する制御方式。それがマルチプログラミングです。OSが果たす「メモリ管理」「ジョブプール管理」「ジョブの実行制御」という3つの主要なアクティビティとセットでしっかり覚えておきましょう!


【システム開発管理】特定メーカーへの過度な依存リスク!「ベンダーロックイン」|情報処理問題1000本ノック

ITパスポート、基本情報技術者試験、応用情報技術者試験、ITストラテジスト試験の戦略・システム設計分野で頻出の重要キーワード。「ベンダーロックイン」の定義と、発生原因、回避策(オープン技術や標準化)を攻略しましょう。

1. 【 問題 】:ストラテジ系(IT戦略・システム調達管理)

【 問題 】 システムの調達や運用管理における記述です。特定ベンダーの独自の技術仕様やデータ形式にシステムが依存してしまった結果、システム変更や他社製品への乗り換え(移行)にかかる費用・工数が膨大となり、実質的にそのベンダーから契約を変更することが困難になる状態は、次のうちどれか。

(ア)マルチベンダー(Multi-vendor)
(イ)ベンダーロックイン(Vendor Lock-in)
(ウ)SLA(Service Level Agreement)
(エ)ベンダーマネジメント(Vendor Management)

2. 正解:

正解:(イ)ベンダーロックイン(Vendor Lock-in)

3. 解説:「『囲い込まれて(Lock-in)』他社へ動けなくなる!」

ベンダーロックインに陥ると、価格交渉力を失って高額な維持費を払い続けざるを得なくなったり、そのベンダーの製品開発がストップした際に自社のシステム刷新も滞るという大きな経営リスクを抱えることになります。

【ベンダーロックインの発生原因と対策】 ← 超頻出ポイント!

区分具体的な要因・施策内容
発生原因 ・ベンダー独自の独自規格やAPI、暗号化仕様の採用。
・仕様書やドキュメントが整っておらず、ブラックボックス化している。
・データ出力形式が独自仕様で、他システムへ移行できない。
回避・防止策 ・標準化されたオープンな技術(OSSや標準APIなど)の採用。
・複数ベンダーの製品を組み合わせる「マルチベンダー構成」。
・調達時にシステム仕様書やデータ移行手続きを明文化しておく。

1. 理解のコツ:
・用語のイメージ:「鍵(Lock)をかけられて、箱の中に閉じ込められた(In)」状態です。
・対義語・対策概念として、複数のベンダーの製品を自由に組み合わせてシステムを構築する「マルチベンダー」があります。

2. 試験対策の視点:
問題文に「特定ベンダーに依存」「他社製品への移行が困難」「独自の技術仕様」「乗り換えコスト(スイッチングコスト)が高い」と来たら、迷わずベンダーロックインを選択しましょう!


4. まとめ

特定のITベンダーの独自仕様や製品に依存し、他社製品や別システムへの変更・乗り換えが著しく困難になる状態。これがベンダーロックインです。発生原因や、回避策である標準化・オープン技術の活用とセットで完璧に覚えておきましょう!