Skip to content

平成25年度 春期 ITパスポート試験 問60

This question's explanation and your answers so far.

問60
頻出度★☆☆

コンピュータで実行可能な形式の機械語プログラムを何と呼ぶか。

出典 平成25年度 春期 ITパスポート試験 問60
解説

問 60

  • Incorrectア

    An object module is a machine-language program right after compilation. It does meet the condition of being in machine language, but the addresses referring to external modules and libraries are still unresolved, so it cannot be executed on a computer by itself. To make it executable, linkage editing by the linker is required, and what that produces is the load module. It names the stage of “already machine language, but not yet an executable form,” so it is wrong.

  • Incorrectイ

    Source code is an original program written by a person in a programming language such as C or Java, and it is not machine language. A computer cannot execute it directly; it can run only after being translated by a compiler or an interpreter. It meets neither “machine language” nor “executable form” required by the question, so it is wrong.

  • Incorrectウ

    Text data is a general term for data made up only of character codes and readable by people; it is not a term that expresses an executable form of a program. Source code and configuration files are text data, but text data by itself never means a machine-language executable program, so it is wrong.

  • エ

    正解 The correct answer is エ. A load module is a machine-language program that has finished being processed by the linker (linkage editor) and is ready to run as soon as it is read into main memory. A program goes through several stages before it runs: when a compiler translates the source code written by a person, an object module in machine language is produced first. At this stage, however, the addresses of the parts that call other modules or library functions are still unresolved, so it cannot be executed on its own. The linker therefore combines several object modules and standard libraries, resolves the referenced addresses, and merges them into one unit. What is produced this way is the load module, and once the loader places it in main memory the CPU can execute its instructions. Therefore, the term for “a machine-language program in a form that can be executed by a computer” is load module.

ここがポイント
  • Keep the flow up to program execution in mind: source code → compile → object module → link (linkage editing) → load module → the loader loads it into main memory → execution.
  • The difference between an object module and a load module is “whether the address references are resolved so that it can be executed as is.” Both are machine language, but only the load module after linking can be called an executable form.
用語

Your answers