人文艺术 > 既然开发国产操作系统最大的弊端是应用生态,那为何不开发一款能

既然开发国产操作系统最大的弊端是应用生态,那为何不开发一款能

2020-07-25 05:23阅读(119)

既然开发国产操作系统最大的弊端是应用生态,那为何不开发一款能直接运行exe程序的操作系统?:因为做不到。对于国内软件企业,难度在哪里呢?商业上不可行在微软

1

因为做不到。

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

商业上不可行

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

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

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

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

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

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

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

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

政治上不可行

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

可惜,还是不可行。

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

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

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

2

汽车要是能够直接在铁路上运行,那修什么高速公路?铁路和高速公路在设计上就存在巨大的差异,尽管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几乎没有取代的可能。

3

以前我会以为“生态”是操作系统的拦路虎。但自从这次疫情之后我就没有这种想法了。因为如果真的到了国内需要完全与国外的互联网断开,操作系统被禁用的一天,国家可以用行政命令直接强力推行国产操作系统。而国内的各个厂商因为无法使用windows,只能被迫研发国产操作系统的软件。这个情况只需要持续一年,我们就会建立起完善的“生态”系统。

所以,不是我们没能力建“生态”,也不是搞不出系统,而是目前没那个必要。

4

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

5

国产linux操作系统现在发展应用生态是在三条腿走路。

第一,现在国产linux也适配了搜狗输入法,中望CAD,wps office ,qq,百度网盘等一系列原生应用

第二,使用wine可以直接直接运行很多windows的exe程序

第三,使用xdroid可以运行所有的安卓软件,几百万个安卓软件都可以在linux电脑上以原生方式运行,目前xdroid已经做的很好很成熟了

如果觉得对您有帮助,可以多多点赞哦,也可以随手点个关注哦,谢谢!

6

看看Linux吧,二次开发20多年了,除了深度外,其他使用像狗屎一样。

你指望国内的工程师能搞出来?

winxp开发成本100亿美元,那个公司有这个勇气搞这前途未知的事情?

网卡显卡声卡主板芯片等你都要搞配套,多如牛毛一样的专利,你绕不过去。

别成天做梦了,C语言出现40多年了,没有那种语言能动摇他的地位。国内有这样牛逼的工程师吗?

一天天幻想,不如踏踏实实搞科研,哪怕是二次开发linux呢?搞出个像样的东西出来。

汽车发动机原理图纸都有,国产汽车发动机还像是一样的烂。红旗500亿搞出啥名堂了?

7

国产操作系统最大瓶颈就是应用生态,确实是这样。但是开发一款直接运行EXE程序的操作系统没必要,也不可行。原因有如下几点:

1.技术上基本无法实现。EXE(可执行)程序是微软的操作系统、编译系统、执行库等一整套环境所生成的,程序代码从编辑、编译到执行遵从了大量微软自己定义的规则,而这些规则并不通用。例如:可执行文件格式就不同(Executable)Windows下的PE(Portable Executable)和Linux的ELF(Executable Linkable Format),OS内核不同,程序的执行环境区别明显。再开发一套直接运行EXE程序的操作系统相当于开发一套完全兼容微软Windows的新操作系统,而微软的Windows系统并不是开源操作系统,Windows底层设计是商业机密,不了解Windows操作系统的底层根本不可能开发出完全兼容它的新操作系统。

2.当下现实没有必要。从0开始设计开发一款全新的操作系统是一个艰巨的任务,而目前世界上主流的操作系统除了Windows还有Linux、苹果MacOS。其中Linux就是一款开源的优秀的操作系统,在Linux基础之上衍生出了多款著名的操作系统如:RedHat,Ubuntu等。Linux的核心是Linux kernel在此OS内核之上搭配各种系统软件和应用软件可以组成新的操作系统。而且Linux+Wine(能够运行windows软件的中间层)完全可以实现在Linux操作系统中运行Windows程序。

3.目前国内多家公司联合开发出并力推的统一操作系统(UOS)的应用生态已经取得了很大进展,并不断完善之中,UOS将搭配Wine实现运行微软EXE程序在预期之中。


所以放弃直接使用一套现成的成熟开源操作系统Linux,而自己去开发一款直接可以运行EXE程序的操作系统从技术上不可行,也是极大的资源及精力浪费,没有必要。

8

中国大江南北饮食不同,北方多小麦,再往北吃肉,南方以大米为主。不论南方与北方,粮食紧张,树皮也可以吃,泥土也可以吃。。。。

因此,不是国产不行,而是有小米,小麦,为何还要吃树皮?

9

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

10

几乎所有的服装都在中国生产,但在巴黎的时装博览会上却很少有中国设计师的身影。中国人缺乏对国际文化的了解,自然也无法引领国际时尚了。操作系统的开发也一样需要引领技术创新和IT制品设计理念的潮流。

90年代,苹果电脑跟微软的操作系统就电脑是时尚家电还是通用平台的理念展开了激烈的角逐,这场角逐以微软的全胜收场。苹果差点破产。

2000年前后,林纳斯以打破微软垄断为目标提出,提出了自由软件开源软件的理念,开发了Linux。这个操作系统的理念本身并没有多大创新,只是应了当时的行业形势,得以生存下来。

2000年以后,以无线通信为核心的轻量化操作系统synbian也随着手机的普及而大行其道。2011年苹果在乔布斯的带领下,卷土重来。把手机跟个人电脑相结合,提出了移动终端的概念。一夜之间,就把synbian逐出了历史舞台。值得一提的是iOS的设计理念来自于东方的禅,追求的是大道至简。

与此同时,谷歌推出了安卓。安卓结合当年微软和Linux的理念,在众多厂商的支持下得以跟iOS抗衡。不过,谷歌推出的另一款操作系统ChromeOS,就没有这么好命了。Chrome OS主打云端的概念,想把操作系统集成到云端,只给用户轻量的终端。但貌似用户并不是很买账,毕竟这么做除了电脑比较便宜以外也没有太多的好处,反而很容易被谷歌用服务给绑架了。

中国现在正在开发麒麟OS,意在打破美国的垄断。有政府撑腰这款操作系统应该是有前途的。但是,它并没有给电脑带来一些新的理念,因此,不会超越上面那些操作系统的地位。尤其是它带有一些政治和民族色彩,不大可能成为被全世界所接受的操作系统。

操作系统的开发除了技术和营销以外,产品的设计理念更加重要。中国的技术人员一直处于学习和追赶的地位,目前对世界的文化理念和设计潮流知之甚少,要开发出世界级的操作系统还有相当长的路要走。