软件本机运行意味着什么?

当人们提到运行本机软件、仿真和软件兼容性时,他们到底指的是什么?请继续阅读本机软件的概念。...

软件本机运行意味着什么?

当人们提到运行本机软件、仿真和软件兼容性时,他们到底指的是什么?请继续阅读本机软件的概念。

今天的问答环节是由SuperUser提供的,SuperUser是Stack Exchange的一个分支,是一个由社区驱动的问答网站分组。

问题

超级用户读者Thro**y很好奇以本机方式运行软件意味着什么。他写道:

I’ve been wondering what it means for software to run natively. What exactly is such software and how is it different from software that does not run natively? How can I tell if a given piece of software will run natively on my computer? Is there likely to be software already on my computer that runs natively?

请继续阅读,以获得一个极好的类比,准确地解释在给定系统上原生的含义。

答案

SuperUser contributor Deltik提供了一个奇妙的类比,强调了软件本机的意义,以及在给定系统上可能找到的其他软件类型:

A software is native to a platform if it was designed to run on that platform.

A platform usually refers to an operating system, but it can also be applied to devices such as the Nintendo Game Boy.

Using the Game Boy as an example, it gets its software from cartridges. These cartridges contain code that runs natively on the Game Boy.

Emulators are a layer that allows software designed for one platform to be run on another. For example, there are emulators that can execute images of Game Boy cartridges and allow you to play Game Boy games on your computer or even your mobile phone.

compatibility layer is kind of like an emulator. When 64-bit computers and operating systems became mainstream, they needed to be compatible with the existing 32-bit technologies. Since 64-bit and 32-bit architectures are very different, a compatibility layer is often needed to run 32-bit software on 64-bit machines. For 64-bit editi*** of Microsoft Windows, Microsoft needed to write a compatibility layer so that 32-bit programs would still work on the new 64-bit system. This is why some programs are often installed to a folder called Program Files (x86), where x86 means “32-bit”.

Compatibility layers tend to be more intimate with the native system than emulators are. VirtualBoxemulates hardware for operating systems*, and the systems that it emulates doesn’t have very much direct interaction with the host system. WoW64 is a compatibility layer in that it lets 32-bit programs run on 64-bit Windows in a more integrated way. WoW64 helps make programs compatible rather thanemulating them in an isolated environment.

translation library is a component of compatibility layers. Whenever binary code is running non-natively, a translation library helps redirect foreign, non-native calls to native calls that the system can understand. Assembly programs written for the original TI-83 might not be compatible with the newer TI-83/84 Plus calculators because some calls that made sense in the TI-83’s architecture may no longer be valid in the TI-83/84+. A translation library (probably included in shells like MirageOS) ensures that calls for the TI-83 go to the new, updated places in the TI-83/84+ calculators.

Platform-independent code is written in a language that is interpreted by something that usually runs natively. For example, PHP is a programming language that is interpreted and executed by the installed PHP binary, which has already been compiled natively for Windows, Mac, and Unix-based operating systems. The PHP code that web scripters write are independent of the platform, allowing the code to work on multiple operating systems as long as PHP is installed for those operating systems.


有什么要补充的解释吗?在评论中发出声音。想从其他精通技术的Stack Exchange用户那里了解更多答案吗?在这里查看完整的讨论主题。

 

 

  • 发表于 2021-04-11 18:47
  • 阅读 ( 227 )
  • 分类:互联网

你可能感兴趣的文章

为linux爱好者提供8个适合每个预算的礼品创意

...这一点。因此,他们在生活的其他方面可能也是这样,这意味着他们可能很难为自己买礼物。 ...

  • 发布于 2021-03-12 03:29
  • 阅读 ( 201 )

mono是什么?它如何帮助windows切换到linux?

... KeePass是一个优秀的离线密码管理器。这意味着,与LastPass不同的是,为了方便起见,您的信息不会绑定到服务器。但这可能是一个值得付出的代价,更高水平的控制在你手中。 ...

  • 发布于 2021-03-12 18:14
  • 阅读 ( 611 )

为什么java虚拟机可以帮助代码更好地运行

... 正是在这种情况下,java提供了一种新的范例,一种构建软件的新方法。在java中编程时,您的目标是虚拟机。这种机器是作为一个概念存在的,java语言提供了针对这种机器编程的接口。例如,您可以查询虚拟机的可用内存量、C...

  • 发布于 2021-03-13 07:13
  • 阅读 ( 242 )

提高虚拟机性能的6个技巧

...模式,请启用此选项以确保电脑将资源定向到虚拟机。这意味着在VM运行时冻结后台任务,这有利于主机和来宾操作系统的性能。 ...

  • 发布于 2021-03-19 02:20
  • 阅读 ( 319 )

为什么windows提供linux内核会改变一切

... 运送Linux内核会改变一切,因为这意味着您正在执行的任何Linux特定任务都将与Linux内核进行交互。这种级别的兼容性使WSL2脱离了典型VM的概念。 ...

  • 发布于 2021-03-20 05:49
  • 阅读 ( 198 )

英特尔macs与苹果silicon arm macs:你应该买哪款?

...处理计算指令的方式与即将推出的基于ARM的芯片不同。这意味着为英特尔Macs编写的软件不会在ARM上运行。 由于Rosetta项目,苹果承诺了一定程度的兼容性,但为Intel Macs编写的应用程序在ARM上不太可能有这么好的表现。 如果您希...

  • 发布于 2021-04-01 19:50
  • 阅读 ( 200 )

macs将运行iphone和ipad应用程序:下面是它的工作原理

...向前推进,将Mac系列产品过渡到基于ARM的定制处理器。这意味着iPhone和iPad应用程序将与新机型在本机上兼容,因为它们是在同一类型的处理器上运行的。 据苹果称,为iPhone和iPad编写的应用程序在基于ARM的新Mac上运行时不需要任...

  • 发布于 2021-04-02 00:14
  • 阅读 ( 223 )

软件本机运行意味着什么?

...。 问题 超级用户读者Thro**y很好奇以本机方式运行软件意味着什么。他写道: I’ve been wondering what it means for software to run natively. What exactly is such software and how is it different from software that does not run natively? How can I tell if a given piece o...

  • 发布于 2021-04-11 18:47
  • 阅读 ( 227 )

vlc现在在m1 Mac上本机运行

...包括Rosetta 2,这是一个翻译层,可以让为x86处理器编译的软件在基于Arm的较新硬件上运行得出奇地好。但对于像VLC这样的应用程序来说,性能和效率的提高是值得注意的,因为许多用户都依赖VLC来播放4K或8K的视频文件。 正...

  • 发布于 2021-04-16 19:13
  • 阅读 ( 214 )

苹果的arm Mac上挂着一个问号

...) 他们还可以在本机上运行iOS应用程序,这意味着从理论上讲,Mac从一开始就有了更多的软件选择。但在你把这些令人兴奋的承诺变成预定之前,你应该知道新电脑上还有一个大大的问号。 他们可以在本机上运...

  • 发布于 2021-04-17 07:29
  • 阅读 ( 173 )
brislab
brislab

0 篇文章

相关推荐