Can some one explain what it means in simple terms. Does it mean the environment (DOS, Windows, Linux, etc) where the application codes are run?
What is run time environment?
80.7k views Asked by rockbala AtThere are 8 answers
As soon as a software program is executed, it is in a run-time state. In this state, the program can send instructions to the computer's processor and access the computer's memory (RAM) and other system resources. RTE allows the program to be run in an environment where the programmer can track the instructions being processed by the program and debug any errors that may arise. While developers use RTE software to build programs, RTE programs are available to everyday computer users as well,e.g software such as Adobe Flash Player
The runtime environment can also be a virtual machine, such as the JRE (Java Runtime Environment) or CLR (Common Language Runtime) for .NET framework.
What is the target of your program? Does the program run on top of the JRE, CLR? Or are you compiling into a binary file that is run by your operating system?
The main question is what is that target of your program. How will your program be executed?
Distinguish this from Development Environments and Build Environments.
You will tend to find a hierarchy here.
Run time environment - Everything you need to execute a program, but no tools to change it.
Build environment- Given some code written by someone, everything you need to compile it or otherwise prepare an executable that you put into a Run time environment. Build environments are pretty useless unless you can see tests what you have built, so they often include Run too. In Build you can't actually modify the code.
Development environment - Everything you need to write code, build it and test it. Code Editors and other such tools. Typically also includes Build and Run.
I am working on compilers and the Runtime environment means ,it is the structure of the target computers registers and memory that serves to manage memory and maintain information needed to guide the execution process.
infact, almost all programming languages use one of three kinds of runtime environment,whose essential structure does not depend on the specific details of the target machine.
These three kind of runtime environmenta are
- fully static environment( example FORTRAN77)
- stack-based environment(C,C++)
- Fully dynamic environment(LISP)
Simple and Generic definition
Let's not make it so complicated, in context of software engineering a runtime environment is simply an environment that a piece of software needs to run.
For example you might have Googled PC Requirements for GTA-V and you found the following answer:
Minimum System Requirements:
- OS: Windows 8.1 64 Bit, Windows 8 64 Bit, Windows 7 64 Bit Service Pack 1
- Processor: Intel Core 2 Quad CPU Q6600 @ 2.40GHz (4 CPUs) / AMD Phenom 9850 Quad-Core Processor (4 CPUs) @ 2.5GHz
- Memory: 4GB
- Video Card: NVIDIA 9800 GT 1GB / AMD HD 4870 1GB (DX 10, 10.1, 11)
- Sound Card: 100% DirectX 10 compatible
- HDD Space: 65GB
What are these? These are the environment variables which you need to run GTA-V, another way to say the same thing is:
This is runtime environment
for GTA-V.
Take example of Node.js, when you say Node.js is JavaScript runtime environment you simply mean that Node.js provides everything
(from software perspective) to run JavaScriptic code on the hardware (Mobiles, Laptops, etc). That everything
includes interfaces to the Operating Systems of that particular hardwares.
Note: Both of the below statements are correct:
- Node.js is JavaScript runtime environment (RTE).
- Node.js and OS on which Node.js is installed makes Runtime Environment for JavaScript.
Technical definition
Runtime environment, primarily implements portions of an execution model.The execution model
specifies the behavior
of elements of the language. By applying the execution model, one can derive the behavior of a program that was written in terms of that programming language.
Ok I know that console.log("Hi")
shows me hi
on the console
, but how this behaviour
of that particular string (console.log) is achieved?
Some or all the underlying steps
which were taken between
the execution of code and logging of the output constitue runtime environment
.
To add to the other answers given, I would say that Runtime environment is an environment, which supports the execution of a program/process. A program, for being able to execute, requires runtime environment. Runtime environment provides following services to the program/process :-
- Resident Memory
- Resources such as File, Sockets, etc.
- Environment variables
- Proper initialization
- Proper disposal.
In short, Runtime environment is for the program, what physical environment is to us. Program/process can't sustain without runtime environment.
Yes, including all the settings (like environment variables), common libraries(!), directory structure, network neighbors e.t.c