- This term is an acronym for Application Programming Interface.
- assembler language
- The assembler language is a programming language which can be translated very easily into machine code and data. For this project assembler languages are restricted to languages accepted by the GNU assembler program for the target architectures.
- C language
- The C language for this project is defined in terms of C11.
- The standard ISO/IEC 9899:2011.
- This term is an acronym for Change Control Board.
- Doorstop is a requirements management tool.
- This term is an acronym for Easy Approach to Requirements Syntax.
- This term is an acronym for Executable and Linkable Format.
- This term is an acronym for GNU Compiler Collection.
- GNAT is the GNU compiler for Ada, integrated into the GCC.
- This term is an acronym for GNU’s Not Unix.
- interrupt service
- An interrupt service consists of an Interrupt Service Routine which is called with a user provided argument upon reception of an interrupt service request. The routine is invoked in interrupt context. Interrupt service requests may have a priority and an affinity to a set of processors. An interrupt service is a software component.
- Interrupt Service Routine
- An ISR is invoked by the CPU to process a pending interrupt.
- This term is an acronym for Independent Software Verification and Validation.
- This term is an acronym for Requirements Interchange Format.
- This term is an acronym for Real-Time Executive for Multiprocessor Systems.
- software component
This term is defined by ECSS-E-ST-40C 3.2.28 as a “part of a software system”. For this project a software component shall be any of the following items and nothing else:
- software unit
- explicitly defined ELF symbol in a source code file
- assembler language data in a source code file
- C language object with static storage duration
- C language object with thread-local storage duration
- interrupt service
- collection of software components (this is a software architecture element)
Please note that explicitly defined ELF symbols and assembler language data are considered a software component only if they are defined in a source code file. For example, this rules out symbols and data generated as side-effects by the toolchain (compiler, assembler, linker) such as jump tables, linker trampolines, exception frame information, etc.
- software product
- The software product is the RTEMS real-time operating system.
- software unit
This term is defined by ECSS-E-ST-40C 3.2.24 as a “separately compilable piece of source code”. For this project a software unit shall be any of the following items and nothing else:
- assembler language function in a source code file
- C language function (external and internal linkage)
A software unit is a software component.
- source code
- This project uses the source code definition of the Linux Information Project: “Source code (also referred to as source or code) is the version of software as it is originally written (i.e., typed into a computer) by a human in plain text (i.e., human readable alphanumeric characters).”
This project uses the thread definition of Wikipedia: “a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.”
It consists normally of a set of registers and a stack. The scheduler assigns processors to a subset of the ready tasks. The terms task and thread are synonym in RTEMS. The term task is used throughout the Classic API, however, internally in the operating system implementation and the POSIX API the term thread is used.
A task is a software component.
- This term has the same meaning as task.
- This term is an acronym for YAML Ain’t Markup Language.