Среда выполнения (англ. execution environment, иногда «ранта́йм» от англ. runtime — «время выполнения») в информатике — вычислительное окружение, необходимое для выполнения компьютерной программы и доступное во время выполнения компьютерной программы. В среде выполнения, как правило, невозможно изменение исходного текста программы, но может наличествовать доступ к переменным окружения операционной системы, таблицам объектов и модулей разделяемых библиотек.

Взаимодействие со средой выполнения для интерпретируемых языков программирования реализуется непосредственно в интерпретаторе, обеспечивающем взаимодействие конструкций языка с окружением, в котором он запущен. Для компилируемых языков взаимодействие с вычислительным окружением может реализовываться набором подключаемых разделяемых библиотек среды выполнения либо целиком в виртуальной машине, выполняющей промежуточный код, в который компилируется программа.

Термин «Runtime»

править

Термин runtime в информатике и программировании имеет два взаимосвязанных значения.

1. Runtime как время выполнения программы.
В этом значении runtime обозначает период, когда программа находится в стадии исполнения (англ. runtime phase). Термин употребляется для разграничения со стадией компиляции (англ. compile-time), когда исходный код преобразуется в машинный или промежуточный код. Ошибки, возникающие на этапе исполнения программы (англ. at runtime), называются ошибками времени выполнения (англ. runtime errors), так как они возникают именно в этот период.

2. Runtime как система выполнения.
В более узком смысле runtime используется для обозначения системы или среды выполнения (англ. runtime system или runtime environment), которая поддерживает исполнение программы и управляет её ресурсами.

Компоненты среды выполнения

править

В систему выполнения входят такие компоненты, как управление памятью, сборка мусора, обработка исключений, выполнение кода, управление потоками и другие задачи, необходимые для корректного функционирования программы. Среда выполнения может включать в себя интерпретаторы, виртуальные машины или библиотеки, которые обеспечивают взаимодействие программы с операционной системой и оборудованием[англ.].

Ссылки

править