A runtime environment ( English runtime environment ; abbreviation: RTE or more rarely RE ), and execution environment or rare runtime environment , describes the maturity of computer programs available and conditions laid down by a specific runtime system ( English runtimesystem ). This is due to the elementary components of the programming language such as the behavior of language constructs and other functions such as type testing , debugging ,Code generation and optimization defined. At run-time environment also includes runtime library , standard libraries , APIs , runtime variables as well as hardware and software components through operating system functions.
A runtime environment loads programs developed by application programmers and lets them run on a platform for which the runtime environment was made. It thus represents a small “platform” itself on which programs can be based.
In some cases, a platform-independent and therefore portable virtual machine is part of a runtime environment. A well-known example of this is the Java programming language . The runtime environment of a Java program is called the Java Runtime Environment and combines the Java class libraries that z. B. be used for input and output, and the Java Virtual Machine , which is responsible for executing the Java bytecode .
Another example is Microsoft's .NET platform. The .NET Common Language Runtime (CLR) is (for newer Windows operating systems) the runtime environment for programs written in C # , Visual Basic .NET , J # , JScript .NET and C ++ / CLI .
Examples of the basic or basic functions of a runtime environment are:
- Reading and writing files
- Transporting data over networks
- Control input and output devices
- Manage data
- Sort and search
Examples in which runtime environments enable programs to be platform- independent are:
- Java applets by different browsers on different operating systems in different implementations of the Java runtime environments are running
- Windows programs that run with Wine on x86 and x86-64 -based Unix environments ( Linux and various BSD variants as well as Solaris )
- .NET programs that run in the .NET reimplementation Mono under Linux
- XUL programs that are executed with the XULRunner runtime environment
- Linux programs that run on UNIX operating systems such as BSD, Solaris and SCO- Unix in a specially adapted Linux environment
- IBCS programs that run under Linux using IBCS support (consisting of a kernel environment, customized system calls and runtime libraries)
- 32-bit Linux programs that run together with the associated 32-bit libraries in the 32-bit environment of 64-bit Linux kernels. The 32-bit runtime environment consists of support for the 64-bit CPUs from Intel for 32-bit code, kernel support for this 32-bit mode, 32-bit operating system calls and a 32-bit dynamic linker .
- DOS programs under OS / 2 , UNIX and Linux in DOSEMU run
- 16-bit Windows programs that run on 32-bit Windows and 32-bit Windows programs that run on 64-bit Windows