In the context of software, the runtime is an umbrella term that may refer to the runtime environment, runtime library, or the runtime phase in the program lifecycle. Which of the following is least related to the concept of runtime?
A. A web browser
B. A software component packaged in a DLL file
C. A cryptographic library linked by a linker
D. A process that hosts other dynamic components
Kindly be reminded that the suggested answer is for your reference only. It doesn’t matter whether you have the right or wrong answer. What really matters is your reasoning process and justifications.
My suggested answer is C. A cryptographic library linked by a linker. (or D. A process that hosts processes)
Linking a cryptographic library is a development task conducted by developers, not an activity conducted by the process at the runtime phase. Libraries linked to the main program are static components, not dynamic ones loaded at the runtime phase.
The term, runtime, may refer to the period (runtime phase) when a program is loaded into an execution environment (runtime environment) where the dependent software components (runtime libraries) can be loaded dynamically.
- A DLL, as a runtime software component, can be dynamically loaded into the main process at runtime.
- Rigorously, the statement, a process that “hosts” other processes, is inappropriate. A host process provides services to hosted components or employs the services provided by the components. It’s more appropriate to say “a process that hosts other dynamic components” to emphasize the idea of the runtime environment. The question has been revised to “a process that hosts other dynamic components.”
A program is a persisted set of instructions that can be executed to perform a specific task.
- A program is written by a programmer in a programming language.
- A program loaded into the memory for execution by the operating system is called a process.
- The collection of programs, their dependent components, and data are generally referred to as software. Software developed to solve business problems is called an application.
- There are two types of programs: script and executable.
A program written in plain text, a human-readable form is called source code. If an interpreter can execute the source code, it is also known as a script.
Some source code, aka subject code, needs to be translated into binary object code, usually machine code by a compiler. A linker can assemble multiple units of object code (the object code of the main program, its dependent software libraries, and other resources) into an executable that can be loaded into memory by the operating system and executed by the processor.
Types of Codes
- Computer program
- Runtime system
- Runtime library
- Runtime (program lifecycle phase)
- Portable Executable
- Executable and Linkable Format
- Arm Image Format
A BLUEPRINT FOR YOUR SUCCESS IN CISSP
My new book, The Effective CISSP: Security and Risk Management, helps CISSP aspirants build a solid conceptual security model. It is not only a tutorial for information security but also a study guide for the CISSP exam and an informative reference for security professionals.