Какова роль среды выполнения? - PullRequest
1 голос
/ 11 августа 2011

В общих чертах, что такое среда выполнения и какова ее роль / назначение?

Кроме того, не могли бы вы дать мне примеры, связанные с веб?( XAMPP один?)

Ответы [ 2 ]

0 голосов
/ 11 августа 2011

Технически правильный ответ от RichColours.Однако на практике люди также называют среду выполнения всем сторонним программным обеспечением, которое необходимо для запуска приложения.

Если вы разрабатываете веб-приложение, оно также включает веб-сервер или базу данных, необходимые длязаставить ваше приложение работать.Сами среды выполнения являются языками программирования (PHP, Java, Python и Ruby), но если вы хотите запустить свое приложение, вам нужна полная среда, которая может включать в себя Apache, Passenger, Tomcat, MySQL, PostgreSQL и т. Д. Обычно дополнительные библиотеки, такие как OpenSSL, curl, libxml, может потребоватьсяНапример, я являюсь разработчиком в BitNami , и мы предлагаем полноценные среды для разработки и развертывания веб-приложений (аналогично XAMP, как вы упомянули).Большую часть времени мы называем их « стеками », но наши пользователи (и часто мы сами) также называют их средами выполнения.

0 голосов
/ 11 августа 2011

Среда выполнения может состоять из нескольких вещей.

http://en.wikipedia.org/wiki/Run-time_system говорит о некотором коде, который выполняется до того, как «написанная вами программа» действительно будет выполнена.

Они приходятразличные уровни сложности.Среда выполнения C в Windows будет делать такие вещи, как создание Process и Thread для консольного приложения, захватывать и подготавливать любые переменные среды и т. Д. И вызывать функцию int main (argc, argv).Однако системы времени выполнения Java и .NET делают намного больше: они создают виртуальные машины, управляют средами с памятью.У них много потоков, один из которых в какой-то момент будет запускать ваш код.

В Java среда выполнения может взаимодействовать через объекты типа java.lang, такие как Thread.В C на Windows или Linux для этого используются внешние библиотеки.Таким образом, среды выполнения могут предоставлять функциональность в некоторых случаях, но не в других.

Вероятно, одна из очень немногих программных систем, в которых среда выполнения не имеет, является примером встроенных систем «с нуля».Здесь код C написан, зная, что НЕТ операционной системы, планировщика, концепции процесса или потока, приглашения DOS, менеджера памяти, чего угодно.Однако обычно существует некоторый стандартный код C, который связан и запускается непосредственно перед выполнением точки входа main ().Это, вероятно, написано на ассемблере и инициализирует стек.

Re XAMPP, на самом деле это не среда выполнения, потому что это просто набор серверных пакетов.Любой код, который вы пишете, написан на PHP, Perl или в базе данных MySQL.PHP и Perl, возможно, имеют собственные среды выполнения, в которых выполняется код скрипта.Но нет, XAMPP, я бы сказал, не является средой выполнения.

Страницы ASP.NET и Java Server (или как там это называется в настоящее время - серверная часть Java, которая раньше была в Glassfish - Java EE, этоэто!) предоставляет среды выполнения для написанного вами кода.

...