2026年版・2-7

ミドルウェア・ファイルシステム・開発ツール・OSSの一問一答

基本情報技術者試験 科目A「コンピュータシステム」から、ミドルウェア・ファイルシステム・開発ツール・OSSに関する4択問題を10問。「答えと解説を見る」を開くと、正解とその理由がその場で読めます。会員登録は不要です。

この分野の演習

全10問/解説つき・基本無料

アプリ形式で解く(全600問) コンピュータシステムの要点解説を読む
問題

上から順に解いてみてください。答えは各問の下で確認できます。科目Aの本試験と同じく、4択で出題しています。

問12-7

API(Application Programming Interface)の説明として、最も適切なものはどれか。

  • ①プログラムの誤りを見つけるため、処理を1行ずつ実行して調べるツール
  • ②ソフトウェアの機能を、他のプログラムから呼び出して使うための規約
  • ③人が書いたプログラムを、機械語にまとめて翻訳するソフトウェア
  • ④複数のモジュールを結合して、実行できるプログラムにするソフト
答えと解説を見る
正解 ②ソフトウェアの機能を、他のプログラムから呼び出して使うための規約
解説
APIは、OSやアプリケーション、Webサービスなどが持つ機能を、他のプログラムから呼び出して利用するための手順や規約(インタフェース)です。APIが公開されていれば、中身の仕組みを知らなくても、決められた方法で呼び出すだけで機能を使えます。インターネット経由で呼び出すものはWeb APIと呼ばれます。

他の選択肢が不適切な理由
・1行ずつ実行して確認するツール:デバッガのステップ実行機能の説明です。
・機械語にまとめて翻訳するソフトウェア:コンパイラの説明です。
・オブジェクトモジュールを結合するソフト:リンカ(連係編集プログラム)の説明です。

覚え方のポイント
「API=機能を借りるための窓口」。地図アプリのAPIを使って自社のWebサイトに地図を表示する、といった使い方をイメージすると分かりやすくなります。
問22-7

ディレクトリ構造において、カレントディレクトリが /usr/local のとき、相対パス ../bin/app が指すファイルの絶対パスはどれか。ここで「..」は1つ上のディレクトリを表す。

  • ①/usr/bin/app
  • ②/usr/local/bin/app
  • ③/bin/app
  • ④/local/bin/app
答えと解説を見る
正解 ①/usr/bin/app
解説
相対パスは、カレントディレクトリ(現在の作業場所)を起点にしてファイルの位置を表します。
カレント:/usr/local
「..」で1つ上へ:/usr
「bin」へ下りる:/usr/bin
ファイル「app」:/usr/bin/app
絶対パスは、ルート(/)から順にたどった完全な位置の表し方です。

他の選択肢が不適切な理由
・/usr/local/bin/app:「..」で上に移動せず、カレントの下にbinがあるとした誤りです。
・/bin/app:「..」で2つ上(ルート)まで上がってしまった誤りです。
・/local/bin/app:usrを取り除いた誤りで、ディレクトリの階層を正しくたどっていません。

覚え方のポイント
「.」はカレントディレクトリ、「..」は1つ上(親)のディレクトリです。相対パスは左から1つずつ移動していけば、必ず正しい位置にたどり着けます。
問32-7

月曜日にフルバックアップを取り、火曜日から金曜日までは毎日増分バックアップを取っている。金曜日の作業終了後の状態にデータを復元するために必要なバックアップはどれか。

  • ①火曜日から金曜日の全ての増分バックアップだけ
  • ②月曜日のフル、および金曜日の増分バックアップだけ
  • ③金曜日に取得した増分バックアップだけを使う
  • ④月曜日のフル、および火曜日から金曜日の全ての増分
答えと解説を見る
正解 ④月曜日のフル、および火曜日から金曜日の全ての増分
解説
増分バックアップは、前回のバックアップ(フルまたは増分)以降に変更されたデータだけを保存する方式です。各日の増分には、その日の変更分しか含まれないため、復元するには、フルバックアップに火曜日・水曜日・木曜日・金曜日の増分を順番に全て反映する必要があります。

他の選択肢が不適切な理由
・フルと金曜日の増分だけ:差分バックアップ(前回のフルバックアップ以降の変更を全て保存する方式)の場合の復元方法です。
・金曜日の増分だけ:金曜日の変更分しか含まれないため、全体は復元できません。
・増分バックアップだけ:土台となるフルバックアップがないため、全体は復元できません。

覚え方のポイント
「増分=前回(どれでも)からの変更」→復元にはフル+全ての増分。「差分=前回のフルからの変更」→復元にはフル+最新の差分。取るのが速いのは増分、戻すのが速いのは差分です。
問42-7

インタプリタ方式の説明として、最も適切なものはどれか。

  • ①複数のオブジェクトモジュールを結合して1つにする
  • ②原始プログラム全体を翻訳してから実行する
  • ③原始プログラムを1命令ずつ解釈しながら実行する
  • ④作成した実行形式のプログラムを主記憶に読み込む
答えと解説を見る
正解 ③原始プログラムを1命令ずつ解釈しながら実行する
解説
インタプリタは、人が書いた原始プログラム(ソースプログラム)を、1命令ずつ解釈しながらその場で実行する言語処理プログラムです。翻訳の手順を別に行わずにすぐ実行できるため、試しながら開発するのに向いていますが、実行のたびに解釈するため、一般に実行速度はコンパイラ方式より遅くなります。

他の選択肢が不適切な理由
・全体を翻訳してから実行:コンパイラ方式の説明です。
・オブジェクトモジュールを結合して1つにする:リンカの説明です。
・実行形式のプログラムを主記憶に読み込む:ローダの説明です。

覚え方のポイント
「インタプリタ=通訳(1文ずつその場で)」「コンパイラ=翻訳(全部訳してから)」。プログラムが実行されるまでの流れは、コンパイラ→リンカ→ローダの順です。
問52-7

コンパイラが出力した複数のオブジェクトモジュールやライブラリを結合して、実行可能なロードモジュールを作成するプログラムはどれか。

  • ①ローダ
  • ②デバッガ
  • ③リンカ
  • ④プリプロセッサ
答えと解説を見る
正解 ③リンカ
解説
リンカ(連係編集プログラム)は、コンパイラが出力した複数のオブジェクトモジュールや、共通に使うライブラリのモジュールを結合し、実行可能なロードモジュールを作成するプログラムです。モジュールどうしの呼出しの関係も、このときに解決されます。

他の選択肢が不適切な理由
・ローダ:作成されたロードモジュールを主記憶に読み込み、実行できる状態にするプログラムです。
・デバッガ:プログラムの誤り(バグ)を見つけるために、途中で止めたり変数の値を確認したりするツールです。
・プリプロセッサ:コンパイルの前に、ソースプログラムに対してマクロの展開やファイルの取込みなどの前処理を行うプログラムです。

覚え方のポイント
「リンカ=つなぐ(link)」「ローダ=積み込む(load)」。コンパイル→リンク→ロード→実行、という順序で覚えましょう。
問62-7

オープンソースソフトウェアのライセンスで、GPLに代表される「コピーレフト」の考え方の説明として、最も適切なものはどれか。

  • ①著作権を完全に放棄して、誰でも自由に使えるパブリックドメインにする
  • ②改変したものを再頒布するときも、同じ条件でソースコードを公開させる
  • ③ソースコードを公開せずに、実行形式のプログラムだけを無償で配布する
  • ④開発者の許可を得た利用者だけに、ソースコードの閲覧と改変を認める
答えと解説を見る
正解 ②改変したものを再頒布するときも、同じ条件でソースコードを公開させる
解説
コピーレフトは、著作権(コピーライト)を利用して、ソフトウェアの自由を守る考え方です。GPL(GNU General Public License)では、GPLのソフトウェアを改変して作った派生物を再頒布するときも、同じGPLの条件でソースコードを公開することを求めます。これにより、派生物を含めてソフトウェアが自由に使える状態が保たれます。

他の選択肢が不適切な理由
・著作権を完全に放棄:パブリックドメインの説明です。コピーレフトは著作権を放棄せず、ライセンスで条件を定めます。
・実行形式だけを無償で配布:フリーウェアの配布形態の一つで、ソースコードの公開を伴わないため、オープンソースではありません。
・許可を得た利用者だけに閲覧と改変を認める:特定の相手にだけソースコードを開示する契約の形態で、オープンソースの考え方とは異なります。

覚え方のポイント
「コピーレフト=自由を引き継がせる」。OSSは「無料で何をしてもよい」ものではなく、ライセンスの条件を守って利用する必要があります。
問72-7

Webアプリケーションを動かすためのオープンソースソフトウェアの組合せとして知られる「LAMP」の構成要素の組合せとして正しいものはどれか。

  • ①Linux、Apache、MySQL、PHP
  • ②Linux、Android、MySQL、Python
  • ③Lisp、Apache、MariaDB、Perl
  • ④Linux、Apache、MongoDB、PostgreSQL
答えと解説を見る
正解 ①Linux、Apache、MySQL、PHP
解説
LAMPは、Webアプリケーションの実行環境として広く使われてきた、オープンソースソフトウェアの組合せの頭文字です。
L:Linux(OS)
A:Apache(Webサーバ)
M:MySQL(データベース管理システム)
P:PHP(プログラム言語。PerlやPythonを指すこともあります)
データベースをPostgreSQLにした組合せはLAPPと呼ばれます。

他の選択肢が不適切な理由
・Android:スマートフォン向けのOSで、LAMPのAはWebサーバのApacheです。
・Lisp:プログラム言語で、LAMPのLはOSのLinuxです。
・MongoDBとPostgreSQL:いずれもデータベースで、Pにあたるプログラム言語が含まれていません。

覚え方のポイント
「L(OS)A(Webサーバ)M(DB)P(言語)」と役割の順に覚えると、組合せを取り違えません。
問82-7

組込みシステムの開発で、目標のシステムのCPUの代わりに接続し、CPUの動作を模擬しながらプログラムのデバッグを行うための装置はどれか。

  • ①リバースエンジニアリングツール
  • ②ロジックアナライザ
  • ③オシロスコープ
  • ④インサーキットエミュレータ
答えと解説を見る
正解 ④インサーキットエミュレータ
解説
インサーキットエミュレータ(ICE)は、組込みシステムの開発で、実際の機器(ターゲット)のCPUの代わりに取り付けてCPUの動作を模擬し、プログラムを途中で止めたり、レジスタやメモリの内容を確認したりしてデバッグを行うための装置です。ハードウェアとソフトウェアを組み合わせた状態で動作を確かめられます。

他の選択肢が不適切な理由
・ロジックアナライザ:複数のデジタル信号を同時に測定し、その時間的な変化を観察する測定器です。
・オシロスコープ:電気信号の電圧の変化を、波形として表示する測定器です。
・リバースエンジニアリングツール:既存のプログラムを解析して、設計情報などを取り出すためのツールです。

覚え方のポイント
「ICE=CPUの身代わりになってデバッグする装置」。組込みシステムの開発ツールとして頻出です。
問92-7

プログラムを実行せずに、ソースコードを解析して、コーディング規約への違反や潜在的な誤りを検出するツールはどれか。

  • ①カバレッジ測定ツール
  • ②テストデータ生成ツール
  • ③性能測定ツール
  • ④静的解析ツール
答えと解説を見る
正解 ④静的解析ツール
解説
静的解析ツールは、プログラムを実行せずに、ソースコードそのものを解析するツールです。コーディング規約への違反、初期化されていない変数の使用、到達しない処理などの潜在的な誤りを、テストの前に機械的に見つけられます。

他の選択肢が不適切な理由
・テストデータ生成ツール:テストで使う入力データを自動的に作成するツールです。
・カバレッジ測定ツール:プログラムを実行し、テストでどの命令や分岐が実行されたか(網羅率)を測定するツールです。
・性能測定ツール:プログラムを実行して、処理時間や資源の使用量を測定するツールです。

覚え方のポイント
「静的=動かさずに調べる」「動的=動かして調べる」。静的解析とコードレビューは、どちらもプログラムを実行しない検証方法です。
問102-7

ファイルシステムにおいて、同じディレクトリの中には同じ名前のファイルを置けないが、異なるディレクトリには同じ名前のファイルを置けるのはなぜか。最も適切な理由を1つ選びなさい。

  • ①ファイルは、作成された日時の順に番号で区別されるから
  • ②ファイルは、保存されている記憶装置の種類で区別されるから
  • ③ファイルは、ルートからのパスを含めた名前で区別されるから
  • ④ファイルは、中身のデータの大きさが違えば区別されるから
答えと解説を見る
正解 ③ファイルは、ルートからのパスを含めた名前で区別されるから
解説
階層型のファイルシステムでは、ファイルはルートディレクトリからの経路(パス)を含めた名前で一意に識別されます。例えば「/home/a/memo.txt」と「/home/b/memo.txt」は、ファイル名が同じでもパスが異なるため、別のファイルとして扱えます。同じディレクトリの中では、パスまで同じになってしまうため、同じ名前は使えません。

他の選択肢が不適切な理由
・作成日時の順の番号で区別:利用者がファイルを区別するのは名前(パス)です。
・記憶装置の種類で区別:同じ記憶装置の中でも、ディレクトリが違えば同じ名前が使えます。
・データの大きさで区別:大きさが違っても、同じディレクトリに同じ名前のファイルは置けません。

覚え方のポイント
「ファイルの正式な名前=絶対パス」。ディレクトリは、名前の重複を避けて整理するための仕組みです。

基本情報技術者(科目A)の対策問題(全600問)に戻る

非公式の資格試験対策サイトです。独立行政法人情報処理推進機構(IPA)とは一切関係ありません。

※本ページでは、アクセス解析(Googleアナリティクス)と、広告の配信・成果の計測(A8.net)のためにCookie等を利用し、閲覧に関する情報をGoogle LLC・株式会社ファンコミュニケーションズへ送信しています。詳しくはプライバシーポリシーをご覧ください。

※本ページの問題・解説は、生成AI(人工知能)を活用して作成しています。

【PR】