开发一款操作系统难吗?国产操作系统红旗去年就陷入了财务危机,现在正以1800万的底价寻求出售。同时,韩国那边爆出了抵制微软,开发国产操作系统的消息。作为现代人数字化生活的基础,操作系统其重要性不言而寓。操作系统是人与机器之间的翻译,他将机器的语言翻译成人们可以方便操作的图形、文字。同时又将人的需求,翻译成机器指令以便处理。人和计算机硬件的所有交流,都通过操作系统这个中间人进行处理。
人不喜欢让一个陌生人掌握着自己的命运,于是就有很多的国家机构前仆后继的开发自己的操作系统。但真正的成功者却寥寥。目前市面上可见的主流操作系统供应商估计用一只手就可以数过来了。
为什么开发一款操作系统就那么难呢?
1、极度复杂
微软2005年发布的Windows Vista的代码行数为5000万行。我们以一张A4纸打印30行来计算,Vista的代码打出来有166万页。另外一个主流的操作系统Linux的核心代码在2008年的时候也达到了1000万行。这只是其基础系统的统计,如果算上图像化界面等外围系统,其代码规模不会比Windows少太多。
2、耗资巨大
商业周刊曾经对Vista的开发费用进行了估算,预计其所花费的研发费用超过了200亿美元。200亿相当于人类史上最伟大的科学计划之一"阿波罗登月计划”的费用"。虽然时代不同,但要知道微软是一个商业公司,而“阿波罗计划”是美元动用了一国之力才得以支撑的科研项目。 Linux虽然是一个开源免费的操作系统,但免费并不代表没有成本。相反,全世界非常多的个人组织都对Linux开发进行了的大量投入。2008年,Linux基金会的一项研究表明,发Linux社区发行版Fedora 9要花大约108亿美元。这个费用并不比微软的操作系统所花费的费用低太多。
3、需要有大量的外围厂商支持
操作系统只是计算机使用的基础,在操作系统之外,外围的软硬件设备支持决定了操作系统的成败。乔布斯在回归苹果的同时,除了向微软借了1.5亿美元的资金以外,同时让微软承诺在接下来的 5 年里,向 Mac 提供 Office 办公套件。由于Office几乎是最重要的商业生产力套件,缺少Office的MAC是几乎不可能获得大规模被使用的。这条承诺给苹果保驾护航,使其优秀的操作系统重新走上了复兴之路。 iOS之所以成功,也是因为其最早在业界建立了完整的软件生态系统。2013年底,苹果应用商店的应用已经突破100万款。
4、强网络效应,新系统难以突围
一个操作系统的生态越完善,其支持的软硬件厂商就越多,其价值就越大,用的人就越多(即所谓的网络效应)。这种网络效应形成了很高的替换成本,这种成本高到即使是该系统的原有生产商都很难说服用户切换新操作系统。
很多企业和个人都在老操作系统上积累了大量软件和数据,迁移到新系统很可能导致软件失效,数据丢失,如果没有刚需推动,很难让使用者有替换系统的动力。
Winx XP就是这样一个例子。由于该系统太成功,导致XP成为微软日后新系统最大的竞争对手。韩国政府也是因为微软停止对xp的更新才考虑自己开发系统。
苹果CEO库克在参观苹果工厂时,其生产线的的iMAC竟然也跑着Windows,被网友吐槽。这其中的原因也是由于Windows安装基数太大,很多工业软件只提供Windows版的控制软件。如果硬要换成MAC的话,估计整个生产线都得更换掉了。
做一款成功的操作系统是非常难的,在一个稳定的环境中很难有新的操作系统脱颖而出。但当大时代来临的时候,新的操作系统便有了其突围的机会。
在微软霸占桌面系统的时候,网络时代到来了。由于Linux天然的对网络良好的支持,Linux在数据中心成为了主流。在移动大潮来临的时候,iOS和安卓顺势而上,占领了制高点。
做一款操作系统,并不是简单的国家意志和金钱可以驱动的,它需要天时地利的配合,才有可能真正的成功。
开发一个Windows级别的操作系统难度有多大?
作为曾经的码农来回答一下
开发一个类似win的成熟的桌面级操作系统,难度高过众所周知的曼哈顿计划和登月计划,是不是觉得有些夸张?但事实可能就是这样。
vista代码行数5000万行,打印出来是170万页A4纸,耗资超过200亿美元,这还是有了微软那么多年积累,只开发vista的费用,win7 4000万行,win10数据没有公布,但行业预估在5000到7000万行。
win7公开的开发工作人数是23个小组,每个小组约40人,分别负责windows中的每个模块的开发,比如设备和媒体,文件系统,桌面图形等等,这还是在vista基础上的开发,并不是从头开发。
windows的发展已经有了30年,中间的积累,走的弯路都不是外人可以轻易得知的。
我国的自助操作系统,实际都是开源系统的二次开发,远不是从0开始的建设,而且软件的开发并不是1+1=2那么简单。不是说你能盖5层楼,我给你投两倍人力物力你就能盖出十层楼来。
说个有趣的小故事吧,微软的excel现在已经成为了祖传代码,里边存在很多无用代码,但微软自己都不敢把excel重新写一遍。
半个月可以写出一个电脑操作系统吗?
作为一名计算机专业的同学回答这个问题:可以个锤子。理由如下:windows 7操作系统,据微软官方给出的数据,就有超过5000万行代码,并且这套操作系统是微软的平均约40人的25个研发小组历时三年研发出来了,这还只是常规固定的研发团队,但据微软的数据,其实参与到这项工作中,并且是主力研发人员和支持工程师其实已经超过了2500人,研发投入超过了20亿美金,要知道在windows之前已经有了windows XP和windows vista的技术积累,而且windows很多核心代码其实并没有推到windows vista等技术重建。
绝大多数人对于半个月写出一个电脑操作系统这件事都是嗤之以鼻,认为这是根本没有可能的一件事情。
因为目前除了Windows、MacOS、Linux外,绝大多数的操作系统都是基于开源操作系统Linux进行二次开发的。二次开发的代码量不会超过操作系统总代码量的1/10,而且会远远小于这个数值,一般不会超过1/100。这里的开发单位包括了大型以及超大型企业、绝大多数的 科技 单位及院校。
但我们可不可以换一种思路想一想:有谁规定只有做到Windows、MacOS、Linux这样的程度才能叫操作系统呢?难道房子的模型就不能称作房子吗?
如今华丽的Windows 10操作系统也是从最初简陋的DOS系统发展而来。不积跬步无以至千里,想要一个普通的程序员在短期的时间内做出一个媲美Windows、MacOS、Linux界别的操作系统根本不可能,那是无数人几代迭代出来的结果,要不然怎么可能还不出现第四大操作系统。
做一个产品级的操作系统(OS)确实不是一己之力能够实现的,也不是一朝一夕就可以完成的。但做一个Toy级的操作系统玩一玩并没有那么困难。这不日本的川合秀实编写了一本《30天自制操作系统》的书,来告诉大家编写一个操作系统并不是一个难于上青天不可挑战的事情,实际上是没有人能将这件事讲述得通俗易懂而已。
这样一个操作系统只有40KB,虽然简陋,但已经是一个真正意义上的操作系统了,实现了图形界面、多任务等等高级功能。假如跟着做一遍,抄抄他的代码,半个月写出一个电脑操作系统也并不是什么难事。如果一开始就想开发出像Windows、MacOS、Linux这样的庞然大物,好比盲人摸象,连个脉络都摸不清楚。但是如果从一个简单的初级的操作系统开始写起,某一天变成一个举世闻名的操作系统也并不是没有可能。
开发一个成熟的商业系统为什么就这么难?拿我们常用的Window10来说,它的代码在2500万~6500万行,合理估计读完需要130年左右。
最初的Windows版本也仅仅是存放在1.4MB的3.5英寸软盘上,而如今的Windows10 安装包就有好几个GB,安装完的系统占用直逼20GB。
造成这样的原因一点也不难理解:假如一个上班族收入提升了10倍,它依然会为钱发愁。随着他收入的增加,消费的等级也会随之提升,消费的等级哪怕仅仅只是提升了一点点,开销就会提高到好几倍。很多年入成百上千万的家庭照样觉得钱不够花,因为他们住着更大的房子、开着更好的车,孩子也受着更好的教育。
假如现在让你用过去的dos系统和老人机,你肯定不愿意。对于电脑而言,哪怕鼠标实现一个简单的特效功能都需要大量的程序代码和数据做支撑,更别提那些办公、 游戏 、制图、3D之类的应用。电脑的硬件性能每年都在跟随着“摩尔定律”呈现指数级别的提升,但很快就会被随着增加的程序代码迅速淹没,这就是著名的“安迪·比尔定律”。
一个操作系统商业化成功的很重要一个原因就是:能否建立完善的生态系统。如果没有人使用,也就基本上没有几个开发人员会基于这个操作系统进行软件开发,如此就会产生恶性循环。微软(Microsoft)的Windows能占据80%以上的桌面操作系统很大一部分原因是基于x86架构的Wintel硬件产商生态链和软件生态系统。
总结写一个成熟的商业操作系统确实是难于上青天,但并不代表第四大操作系统不会诞生。我们需要曲线救操作系统,用自己的兴趣爱好编写一个五脏俱全能运行的操作系统,然后逐渐地去完善它。
光自己瞎琢磨还不够,这个简陋的操作系统极有可能会成为抛砖引玉的这块砖。实际上Linux就是这样成为三大操作系统之一的。众人拾柴火焰高,假如全世界70亿人口中的1亿人参与到这个简陋的操作系统的完善进程中,那么几十年的时间做出一个成熟的商业操作系统也并不是不可能。
以上个人浅见,欢迎批评指正。
怎么可能呢?电脑操作系统是非常庞大而复杂的工程,如果半个月都能写出电脑操作系统的话,那么win系统还能一统天下吗?
熟练的话可以半个月完成一个具备基本功能的操作系统,对于高手来说完成操作系统包含窗口功能、移植网络功能也是可能的,只要一个人。需要基本功比较扎实,我等普通程序员是做不到的,但能达到这水平的程序员即使在国内也有一些。
当然,操作系统有很多分类,侠义上广义上有不同的定义,每个人的理解也不一样。现代大众理解的通用型操作系统半个月基本不可能完成,人多也没用。
很多人觉得国内没有完全自主的操作系统,其实是有的,只是应用生态不行,并不是技术上做不到。高校和科研机构也有很多技术积累,这里还是希望国产系统能发展起来。
我觉得可以,我大学有一个舍友,电脑非常厉害,有一次,我的电脑坏了,让他来帮我看。他来了,三两下就搞好我电脑了,然后无聊,对着我说要玩一下我的电脑,然后就定定坐在那里敲代码,我偷偷看过去,他敲的代码都是0101这种的,反正我也看不懂,就先睡觉了。半夜起床,看到他还在敲,一样是010101这种,我和他说,夜深了早点休息,他不理我,我继续睡。第二天起来,发现他不见了,电脑室关闭的。我开电脑,感觉不对劲,从开机到进入系统,完全和之前不一样!忽然手机有短信发过来,是他的,他说,昨晚我帮你重新写了一个操作系统,你之前的操作系统太low了!
作为一个工作多年的老码农,从专业的角度来分析下这个问题,然后自然会得到答案。
首先要明确一下什么是操作系统,从理论上来讲操作系统就是能驱动计算机运行并管理相关软硬件的一套软件,从实际的角度来讲,比较优秀的操作系统有Unix,Linux,MacOS,Windows以及Andriod等,这些都是一些大型的操作系统,除此之外还有一些嵌入式操作系统,相对来说规模会小一些。
下面让我们分情况讨论。
对于大型专业操作系统,别说半个月就是半年,想写出类似的操作系统都是不可能的事情,原因很简单,这些操作系统太复杂了,光是源代码和文档都是以G计的,这是什么概念?要知道1G大约能保存5亿个汉字的内容,所以,就是光把这些操作系统的源代码读一遍,可能都得数年时间,还不算是否理解,写的话就更不可能。实际上以公开的资料看,Windows系统的开发人员超过数千人,而且平均也要三到五年才能发布一款合格的操作系统。
对于一个简单的非专业操作系统,一般来说复杂度要低一些,开发难度相对较低,但是涉及到的基础技术并不会比专业操作系统少,所以在专业技术足够的情况下,还是有可能开发出来的,记得当年Linus开发出Linux的雏形也就用了几个月时间,不过他也是在一款叫Minix系统的基础上开发的。所以如果有一些现成的系统做参考,在此基础上开发一套新操作系统还是有可能的,不过即使一个优秀的软件工程师也不可能在半月之内开发完成。
对于嵌入式系统,特别是类似单片机等结构简单,硬件单一的系统的来说,开发一套驱动该系统的嵌入式软件还是比较简单的,如果有一些现成的框架做支撑,几个优秀的工程师还是有可能在半个月之内做出来的。
总之,想要在半个月内开发一套专业的操作系统,不管有多少开发人员,基本都是不可能的;而对于一些简单的操作系统,特别是嵌入式系统,短时间内开发出来倒是有可能,至于时间的长短则取决于系统的复杂度以及对各种硬件支持的程度等。但是想半个月开发一套真正的操作系统,我认为是不可能的事!
可用的操作系统半个月的时间足够了,好用么,不可能。
我想题主来问这个问题的目的,要么是感兴趣,一时性起问这么个问题,要么是真想动手写个操作系统。
操作系统核心部分代码其实并不多,重点就是能够提供对硬件请求,这部分代码如果熟练的话半个月搞定并不成问题的。
如果你是入门的话,那估计半个月只能是照着抄一遍吧,不太可能真的理解并灵活运用。
不过万事开头难,开头并坚持才是真正重要的,并不是我能不能超越xxx。
也许想象“要是我能和xxx一样牛就太棒了”会更好些?
看你的操作系统是什么概念,如果是当初Linus写的Linux 0.1那么简单的系统,本个月加加班理论上也可以写出来。但是如果是Windowa这种,也基本上不可能。写这种系统,是一个系统工程。
就现在这个 科技 水平和人类智商,没有一个人能在半个月内写出一个真正的操作系统。
首先,说一下操作系统是什么?操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。
操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。
操作系统是电脑与用户之前沟通的桥梁,用户的输入的任何命令都需要操作系统进行转化电脑能识别的语言,没有配置操作系统的电脑是无法使用的。
操作系统为所有应用程序提供一个运行的环境,并将应用程序同具体硬件隔着。比如声卡,网卡,键盘,鼠标等等。没有操作系统是无法正常使用这些硬件的。
操作系统还是电脑的一个大管家,管理着计算机的各种资源,应用程序想使用计算机里这些资源,需要先向操作系统申请,由操作系统统一安排和分配,并且使用完后还要将这些资源回收回去,以便其他应用程序使用。这样才能保证计算机系统有条不紊地高效运行。
这个问题可以去问问比尔·盖茨,看他当年写出Basic花了多长时间
可以问Java之父,james gaoslin,看他写出Java花了多长时间
可以去问问Dos之父蒂姆·帕特森,看他写Dos花了多长时间
可以去问问Linus Benedict Torvalds,看他开发Linux花了多长时间
怎么会提出这么无聊的问题?关键我还答了
重磅!我国首个桌面操作系统开发者平台发布,做一个国产操作系统有多难?
重磅!我国首个桌面操作系统开发者平台发布,做一个国产操作系统是很难的,不仅需要投入大量的资金,同时也要吸引很多开发者进入,在这种技术的提升之下,才能够完成一个国产操作系统的商业化。
对于很多人来说,国产桌面操作系统是一个比较遥远的词语,毕竟我国现在的电脑操作系统,要不就是windows系统,要不就是iOS系统,这也就是我们的操作系统是被国外的操作系统垄断的的,这有一定的安全风险。在这种背景下,我国首个桌面操作系统开发者平台这才发布了,尽管做一个成熟的商用国产操作系统还有一点遥远,但是开发者平台上线了以后,相信很快就有人能够做一个完善的国产操作系统,进而能够实现国产操作系统的商用化。
一、重磅!我国首个桌面操作系统开发者平台发布
我国首个桌面操作系统开发者平台开放麒麟发布了,这是一个由国家工业信息安全研究中心开发的一个开发者平台,之后开发者可以在上面不断完善这个操作系统。这种开放平台的开源是很重要的,毕竟本来就千疮百孔,虽然没有达到商业化标准,提前放出来让大家模拟并且不断促进其学习,这能够很快地完成这个国产系统的完善。
二、做这个系统很难,但实用性堪忧
按照目前我国的技术团队来说,做一个国产操作系统是很难的,不仅要有很强的资金支持,同时也要很多开发者促进其学习完善。目前这个开发者平台开源就是想要让更多的人加入其中完善,只有在不断完善的基础之上,这才能够完成一个国产操作系统的更新和商用化。按照目前的市场来说,这一国产系统就算做出来了,最后实用性也是堪忧的,这才是值得大家担心的地方。
相关推荐: