只是想一想,如果我们必须使我们的应用程序跨平台,那么是否可以创建跨应用程序操作系统?
答案 0 :(得分:2)
没有
让我们说你去投资 - 投入大量精力 - 建立你的Uber-OS(将运行Mac应用程序,Linux应用程序,Unix应用程序,Android应用程序,i-phone应用程序,诺基亚应用程序,Symbian应用程序,SAP应用程序,Windows应用程序等)。
然后没有什么可以阻止某人编写你不支持的新操作系统。
P.S。并且有数百种(如果不是数千种)不同的手持设备用于扫描产品,重量和测量等,其中许多都有自己的OS风格。
答案 1 :(得分:1)
没有,但通过虚拟化,您可以拥有一台可以运行任何应用程序的计算机。
答案 2 :(得分:1)
技术上是肯定的,只要您将所有的范围限制为在主要操作系统上运行的所有应用程序。
理论上可以创建一个可以处理在4-5个最常见操作系统上运行的应用程序的操作系统,但所涉及的工作量将是巨大的。
每次向任何操作系统添加新功能时,您都需要将其添加到您的操作系统中 - 因此几乎无法构建,您需要一个足够大的开发团队来保持领先地位世界上最大的开发团队/团队中的4-5个。
答案 3 :(得分:1)
首先,实际上不可能成功地跟随无限数量的操作系统的发展。我们是否考虑了嵌入式操作系统?特定应用程序的一次性操作系统怎么样?如果专有操作系统无法访问文档?
然后还有 - 非常困难的,即使不是不可能的 - 合并野外使用的各种范例的问题。理想情况下,您希望操作系统服务(如剪贴板,网络或......或......)以统一的方式工作,并允许应用程序协作,就像定位到相同的操作系统一样。
(我们甚至不考虑各种与硬件相关的应用程序。)
毕竟,您还应该考虑自己的操作系统的应用程序开发是什么样的......
我想知道Gödel's incompleteness theorems这是否是一个好例子: - )
PS:那就是说,有很多项目试图弥合各种操作系统的差距:http://en.wikipedia.org/wiki/List_of_computer_system_emulators
http://en.wikipedia.org/wiki/List_of_emulators#Operating_System_emulators
答案 4 :(得分:0)
您可以使用虚拟机(例如VMWare's软件),并在同一台物理计算机上模拟多个操作系统。
答案 5 :(得分:0)
您可以通过可以运行所有应用程序的操作系统来定义什么?
应用程序主要使用更高级别的语言编写,然后转换为二进制代码,这些代码在机器架构(如Intel和PowerPC)和操作系统(如Windows或基于Unix的系统)之间有所不同。
例如,Java只是跨平台的,因为语言本身不是跨平台的(任何高级语言都是),但是因为存在用于不同体系结构和操作系统的Java虚拟机,它们抽象了底层系统的异构性。这绝对不是理论上不可能的(除了一些数学问题之外什么也没有),但是你能想象为了使这样的事情发挥作用,人们必须做些什么吗?您基本上可以在Windows中使用CygWin运行Linux程序,也可以在Linux中使用Wine运行Windows程序。所有这些都试图在您的其他操作系统(例如Linux)中创建一个小型操作系统(例如Windows核心)。这可能不是你想要的。
总而言之,我无法想象有人真的想要这样做。凭借世界上所有的钱,认真对待。更好地投资为您想要支持的操作系统编写本机应用程序。