Um sistema em tempo de execução é um engine que traduz uma determinada linguagem ou linguagens de programação em código. Muitas vezes usado como um termo vago, sistemas em tempo de execução podem ser usados para se referir aos recursos de hardware e software gerenciados coletados necessários para a execução de programas e operação.
A função principal de um sistema em tempo de execução é implementar partes de um modelo de execução para uma determinada linguagem de programação. Interfaceando tanto com funções de baixo nível, como gerenciamento de processador e memória, sistemas em tempo de execução comunicam-se com o framework de software e bibliotecas e também podem depurar, otimizar e gerar código, enquanto também impedem a execução de código com falhas através da verificação de tipo como funções de alto nível.
Por vezes um sistema em tempo de execução é parte de um sistema operacional (SO), mas pode ser instalado junto com um ambiente em tempo de execução como o Java (JRE). RTEs também podem ser parte de um arquivo executável codificado por um compilador como no caso das linguagens C.
Ver também: runtime