软件执行

科技工作者之家 2020-11-17

计算机和软件工程中的执行是计算机或虚拟机执行计算机程序指令的过程。 程序中的指令触发执行机器上的简单操作序列。 这些动作根据程序中的指令的语义产生效果。

用于计算机的程序可以在没有人工交互的批处理中执行,或者用户可以在解释器的交互式会话中键入命令。 在这种情况下,“命令”只是程序,其执行链接在一起。

术语run几乎是同义词。 “运行”和“执行”的相关含义是指用户启动(或启动或调用)程序的特定操作,如“请运行应用程序”。

执行的背景执行的上下文至关重要。很少有程序在裸机上执行。程序通常包含关于执行时可用资源的隐式和显式假设。大多数程序在操作系统和特定于源语言的运行时库的支持下执行,这些库提供不是由计算机本身直接提供的关键服务。例如,这种支持性环境通常将程序与计算机外围设备的直接操作分离,而是提供更通用的抽象服务。

过程在执行之前,必须首先编写程序。这通常在源代码中完成,然后在编译时(在链接时静态链接)将其编译为可执行文件。然后,通常由操作系统调用此可执行文件,操作系统将程序加载到存储器(加载时间),可能执行动态链接,然后通过将控制移动到程序的入口点来开始执行。所有这些步骤都取决于操作系统的应用程序二进制接口。此时执行开始,程序进入运行时。程序然后运行直到它结束,正常终止或崩溃。

翻译器执行程序的系统称为程序的解释器1。简而言之,口译员实际上做了该计划所要做的事情。这与将程序从一种语言转换为另一种语言的语言翻译形成对比。最常见的语言翻译是编译器。翻译人员通常将其源代码从高级人类可读语言转换为较低级别的语言(有时与本机机器代码一样低),使处理器直接执行更简单,更快捷。这个想法是执行与程序翻译的比例会很大;也就是说,程序只需要编译一次,并且可以运行任意次。这可以为翻译与源语言的直接解释提供很大的好处。由于编译,一个权衡是开发时间增加。在某些情况下,只需重新编译已更改的文件。然后需要重新链接可执行文件。对于某些更改,必须从头开始重建可执行文件。随着计算机和编译器变得更快,这一事实变得不那么成为障碍。而且,最终产品的速度对于用户而言通常比开发时间更重要。

翻译人员通常会产生一个完全无法执行的抽象结果。通常,操作系统会在程序开始执行之前将转换程序的目标代码转换为最终的可执行形式。

本词条内容贡献者为:

方正 - 副教授 - 江南大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。