既然开发国产操作系统最大的弊端是应用生态,那为何不开发一款能直接运行exe程序的操作系统?

舞可定天下


汽车要是能够直接在铁路上运行,那修什么高速公路?铁路和高速公路在设计上就存在巨大的差异,尽管wine的出现解决了部分Linux上运行Windows应用程序的问题,现在深度Linux上就有非常多的应用是基于wine运行的,可是终究Linux不是Windows,很多应用是专门为Windows准备的,因此想要在Linux上运行是基本不可能的。


Linux之父还是个喜欢竖中指,见谁骂谁、见谁喷谁的计算机界的史诗级喷子,他是瞧不上Windows、macOS上的那一套东西的,怎么可能让Linux原生去兼容Windows应用,即使微软愿意把自己的应用编程接口给Linux用,按照林纳斯的性格是肯定不愿意的!!!

Linux从一开始的定位就是专业用户,后来逐渐在Unix阵容中抢到了很大的服务器市场的份额,在桌面领域由于Windows和macOS已经获得了巨大的成功,Linux基本上不会有插进去一脚的可能性。

Windows是商业软件,Windows有自己的专属API

Windows本身就是一个商业软件,在1985年出现的时候,比尔盖茨带着保罗艾伦、鲍尔默去IBM谈判的时候,他们还没有Windows,不过他们很快从一个工程师手里买来了DOS,跟IBM谈妥之后比尔盖茨带着自己的创业伙伴在DOS的基础智商开发了Microsoft-DOS,逐步发展到今天这样成熟的操作系统。

Linux的出现要比Windows晚了足足七年多,而Windows从一开始就是商业软件,而且是通过OEM的方式来授权,Linux尽管是开源软件,也不敢轻易去触碰这个商业底线的,而且这些商业底线一旦被其他人利用,那么后果将不堪设想。

Linux现在不会,将来也大概率不会想办法兼容Windows软件,微软也不可能将Windows的应用接口给到Linux,除非有一天Windows也成了完全开源免费,还不受商业条款约束。Windows系统除了内核本身,EXE文件想要执行都需要跟内核通讯,内存管理、进程管理,这些全都要内核才能管理,程序和内核遵守的ABI应用程序二进制接口要一致,程序才能够正常运行,而Linux和Windows的ABI是完全不同的。

Wine的出现能够解决部分问题,不过并不完美

Wine就是为了满足在Linux、准确地说是在Linux、macOS、BSD等众多操作系统下运行Windows应用程序而产生的兼容层,Wine的全称是Wine is Not an Emulator,也就是说Wine不是模拟器,跟我们通常所说的虚拟机、模拟器不是一个道理,不过在原理上其实Wine还是应该叫做Windows Environment,只不过这玩意儿不依托于原生Windows环境,而且是完全开源免费的。

Wine支持非常多的Windows应用,大家所熟知的帝国时代、星际争霸、甚至 IE浏览器等Windows应用都曾经被移植。目前以迅雷、QQ、Adobe Photoshop为代表的Windows应用也都被移植过了,而且有不错的体验。

Wine毕竟不是完美的,很多应用都不能正常移植,移植以后同样有很多各种各样的兼容性问题,当然更大的阻碍是很多商业软件并不能支持移植,即使能够移植也不能获得官方的技术支持,肯定会存在很多问题。Linux想要借Windows的高速公路来跑自己的汽车肯定是不行的,必须构建自己的应用生态,只不过macOS和Windows太过于强大,Linux几乎没有取代的可能。


EmacserVimer


因为做不到。

对于国内软件企业,难度在哪里呢?

商业上不可行

在微软开发出早期的操作系统:DOS(Windows前身)的时候,的确存在过多种类似DOS的操作系统(比如曾经大名鼎鼎的DR-DOS),它们也可以运行EXE程序,甚至还可以提供比微软DOS更多的特性(例如快速输入命令)。

那是因为彼时的DOS操作系统,非常简单和简陋。一个商业开发公司,很容易就能完全实现其功能。

但现在的Windows操作系统,已经是一个拥有数十亿行代码量的“巨型”操作系统。完全实现其已经实现的功能,需要的顶级程序员在十万人的级别,可能需要十年乃至更多的时间。

大致计算一下,按每人每年100万元人民币的年薪,大概需要万亿级别人民币。

目前没有任何一家企业能付出如此高的投入成本。

而且,即便是付出万亿人民币实现了现在Windows的功能,这十年微软也没有闲着,和现实的差距可能仍然需要万亿人民币去填补。

有人会说,为什么要实现Windows全部功能?只要实现一部分就好了。那就不需要这么多年这么多人这么多钱。

可惜,我们很难找到只实现一部分的解决方案。不同的EXE需要不同的操作系统功能支持,操作系统不同的功能之间也有可能有相互调用。

政治上不可行

既然一个公司无法承受全面复制Windows操作系统所需要的成本,那我们能不能发挥两弹一星的模式,集中全国力量,不惜代价去实现呢?毕竟一万亿人民币也对GDP排名第二的我国来说,也只占几十分之一。

可惜,还是不可行。

首先是Windows包含了数以万计的专利,如果要全面绕过这些专利保护,难度恐怕比登月还高。

其次是大量的EXE程序开发者也是欧美的公司,它们很有可能不支持这个全面复制Windows的操作系统。

最后,现实一点的是,即便集中全国的架构师和程序员,恐怕也很难在十年之内,完全复制Windows现有的系统。


酱酱理


又搁着钓鱼呢?



离世庭院


看来你对linux一点也不了解,linux上有个wine,就可以运行exe。


专业泼开水


想法是好的,关键是别人拿着专利,授权,你只要涉及别人专利的开发,就会收到律师函,你要盈利了,就会告到你倾家荡产。所以国产系统要从头开始建设。目前国产操作系统都是基于linux开源系统开发的,


IT从业民工


你以为. exe运行在什么地方?没有Windows你运行一个试试?有的就是差dll都不行。提出这种问题的人有多愚昧?


想要熊猫898


国产操作系统如果直接开发支持微软PE格式,且不说微软会来起诉侵犯专利,兼容性就是非常大的问题。Linux上wine也只是能支持很少一部分软件


智能大石头


有微软的windows在,谁还费那事


ENED


[捂脸][捂脸][捂脸]


龙洞711


开发出来了不就是windows了嘛?


分享到:


相關文章: