Computing Basics: Match Term to Definition/Role List I A. Firmware B. Compiler C. Assembler D. Virtual addressing List II Converts a program in a high-level language to machine language Converts an assembly-language program into machine language Software embedded in hardware (non-volatile, device-resident) Grouping/translation of addresses across different memories (logical to physical)

Difficulty: Easy

Correct Answer: A-3, B-1, C-2, D-4

Explanation:


Introduction / Context:
Knowing the roles of firmware, compilers, assemblers, and virtual addressing is foundational for systems programming and embedded design. These terms describe how software is built and how memory is abstracted by operating systems and hardware.


Given Data / Assumptions:

  • Firmware resides in ROM/flash and tightly couples to hardware.
  • Compilers translate C/C++/Java-like source to machine code (often via assembly/object code).
  • Assemblers convert symbolic assembly mnemonics to opcodes.
  • Virtual addressing maps process-visible addresses to physical memory via MMUs/page tables.


Concept / Approach:

Each List I term has a canonical definition that unambiguously matches a List II description, focusing on the principal function rather than implementation details such as intermediate representations or linkers.


Step-by-Step Solution:

A (Firmware) → device-resident software in non-volatile memory ⇒ 3.B (Compiler) → high-level language to machine code ⇒ 1.C (Assembler) → assembly mnemonics to machine code ⇒ 2.D (Virtual addressing) → maps logical addresses across memories ⇒ 4.


Verification / Alternative check:

Toolchains: source → compiler → object → linker → executable; low-level .asm → assembler → object. Operating systems expose large virtual memory spaces; MMU translates to physical frames.


Why Other Options Are Wrong:

Swapping compiler and assembler misunderstands abstraction levels. Firmware is not a translator; it is deployed software integral to hardware. Virtual addressing is not compilation; it is memory indirection and protection.


Common Pitfalls:

Conflating firmware with microcode (internal CPU control store) or drivers (host OS software). Also, assuming assemblers optimize like compilers; assemblers mostly map mnemonics directly to opcodes.


Final Answer:

A-3, B-1, C-2, D-4

More Questions from Matching Questions

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion