- Runtime
In
computer science , runtime or run time describes the operation of acomputer program , the duration of its execution, from beginning to termination (comparecompile time ). The term runtime can also refer to avirtual machine to manage a program written in acomputer language while it is running. Run time is sometimes used to meanruntime library , a library of basic code that is used by a particularcompiler but when used in this fashion, runtime library is more accurate.A runtime environment is a
virtual machine state which provides software services for processes or programs while a computer is running. It may pertain to the operating system itself, or the software that runs beneath it. The primary purpose is to accomplish the objective of "platform independent" programming.Runtime activities include loading and linking of the classes needed to execute a program, optional machine code generation and dynamic optimization of the program, and actual program execution.
For example, a program written in Java would receive services from the
Java Runtime Environment by issuing commands from which the expected result is returned by the Java software. By providing these services, the Java software is considered the runtime environment of the program. Both the program and the Java software combined request services from the operating system. The operating system kernel provides services for itself and all processes and software running under its control. The Operating System may be considered as providing a runtime environment for itself.Implementation details
In most cases, the operating system handles loading the program with a piece of code called the loader, doing basic memory setup and linking the program with any dynamically linked libraries it references. In some cases a language or implementation will have these tasks done by the language runtime instead, though this is unusual in mainstream languages on common consumer operating systems.
Some program debugging can only be performed (or are more efficient or accurate) when performed at runtime. Logical errors and
array bounds checking are examples. For this reason, some programming bugs are not discovered until the program is tested in a "live" environment with real data, despite sophisticated compile-time checking and pre-release testing. In this case, the end user may encounter a "runtime error" message.Early runtime libraries such as that of
Fortran provided such features as mathematical operations. Other languages add more sophisticated memory garbage collection, often in association with support for objects.More recent languages tend to have considerably larger runtimes with considerably more functionality. Many object oriented languages also include a system known as the "dispatcher" and "
classloader ". TheJava Virtual Machine (JVM) is an example of such a runtime: It also interprets or compiles the portable binary Java programs (bytecode ) at runtime. The .NET framework is another example of a runtime library.Application errors — exceptions
Exception handling is one language feature designed to handle runtime errors, providing a structured way to catch completely unexpected situations as well as predictable errors or unusual results without the amount of inline error checking required of languages without it. More recent advancements in runtime engines enableAutomated Exception Handling which provides 'root-cause' debug information for every exception of interest and is implemented independent of the source code, by attaching a special software product to the runtime engine.See also
*
Binding (computer science)
*Compile time andcompiling
*Interpreter (computing)
*Run-time system
*Runtime Type Information References
* Jon Byous, [http://java.sun.com/features/1998/05/birthday.html "Java technology: The early years"] . Sun Developer Network, no date [ca. 1998] . RetrievedApril 22 ,2005 .
*James Gosling , [https://duke.dev.java.net/green/ "A brief history of the Green project"] . Java.net, no date [ca. Q1/1998] . RetrievedApril 29 ,2007 .
*James Gosling ,Bill Joy , Guy Steele, andGilad Bracha , "The Java language specification", third edition. Addison-Wesley, 2005. ISBN 0-321-24678-0 (see also [http://java.sun.com/docs/books/jls/index.html online edition of the specification] .
* Tim Lindholm and Frank Yellin. "The Java Virtual Machine specification", second edition. Addison-Wesley, 1999. ISBN 0-201-43294-3 (see also [http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html online edition of the specification] ).
Wikimedia Foundation. 2010.