Todos los días uti­li­za­mos gran variedad de programas para llevar a cabo diversas tareas, como editar gráficos, procesar textos o realizar cálculos. Poder ejecutar estas apli­ca­cio­nes de la manera más rápida y fluida posible bajo cualquier ci­r­cu­n­s­ta­n­cia ya se ha co­n­ve­r­ti­do en la norma. Sin embargo, esto supone un reto para los de­sa­rro­lla­do­res, porque los sistemas ope­ra­ti­vos más uti­li­za­dos (Windows, macOS y Linux) difieren si­g­ni­fi­ca­ti­va­me­n­te entre sí. Además, suele haber di­fe­re­n­tes versiones del mismo sistema operativo, por lo que, en teoría, sería necesario adaptar cada programa a cada versión. Para evitarlo, los de­sa­rro­lla­do­res emplean sistemas en tiempo de ejecución.

Domain Name Re­gi­s­tra­tion
Proyecta tu marca con un gran dominio
  • Gratis SSL Wildcard para tra­n­s­fe­re­n­cias de datos más seguras
  • Gratis registro privado para más pri­va­ci­dad  

¿En qué consiste un sistema en tiempo de ejecución?

Los sistemas en tiempo de ejecución o RTE (del inglés runtime en­vi­ro­n­me­nt) reciben a veces el nombre de entornos en tiempo de ejecución, aunque suelen referirse siempre a los primeros. ¿En qué consisten?

En pocas palabras, los sistemas en tiempo de ejecución actúan como un pequeño sistema operativo y pro­po­r­cio­nan toda la fu­n­cio­na­li­dad que los programas necesitan para eje­cu­tar­se. Esto incluye desde in­te­r­fa­ces hasta elementos físicos de hardware, pasando por in­ter­ac­cio­nes del usuario y co­m­po­ne­n­tes de software.

Un runtime en­vi­ro­n­me­nt carga todas las apli­ca­cio­nes de un programa y las ejecuta en una pla­ta­fo­r­ma. Esta pla­ta­fo­r­ma pone a di­s­po­si­ción todos los recursos ne­ce­sa­rios para ejecutar el programa in­de­pe­n­die­n­te­me­n­te del sistema operativo. Por ejemplo, la re­pro­du­c­ción de co­n­te­ni­dos web de audio y vídeo sólo es posible si se dispone del sistema en tiempo de ejecución adecuado, como por ejemplo Adobe Flash Player. Si este entorno está instalado, los co­n­te­ni­dos flash del web siempre se re­pro­du­cen con la misma calidad y la misma fu­n­cio­na­li­dad, sin importar el navegador o el sistema operativo.

¿Cómo funciona un sistema en tiempo de ejecución?

A través de un sistema en tiempo de ejecución, la apli­ca­ción en ejecución in­ter­ac­túa con el runtime en­vi­ro­n­me­nt. A su vez, el sistema en tiempo de ejecución media entre el programa de apli­ca­ción y el sistema operativo. Cuando el programa se ejecuta, envía in­s­tru­c­cio­nes al pro­ce­sa­dor y la memoria del ordenador, y accede a los recursos del sistema. Así, el sistema en tiempo de ejecución incluye el hardware, el espacio de al­ma­ce­na­mie­n­to, las variables del entorno, las in­ter­ac­cio­nes del usuario y los co­m­po­ne­n­tes de software.

Hecho

El término “tiempo de ejecución” tiene dos si­g­ni­fi­ca­dos: en relación con el runtime en­vi­ro­r­me­nt, se refiere a la ejecución de un programa en un entorno de tiempo de ejecución concreto. No debe co­n­fu­n­di­r­se con su otro si­g­ni­fi­ca­do, que se refiere al tiempo que tarda un programa en finalizar una tarea.

Un sistema en tiempo de ejecución pro­po­r­cio­na varias funciones básicas para la memoria, las redes y el hardware. El entorno de ejecución ejecuta estas funciones en lugar del programa e in­de­pe­n­die­n­te­me­n­te del sistema operativo. Entre ellas, se incluyen tra­n­s­fe­rir datos a través de las redes y controlar los di­s­po­si­ti­vos de entrada y salida, así como leer, editar, buscar, organizar o ad­mi­ni­s­trar archivos.

Nota

Cada módulo de un sistema en tiempo de ejecución se almacena en las llamadas bi­blio­te­cas de tiempo de ejecución. En Windows, se reconocen por la extensión .dll (del inglés dynamic link library, o bi­blio­te­ca de enlaces dinámicos), mientras que en Unix llevan la extensión .so (shared object, u objeto co­m­pa­r­ti­do).

Como usuario, puedes sacar mucho partido a los sistemas en tiempo de ejecución, porque permiten ejecutar los programas en cualquier sistema operativo, ac­ce­die­n­do a todas las funciones ne­ce­sa­rias. Los programas también tienen una interfaz de usuario idéntica, in­de­pe­n­die­n­te­me­n­te de si se ejecutan en Windows, macOS o Linux. Los de­sa­rro­lla­do­res utilizan los sistemas en tiempo de ejecución para probar las apli­ca­cio­nes mientras se ejecutan. En caso de error, el entorno de ejecución informa del motivo del fallo o el mal fu­n­cio­na­mie­n­to. También los fra­me­wo­r­ks se incluyen entre los sistemas en tiempo de ejecución. Estos marcos si­m­pli­fi­can el de­sa­rro­llo de software y pro­po­r­cio­nan un entorno en tiempo de ejecución con el que probar las apli­ca­cio­nes diseñadas.

Consejo

Si una apli­ca­ción se basa en un sistema en tiempo de ejecución, este sistema será un requisito para poder eje­cu­tar­la co­rre­c­ta­me­n­te.

¿Qué ventajas ofrece un runtime en­vi­ro­n­me­nt?

Como hemos me­n­cio­na­do, los sistemas en tiempo de ejecución pro­po­r­cio­nan fu­n­cio­na­li­dad mu­l­ti­pla­ta­fo­r­ma para ejecutar las apli­ca­cio­nes. Esto si­m­pli­fi­ca el de­sa­rro­llo de programas, porque no hay que ada­p­tar­los a cada sistema operativo y cada versión del mismo. Si un programa se ejecuta en un runtime en­vi­ro­me­nt, los usuarios de todos los sistemas se be­ne­fi­cian de las mismas funciones y de una interfaz casi idéntica.

Otra ventaja es que se ahorran recursos: varias apli­ca­cio­nes similares pueden utilizar el mismo sistema en tiempo de ejecución y compartir co­m­po­ne­n­tes comunes.

Ejemplos conocidos de sistemas en tiempo de ejecución

Uno de los mejores ejemplos de sistema en tiempo de ejecución es Java: para ejecutar programas Java, se requiere el sistema en tiempo de ejecución co­rre­s­po­n­die­n­te: Java Runtime En­vi­ro­n­me­nt. Por este motivo, los programas Java son en gran medida in­de­pe­n­die­n­tes del sistema operativo su­b­ya­ce­n­te y pueden eje­cu­tar­se en cua­l­quie­ra de ellos, siempre que se haya instalado este sistema en tiempo de ejecución. Como Java Runtime En­vi­ro­n­me­nt es una pla­ta­fo­r­ma de software, también se conoce como pla­ta­fo­r­ma Java. Consiste en una interfaz de pro­gra­ma­ción, una máquina virtual y varias bi­blio­te­cas de programas. El lenguaje de pro­gra­ma­ción Java se pro­po­r­cio­na en la API (ap­pli­ca­tion and pro­gra­m­mi­ng interface, o interfaz de apli­ca­ción y pro­gra­ma­ción).

Estos son otros ejemplos famosos de sistemas en tiempo de ejecución:

  • Ac­tio­n­S­cri­pt Ap­pli­ca­tion (ASAP): ofrece módulos para de­sa­rro­lla­do­res de flash.
  • Blueprint: este framework CSS tiene en cuenta los déficits de co­m­pa­ti­bi­li­dad de los na­ve­ga­do­res y facilita la op­ti­mi­za­ción de CSS. Blueprint también está di­s­po­ni­ble como tema básico de CMS para Drupal y WordPress.
  • Common Language Runtime: un sistema en tiempo de ejecución virtual para apli­ca­cio­nes .NET que in­te­r­pre­ta el lenguaje Common In­te­r­me­dia­te Language.
  • Crystal Space: es gratuito, incluye un motor 3D y se utiliza para de­sa­rro­llar juegos y otras re­pre­se­n­ta­cio­nes 3D.
  • Cygwin: un runtime en­vi­ro­n­me­nt para ejecutar apli­ca­cio­nes de Linux también en Windows, macOS y otros sistemas ope­ra­ti­vos.
  • .NET Framework: las apli­ca­cio­nes de Windows .NET solo pueden eje­cu­tar­se con este framework de Microsoft.
  • Node.js: este sistema en tiempo de ejecución de Ja­va­S­cri­pt permite el uso del script del lado del servidor. Sin embargo, el propio creador de Node.js criticó algunas de sus ca­ra­c­te­rí­s­ti­cas y de­sa­rro­lló Deno, un nuevo runtime en­vi­ro­n­me­nt más moderno y seguro para Ja­va­S­cri­pt del lado del servidor.
  • Visual Basic Runtime: requerido para muchos programas shareware y freeware.
  • WINE: este sistema en tiempo de ejecución permite ejecutar apli­ca­cio­nes de Windows en otros sistemas ope­ra­ti­vos, como Linux, FreeBSD o macOS. Sin embargo, no garantiza to­ta­l­me­n­te la co­m­pa­ti­bi­li­dad.
  • XULRunner: un sistema en tiempo de ejecución para apli­ca­cio­nes XUL como Firefox, Thu­n­de­r­bi­rd o Songbird. En principio, estas apli­ca­cio­nes también se ejecutan sin XULRunner, aunque, de cara al futuro, este entorno de ejecución común se utilizará cada vez más para ahorrar recursos.
Web Hosting
El hosting que crece con tu proyecto
  • Tiempo de actividad de 99.99 % y seguridad ga­ra­n­ti­za­da
  • Aumenta el re­n­di­mie­n­to según el tráfico de tu página web
  • Incluye dominio, SSL, e-mail y soporte 24/7
Ir al menú principal