# Temps d'execució

El temps d'execució (runtime en anglès) és l'interval de temps en què un programa d'ordinador s'executa en un sistema operatiu. Aquest temps s'inicia amb la càrrega en memòria principal del programa, de manera que el sistema operatiu comença a executar les seves instruccions. L'interval finalitza en el moment en què aquest envia al sistema operatiu el senyal de terminació, sigui aquesta una terminació normal, en què el programa va tenir la possibilitat de concloure les seves instruccions satisfactòriament, o una terminació anormal, en què el programa va produir algun error i el sistema va haver forçar la seva finalització.
Aquest terme se sol emprar, en oposició al terme temps de compilació, per indicar en quin dels dos moments esmentats succeeix l'acció o el fet que es descriu.
També és usat en la seva forma original en anglès per anomenar altres conceptes en informàtica:

## Entorn d'execució

Un entorn d'execució (runtime environment en anglès) és un estat de màquina virtual que subministra serveis de software per a processos o programes mentre que un ordinador s'està executant. Pot pertànyer al mateix sistema operatiu, o al programari que funciona sota d'ell. En la majoria dels casos, el sistema operatiu fa servir la càrrega del programa amb una part del codi anomenada carregador, fent configuració bàsica de memòria i enllaçant el programa amb qualsevol biblioteca de vincles dinàmics a la qual faci referència. En alguns casos un llenguatge o implementació farà aquestes tasques en lloc del runtime del llenguatge, tot i que és inusual en els llenguatges principals sobre els sistemes operatius d'usuaris normals. Certa depuració de programes només es pot fer (o ser més eficient o necessita) quan es realitza en execució. La comprovació d'errors lògics i límits de arrays són alguns exemples. Per aquesta raó, alguns errors de programari no són descoberts fins que el programa és provat en un entorn "en viu" amb dades reals, tot i comprovació en temps de compilació sofisticada i proves prèvies a la publicació. En aquest cas, l'usuari final pot trobar un missatge d'"error en temps d'execució" (runtime error en anglès).

## Biblioteca runtime

Una biblioteca runtime és un conjunt de funcions d'utilitat les quals suporta un programa mentre s'està executant, treballant amb el Sistema Operatiu per subministrar facilitats com ara funcions matemàtiques, entrada i sortida. Aquestes eviten als programadors el treball de reescriure contínuament les capacitats bàsiques especificades en un llenguatge de programació o subministrades pel sistema operatiu.
Les primeres biblioteques runtime van ser les que subministrava Fortran les quals donaven característiques com operacions matemàtiques. Altres llenguatges van afegir recollida d'escombraries de memòria sofisticada, sovint en associació amb suport per a objectes.
Els llenguatges més recents tenen a tenir runtimes més grans amb més funcionalitat encara. Molts llenguatges orientats a objectes també inclouen un sistema conegut com un dispatcher (despatx) i un classloader (carregador de classes). La Java Virtual Machine (JVM) és un exemple de tal runtime: Això també interpreta o compilant el bytecode dels programes Java binaris portables en runtime. El framework. NET és un altre exemple de biblioteca runtime.
El maneig d'excepcions és una característica del llenguatge dissenyada per manejar els errors en temps d'execució, subministrant una forma estructurada d'atrapar (catch) situacions completament inesperades i també errors predictibles o resultats inusuals sense la complicada comprovació d'errors requerida dels llenguatges que no tenen aquesta característica.

## Exemple

Un programa escrit en Java, rebria serveis des del Java Runtime Environment emetent ordres pels quals es torna el resultat esperat pel programari Java. Subministrant aquests serveis, el programari Java es considera un entorn runtime del programa. Tots dos el programa i el programari Java combinar peticions de servei des del sistema operatiu. El nucli del sistema subministra serveis per a si mateix i per a tots els processos i programari que està executant sota el seu control. El Sistema Operatiu pot ser considerat com que subministra un entorn per si mateix.

## Vegeu també

* Enllaçador
* Biblioteca (informàtica)
* Temps de compilació