Free Software Design and Architecture MCQs with Answers

493 Software Design and Architecture MCQs from Software Engineering, each with the correct answer and a written explanation of why it is correct. Free and unlimited, with no account needed.

Last updated

493 questions · page 6 of 25

  • A. compiler
  • B. translator
  • C. assembler
  • D. system software

Explanation: A compiler reads the complete high-level-language program and translates it into machine or object code.

Correct answer: compiler
  • A. a program that places programs into memory and prepares them for execution
  • B. a program that automate the translation of assembly language into machine language
  • C. is a program that appears to execute a source program as if it were machine language
  • D. program that accepts a program written in a high level language and produces an object program

Explanation: A compiler accepts a high-level-language source program and produces an object program that can later be linked and executed.

Correct answer: program that accepts a program written in a high level language and produces an object program
  • A. cross compiler
  • B. one pass compiler
  • C. multipass compiler
  • D. optimizing compiler

Explanation: A cross compiler runs on one computer system but generates executable code for a different target machine or platform.

Correct answer: cross compiler
  • A. F8
  • B. 03 16
  • C. 0111EF
  • D. 42 65 61 72

Explanation: The notation d#790 represents decimal 790, which is 0x0316 in hexadecimal, so the word is written as 03 16 in two-byte form.

Correct answer: 03 16
  • A. Linking
  • B. Loading
  • C. Allocation
  • D. Reallocation

Explanation: With absolute loading, the object code already contains its final memory addresses, so the loader mainly places it into memory.

Correct answer: Loading
  • A. a permanent table which lists all key words and special symbols of the language in symbolic form
  • B. assembly language version of the program which is created by the code generation phase and is input to the assembly phase
  • C. a permanent table of decision rules in the form of patterns for matching with the uniform symbol table to discover syntactic structure
  • D. consists of a full or partial list or the tokens as they appear in the program. Created by Lexical analysis and used for syntax analysis and interpretation

Explanation: The assembly-code database is the assembly-language version produced by code generation and supplied as input to the assembler.

Correct answer: assembly language version of the program which is created by the code generation phase and is input to the assembly phase
  • A. the status of each program
  • B. the priority of each program
  • C. both A and B
  • D. the information management support to a programmer using the system

Explanation: A process manager maintains information about each process, including its current status and scheduling priority.

Correct answer: both A and B
  • A. is a term that refers to the control programs of an operating system
  • B. allows multiple programs to reside in separate areas of core at the same time
  • C. allows the programmer to write base registers and displacements explicitly in the source program
  • D. is used to remember which of the general-purpose registers are currently available as base registers, and what base addresses they contain

Explanation: A base register table records which general-purpose registers are being used as base registers and the base addresses stored in them.

Correct answer: is used to remember which of the general-purpose registers are currently available as base registers, and what base addresses they contain
  • A. to build a uniform symbol table
  • B. to build a literal table and an identifier table
  • C. to parse the source program into the basic elements or tokens of the language
  • D. to recognize the major constructs of the language and to call the appropriate action routines that will generate the intermediate form or matrix for these constructs

Explanation: The syntax phase recognizes language constructs and invokes the appropriate routines to build an intermediate representation.

Correct answer: to recognize the major constructs of the language and to call the appropriate action routines that will generate the intermediate form or matrix for these constructs
  • A. IPL
  • B. JCL
  • C. Load modules
  • D. Utility programs

Explanation: JCL, or Job Control Language, lets the programmer specify job and output-processing details, including special forms required for…

Correct answer: JCL
  • A. Physically place the machine instructions and data into memory
  • B. Allocate space in memory for the programs and resolve symbolic references between object decks
  • C. Adjust all address dependent locations, such as address constants, to correspond to the allocated space
  • D. All of the above

Explanation: A loader places machine code and data in memory, allocates required space, resolves external or symbolic references, and adjusts…

Correct answer: All of the above
  • A. independent one-pass processor
  • B. independent two-pass processor
  • C. processor incorporated into pass of a standard two-pass assembler
  • D. all of the above

Explanation: A macro processor may operate independently in one or two passes, or it may be integrated into one pass of a two-pass assembler.

Correct answer: all of the above
  • A. Utilities
  • B. Languages
  • C. Operating system
  • D. All of the above

Explanation: Systems software includes operating systems, utility programs, and language-processing software such as assemblers and compilers.

Correct answer: All of the above
  • A. an interpreter
  • B. system software
  • C. applications software
  • D. an operating environment

Explanation: An interpreter translates high-level instructions and executes them, often one statement at a time, instead of producing a separate…

Correct answer: an interpreter
  • A. assembler
  • B. load and go
  • C. linking loader
  • D. cross compiler

Explanation: A linking loader combines separately compiled object modules, resolves references between them, relocates addresses, and prepares the…

Correct answer: linking loader
  • A. contains all constants in the program
  • B. a permanent table which lists all key words and special symbols of the language in symbolic form
  • C. a permanent table of decision rules in the form of patterns for matching with the uniform symbol table to discover syntactic structure
  • D. consists of a full or partial list of the tokens as they appear in the program. Created by Lexical analysis and used for syntax analysis and interpretation

Explanation: A terminal table is a permanent compiler table containing the language's terminal symbols, such as keywords and special symbols.

Correct answer: a permanent table which lists all key words and special symbols of the language in symbolic form
  • A. to build a uniform symbol table
  • B. to build a literal table and an identifier table
  • C. to parse the source program into the basic elements or tokens of the language
  • D. All of the above

Explanation: Lexical analysis breaks source code into tokens and records identifiers, literals, and symbols in the relevant tables for later phases.

Correct answer: All of the above
  • A. Editor
  • B. Spooler
  • C. Debugger
  • D. All of the above

Explanation: An editor and debugger are commonly classified as utility programs that support program development.

Correct answer: Spooler
  • A. operating systems
  • B. input/output units that operate independently of the CPU
  • C. both A and B
  • D. neither A nor B

Explanation: Multiprogramming requires an operating system to manage several jobs and switch between them, while independent I/O allows the CPU to work…

Correct answer: both A and B
  • A. Allocate the CPU to a job
  • B. Specify, to the operating system, the beginning and end of a job in a batch
  • C. Read the input from the slow-speed card reader to the high-speed magnetic disk
  • D. All of the above

Explanation: JCL tells a batch operating system where a job starts and ends and describes how it should be run.

Correct answer: Specify, to the operating system, the beginning and end of a job in a batch