半个月可以写出一个电脑操作系统吗?

作为一名计算机专业的同学回答这个问题:可以个锤子。理由如下: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亿人参与到这个简陋的操作系统的完善进程中,那么几十年的时间做出一个成熟的商业操作系统也并不是不可能。


以上个人浅见,欢迎批评指正。

认同我的看法,请点个赞再走,感谢!

喜欢我的,请关注我,再次感谢!




我觉得可以,我大学有一个舍友,电脑非常厉害,有一次,我的电脑坏了,让他来帮我看。他来了,三两下就搞好我电脑了,然后无聊,对着我说要玩一下我的电脑,然后就定定坐在那里敲代码,我偷偷看过去,他敲的代码都是0101这种的,反正我也看不懂,就先睡觉了。半夜起床,看到他还在敲,一样是010101这种,我和他说,夜深了早点休息,他不理我,我继续睡。第二天起来,发现他不见了,电脑室关闭的。我开电脑,感觉不对劲,从开机到进入系统,完全和之前不一样!忽然手机有短信发过来,是他的,他说,昨晚我帮你重新写了一个操作系统,你之前的操作系统太low了!




熟练的话可以半个月完成一个具备基本功能的操作系统,对于高手来说完成操作系统包含窗口功能、移植网络功能也是可能的,只要一个人。需要基本功比较扎实,我等普通程序员是做不到的,但能达到这水平的程序员即使在国内也有一些。

当然,操作系统有很多分类,侠义上广义上有不同的定义,每个人的理解也不一样。现代大众理解的通用型操作系统半个月基本不可能完成,人多也没用。

很多人觉得国内没有完全自主的操作系统,其实是有的,只是应用生态不行,并不是技术上做不到。高校和科研机构也有很多技术积累,这里还是希望国产系统能发展起来。




Windows Vista 系统的代码有多少你知道么?

假如把Vista 的代码用A4的纸打印出来,每张30行代码,需要打印600万多张。

假如从非要从其他平台上加入自己的东西,就说是自己的东西,那你自己开心就好。




作为一个工作多年的老码农,从专业的角度来分析下这个问题,然后自然会得到答案。

首先要明确一下什么是操作系统,从理论上来讲操作系统就是能驱动计算机运行并管理相关软硬件的一套软件,从实际的角度来讲,比较优秀的操作系统有Unix,Linux,MacOS,Windows以及Andriod等,这些都是一些大型的操作系统,除此之外还有一些嵌入式操作系统,相对来说规模会小一些。

下面让我们分情况讨论。

对于大型专业操作系统,别说半个月就是半年,想写出类似的操作系统都是不可能的事情,原因很简单,这些操作系统太复杂了,光是源代码和文档都是以G计的,这是什么概念?要知道1G大约能保存5亿个汉字的内容,所以,就是光把这些操作系统的源代码读一遍,可能都得数年时间,还不算是否理解,写的话就更不可能。实际上以公开的资料看,Windows系统的开发人员超过数千人,而且平均也要三到五年才能发布一款合格的操作系统。

对于一个简单的非专业操作系统,一般来说复杂度要低一些,开发难度相对较低,但是涉及到的基础技术并不会比专业操作系统少,所以在专业技术足够的情况下,还是有可能开发出来的,记得当年Linus开发出Linux的雏形也就用了几个月时间,不过他也是在一款叫Minix系统的基础上开发的。所以如果有一些现成的系统做参考,在此基础上开发一套新操作系统还是有可能的,不过即使一个优秀的软件工程师也不可能在半月之内开发完成。

对于嵌入式系统,特别是类似单片机等结构简单,硬件单一的系统的来说,开发一套驱动该系统的嵌入式软件还是比较简单的,如果有一些现成的框架做支撑,几个优秀的工程师还是有可能在半个月之内做出来的。

总之,想要在半个月内开发一套专业的操作系统,不管有多少开发人员,基本都是不可能的;而对于一些简单的操作系统,特别是嵌入式系统,短时间内开发出来倒是有可能,至于时间的长短则取决于系统的复杂度以及对各种硬件支持的程度等。但是想半个月开发一套真正的操作系统,我认为是不可能的事!




我给你半个月时间看你能写出Windows自带的科学计算器嘛。

我给你一个月时间,我看你能不能写出Windows自带的画图。

我给你一年的时间,我看你能不能写出Windows自带的远程桌面。

以上仅仅是普普通通的应用程序而已,看似简单的东西,个个都能要了你的小命。(不是编码量多少的问题,是跨界了,需要有行业领域的专家带着你协同编码,否则你根本不知道编码背后的逻辑。)


下面这五大件,你先品品。

硬件驱动、系统服务、文件系统、用户权限、交互UI

对于上面五大件而言,对应的开发标准和接口得有吧。不然后续如何给你的操作系统做应用开发?后面团队如何工作?

先别说开发,你就是把Windows每个拐弯抹角的功能、接口熟悉一遍,知道其逻辑关系,你就已经是高级专家了。

一个老掉牙被淘汰的IE,国内都未必有团队能搞得出来,你咋有这么大的勇气?




可用的操作系统半个月的时间足够了,好用么,不可能。

我想题主来问这个问题的目的,要么是感兴趣,一时性起问这么个问题,要么是真想动手写个操作系统。

操作系统核心部分代码其实并不多,重点就是能够提供对硬件请求,这部分代码如果熟练的话半个月搞定并不成问题的。

如果你是入门的话,那估计半个月只能是照着抄一遍吧,不太可能真的理解并灵活运用。

不过万事开头难,开头并坚持才是真正重要的,并不是我能不能超越xxx。

也许想象“要是我能和xxx一样牛就太棒了”会更好些?




看你的操作系统是什么概念,如果是当初Linus写的Linux 0.1那么简单的系统,本个月加加班理论上也可以写出来。但是如果是Windowa这种,也基本上不可能。写这种系统,是一个系统工程。




就现在这个科技水平和人类智商,没有一个人能在半个月内写出一个真正的操作系统。

首先,说一下操作系统是什么?操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。

操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。

操作系统是电脑与用户之前沟通的桥梁,用户的输入的任何命令都需要操作系统进行转化电脑能识别的语言,没有配置操作系统的电脑是无法使用的。

操作系统为所有应用程序提供一个运行的环境,并将应用程序同具体硬件隔着。比如声卡,网卡,键盘,鼠标等等。没有操作系统是无法正常使用这些硬件的。

操作系统还是电脑的一个大管家,管理着计算机的各种资源,应用程序想使用计算机里这些资源,需要先向操作系统申请,由操作系统统一安排和分配,并且使用完后还要将这些资源回收回去,以便其他应用程序使用。这样才能保证计算机系统有条不紊地高效运行。

展开阅读全文

页面更新:2024-05-07

标签:操作系统   电脑   微软   简陋   应用程序   原因   代码   简单   功能   硬件   时间   系统   专业   技术   科技   软件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top